mirror of
https://github.com/block/buzz.git
synced 2026-11-01 15:01:12 +00:00
Final witness completions for Thufir pass-2 verification:
1. Amendment C witnesses now use real fetchAndMerge() load path:
- drain_crashAfterAppliedUnread_newerRemoteRead_noRebump: delivers the
remote C=6 event via an encrypted relay event; fetchAndMerge() decrypts
and merges it — no direct overrideRegisters writes, no hand-set isLoadComplete.
- drain_crashAfterAppliedRead_newerRemoteUnread_noRebump: mirror, delivers
remote S=7 via relay event through production path.
2. New manager-level witnesses:
- drain_deferredRefusalAfterRestart_intentHydratedAndRefused (Test 43):
intent persisted to v2 blob, hydrated on restart, refused on drain
— confirms deferred-refusal surfaces outcome.
- markChannelUnread_storageFailed_intentInMemoryOnly (Test 44):
storage failure on enqueue: intent stays in-memory, no v2 blob write
— confirms graceful degradation under storage_failed.
3. Hook-level (useUnreadChannels) pre-ready witnesses:
- preReady_markChannelUnread_appearsInUnreadChannelIds_beforeLoadComplete:
pending unread is visible via computePreReadyUnread before load completes.
- preReady_markChannelRead_suppressesForcedEntry_sourcePreserved_refusalRestoresMultiSource:
queued read suppresses committed forced entry without deleting sources.
4. noopMarkChannelUnread/noopMarkChannelRead in useReadState.ts enqueue
intents when no manager is available, so pre-ready presentation works even
before the relay client is initialized.
5. useUnreadChannels.ts: condense else branch to single line (ratchet fix,
1019 wc -l = 1020 split, within the 1021 limit).
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