2.1 KiB
Nostr Sync-State Reset and Fresh Namespace
This guide explains how to safely ignore legacy Nostr history and start syncing new data with the current SeedPass implementation.
Use this when:
- old backups were created before deterministic/key-derivation changes,
- you do not need to recover old relay data,
- you want robust publish/restore behavior going forward.
Why This Exists
SeedPass tracks Nostr sync metadata per profile (manifest_id, delta_since,
last_sync_ts) and also tracks a deterministic Nostr account namespace via
nostr_account_idx.
If historical relay data is from an older derivation behavior, carrying old manifest metadata can lead to stale sync behavior. The reset options clear that state and optionally move to a fresh deterministic namespace.
Menu Options
Open:
SettingsNostr
You now have:
8. Reset Nostr sync state9. Start fresh Nostr namespace (new key index)
Option 8: Reset Nostr Sync State
This clears only sync metadata:
manifest_id -> nulldelta_since -> 0last_sync_ts -> 0
It keeps your current nostr_account_idx unchanged.
Use this when you want to keep the current deterministic Nostr keyspace but discard stale local sync pointers.
Option 9: Start Fresh Nostr Namespace
This does everything from Option 8 and also:
- increments
nostr_account_idxby 1, - reinitializes the Nostr client for the new deterministic key index.
Use this when you want a clean break from old relay history and publish under a new deterministic namespace.
Recommended Workflow (Ignore Legacy Data)
- Choose
Settings > Nostr > 9(fresh namespace). - Run
Backup to Nostr. - On a second device/profile, use the same seed and same account index, then
run
Restore from Nostr. - Verify entry count and several known records match.
- Modify/add entries and repeat backup+restore once more to confirm deltas.
Notes
- Keep Offline Mode disabled while syncing.
- If backup fails, SeedPass now prints detailed failure reasons in the Nostr menu path, not only a generic "Sync failed".
- The sync-state file is profile-scoped at:
~/.seedpass/<fingerprint>/seedpass_state.json