Skip to content

Hash comparison and sync timestamp - #31

Merged
nbenaglia merged 3 commits into
masterfrom
fix/qdn-addressbook
Feb 27, 2026
Merged

Hash comparison and sync timestamp#31
nbenaglia merged 3 commits into
masterfrom
fix/qdn-addressbook

Conversation

@nbenaglia

@nbenaglia nbenaglia commented Feb 27, 2026

Copy link
Copy Markdown
Collaborator

Closes #30:

  • Two changes to solve the issue
  • Add tests

Change 1 — Hash comparison before publishing (line 300-312)

When localLastUpdated > qdnLastUpdated, the code now computes both hashes before deciding anything. If they match, the address book content is identical and the publish is skipped entirely. The local timestamp is re-aligned to the QDN timestamp so future startups go straight to the cheaper equal-timestamps path.

qdnData.hash ?? generateHash(qdnData.entries) handles the case where older published data has no stored hash — in that case we compute it on the fly from the raw entries.

Change 2 — Sync local timestamp after a real publish (line 317-324)

When hashes genuinely differ and a publish is needed, the local lastUpdated is now written back to localStorage with the timestamp captured just before the publish. Previously this was never done, so local would always lag behind QDN and force an extra "QDN is newer" pass on the very next startup. Now both sides converge immediately.

@nbenaglia
nbenaglia merged commit a4ef202 into master Feb 27, 2026
1 check passed
@nbenaglia nbenaglia mentioned this pull request Feb 27, 2026
@nbenaglia
nbenaglia deleted the fix/qdn-addressbook branch February 27, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

QDN addressbook publishing

1 participant