Files
Matt Toohey d1e3757398 fix(desktop): name the composer video preview in Now Playing
Review follow-up to 3d94c0e. 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 in
3d94c0e already 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>
2026-08-17 21:24:15 +10:00
..
2026-08-03 21:51:17 -04:00

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 frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm 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