mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
The inbound reconcile resolved the retention scope at processing time from whichever workspace was active. A community switch while an event was in flight retained it into the new community's scoped store, attributing another community's agent to the wrong one. The subscription now forwards the relay it was opened on, and the reconcile resolves the write target from that arrival relay instead. A mismatch drops the event: it was already durable in its own community's store, whose next boot reconcile refetches it. Only inbound paths are arrival-scoped; owner authored publishes still target the active scope. Relay-URL normalization is shared with the path hash so "same relay" and "same database" cannot drift, and the arrival check is a pure function over RetentionScope so it is testable without an AppHandle. The reconcile moves to personas/inbound.rs, retiring mod.rs's file-size exception rather than raising it. 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