mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Scoped retention databases (retention/<relay+owner hash>.db) read a different file than the pre-scoping global retention.db, so an upgrade abandoned every row the previous release left pending — including signed kind:5 tombstones and NIP-IA archive requests queued while offline, which no reconcile can rebuild. The relay kept deleted heads and another device could resurrect them. The copy is claimed by exactly one relay scope (the legacy rows were queued for one relay, so fanning them out to every community would reintroduce the cross-community leak scoping exists to close) and commits its completion marker in the same transaction as the rows, so a crash mid-copy neither double-applies nor drops. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>