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>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition