Files
buzz/desktop
ss-dev-01 9fb9e00baf fix(desktop): address review on the conversation transcript variant
Review follow-ups on the `conversation` transcript variant.

Variant selection is now caller-pinned only. The 640px width heuristic and
its module are gone: an automatic wide-pane mode is a separate product
decision, and swapping the whole transcript presentation as a reader drags
a resize handle across a threshold is not a decision to make implicitly.
Slice A's cover host pins `conversation` explicitly.

The thought disclosure no longer records the browser's programmatic toggle
echo as a reader choice. `<details>` fires `toggle` when React changes
`open`, so auto-opening a streaming thought was pinning it open forever and
reasoning never receded once the agent acted. Only a toggle that disagrees
with the last rendered state can have come from the reader. The regression
test injects the echo and then rerenders with a following item, and it is
the only test that fails when the guard is removed; a second test proves a
genuine reader toggle still wins.

Thought completion at the next leaf item of any kind — tool call or plan
update, not just the next assistant message — is now documented as intended
rather than incidental, with a thought -> tool -> message test pinning it.

The byte-for-byte fixture now covers the contract it claims. The baseline
transcript contains every renderable item kind (prompt with context and
setup, assistant message, thought, plan, tool, lifecycle status, error,
permission) across two sessions so a session boundary is forced, and both
legacy variants were recaptured from pre-change main. A companion test
asserts the baseline really renders each kind, so a fixture that silently
stopped covering one cannot keep passing while protecting nothing.

Also adds the plan-in-place rerender assertion: same plan id with advanced
entries retains the same card node while the progress text changes.

Known follow-up: Slice C is not merged yet, so its shared controlled-details
hook does not exist on origin and the echo guard here is a local copy with
the same semantics, flagged in a comment for replacement on rebase.

Signed-off-by: ss-dev-01 <11939edb7df583f855dbef923f2358f1184538f88ca452e19e7e35e42ad6d796@buzz.block.builderlab.xyz>
Co-authored-by: Bradley Axen <baxen@squareup.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
2026-08-21 19:13:59 -07:00
..
2026-08-03 21:51:17 -04: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