mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Review follow-up to3d94c0e. The composer attachment preview released the media session on unmount but never claimed it on play, so while a queued video played, Control Center showed either a bare Buzz entry or — since `navigator.mediaSession.metadata` is page-global — the stale title of a timeline video that had claimed the session earlier. `onPlay` now claims with the attachment's filename (falling back to the short-hash label the thumbnail already uses), and `onPause`/`onEnded` mark the session paused, matching the inline player and the review overlay. There is no channel subtitle: the attachment has not been posted yet, so there is nothing honest to put there. The owner-scoped release added in3d94c0ealready covers teardown, so this only closes the metadata gap. ## Validation - `pnpm check`, `pnpm typecheck`, `pnpm test` (4958 desktop unit tests, all passing; the two `biome` warnings are pre-existing, in an unrelated E2E spec) - Not covered: same gap as the other two surfaces — the claim wiring is JSX event handlers over the already-tested `mediaSession` module, and this package has no precedent for rendering a motion + Radix component tree in a unit test. Control Center metadata is invisible to Playwright and jsdom, so the outstanding manual macOS pass now also wants: attach a video, open its composer preview, play it, and confirm Control Center shows that filename rather than a previously-played timeline video. Signed-off-by: Matt Toohey <contact@matttoohey.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