feat(desktop): sync encrypted drafts across devices

Persist drafts locally while synchronizing NIP-37 encrypted events when the relay advertises support.

Use opaque, secret-derived addresses and durable tombstones to protect compose context and offline deletes.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
This commit is contained in:
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7
2026-07-13 11:21:17 -04:00
co-authored by Will Pfleger
parent c36448ef3e
commit bb28f59908
16 changed files with 1055 additions and 10 deletions
+3 -1
View File
@@ -191,7 +191,9 @@ const overrides = new Map([
// added to RawAcpRuntimeCatalogEntry + fromRawAcpRuntimeCatalogEntry mapper (+8).
// codex-install-auto-restart: restarted_count + failed_restart_count added to
// RawInstallRuntimeResult + fromRawInstallRuntimeResult mapper (+2).
["src/shared/api/tauri.ts", 1282],
// NIP-37 synced drafts: Tauri bridges for capability gating and opaque
// secret-derived draft addresses. Both preserve the key boundary.
["src/shared/api/tauri.ts", 1298],
// doctor-npm-eacces-preflight: hint field added to InstallStepResult (+1 line).
// codex-acp-package-swap: "adapter_outdated" variant added to AcpAvailabilityStatus (+1 line).
// doctor-install-reliability: AuthStatus tagged union + nodeRequired/authStatus/