Files
buzz/desktop
ss-dev-00 1ff5968dae test(desktop): promote the cover drawer preview into a reference screenshot spec
The throwaway spec used to compare presentation options has now paid for
itself twice, so give it a permanent home next to the other activity
screenshot specs and register it in the smoke project.

One seeded turn with the shape a real investigation has: a `@mention` that
starts it, thinking, three file reads, a shell command, a relay post, a
step that failed, a plan, and an answer containing code. The prompt is
framed the way the harness frames it — a `[Buzz event: ...]` section with
`From:`/`Content:` lines — because `parsePromptText` reads the author
pubkey and the user-visible text out of exactly that shape; a plain text
prompt would render as an unattributed bubble and would not exercise the
header the drawer exists to make readable.

Three frames, all at the drawer's design width: the full window as it
opens (the drawer against the sliver and the scrimmed channel, which a
panel-only shot cannot show), then the expanded turn at its head and at
its tail. Expanding matters — the transcript opens folded, so the default
frame is a stack of one-line summaries that shows none of the turn's
shape. Expanded it is taller than the drawer, hence two frames.

The PNGs are the deliverable, not a pixel baseline, so the assertions are
scoped to what this slice owns: the drawer covers, the panel is mounted
inside it, there is no split resize handle, and the turn actually
rendered. Transcript structure, grouping, and styling belong to the
transcript variants being restyled in parallel and are asserted by their
own specs; asserting them here would make the reference shots fail for
reasons unrelated to the drawer. For the same reason the helpers reach
for DOM contracts rather than transcript markup — the scroller is found
by computed overflow, and folds are opened through the native `<details>`
`open` property rather than by clicking a variant-owned toggle.

Two things the helpers guard rather than assume. The expander asserts it
found at least one collapsed row, so a moved fold cannot silently turn
the expanded shots into duplicates of the collapsed one. And the
scroll-to-head polls a value read two frames after the write: the panel
is tail-anchored and expanding pins it back to the bottom, so an
immediate read would report the write instead of the outcome and the shot
would quietly become a second tail frame.

Signed-off-by: ss-dev-00 <a02c4e0850e5e612b4ddf95dbe2f5c56467cf27c6552203bc833ff438fb31971@buzz.block.builderlab.xyz>
Co-authored-by: Bradley Axen <baxen@squareup.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
2026-08-24 14:18:50 -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