HelloZeroNet / HelloZeroNet/ZeroNet

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

オープン
#2,476 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
JavaScript
スター
18.8k
フォーク
2.3k
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。