Files
buzz/desktop
Matt Toohey a0fa8a0133 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.

- `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-09-02 15:13:34 +10:00
..
2026-03-09 13:02:11 -07:00
2026-06-11 15:06:24 +00:00
2026-03-09 13:02:11 -07: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