HelloZeroNet / HelloZeroNet/ZeroNet

Updates of cert-based content.json's may be lost

Abierto
#2,476 5 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
JavaScript
Estrellas
18.8k
Forks
2.3k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

ZeroNet version: rev 4462, from the official docker image

### Describe the problem:

On a long-running ZeroNet instance, that periodically goes offline for long time intervals as well, I noticed, that some sites miss the content available on several fresh ZeroNet instances.

I've looked through the source code, and as far as I could understand, here is the place where we prefer to save the network traffic and time at the risk of getting an incomplete update:

```
if since is None: # No since defined, download from last modification time-1day
since = self.settings.get("modified", 60 * 60 * 24) - 60 * 60 * 24
```

So, looks like we actually get incomplete updates. On long-running instances, those incomplete updates tend to accumulate, and the user silently misses an undetermined amount of the cert-based data, such as forum posts, comments, likes etc.

#### Steps to reproduce:

Command: `zeroframe.cmd("siteUpdate", ["1TaLkFrMwvbNsooF4ioKAY9EuxTBTjipT"])`
Result: no files to update

Command: `zeroframe.cmd("siteUpdate", ["1TaLkFrMwvbNsooF4ioKAY9EuxTBTjipT", false, 0])`
Result: "Updating: 70 left"

Command: `zeroframe.cmd("siteUpdate", ["1Apr5ba6u9Nz6eFASmFrefGvyBKkM76QgE"])`
Result: no files to update

Command: `zeroframe.cmd("siteUpdate", ["1Apr5ba6u9Nz6eFASmFrefGvyBKkM76QgE", false, 0])`
Result: "Updating: 160 left"

Command: `zeroframe.cmd("siteUpdate", ["1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a"])`
Result: no files to update

Command: `zeroframe.cmd("siteUpdate", ["1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a", false, 0])`
Result: "Updating: 70 left"

And so on.

Currently, I found no way to force the core to make the full update from UI.

* ZeroHello -> site -> Update doesn't work. (Fetches no missing files.)
* ZeroHello -> site -> Check files doesn't work either.

The only way to force the full update is to run `zeroframe.cmd("siteUpdate", ["address", false, 0])` from the browser console.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.