mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Address two P2 review comments on useLocalDictation: - Recheck startAbortedRef after audioWorklet.addModule() resolves. If stop/cancel fired during the module load, the start path previously continued to wire up the worklet, start the flush timer, and set isRecording=true, leaving dictation running after it was stopped. Now bails and tears down the mic/context it opened. - Clear worklet.port.onmessage on stop/cleanup so PCM messages still queued on the main thread are dropped instead of appended to the reused audioBatchRef after the final flush. Also reset the batch on cleanup and at the start of each new recording so a stale batch can't leak into the next session/draft.
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