Skip to content

feat(dashboard): Polish user input controls and the review desk action pane - #2475

Merged
dcramer merged 3 commits into
mainfrom
feat/review-desk-form-polish
Oct 31, 2026
Merged

dcramer merged 3 commits into
mainfrom
feat/review-desk-form-polish

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Polish the shared requestUserInput answer form and the review desk detail pane. Also fix the form state that carried over between review items (Cursor finding on #2464).

Visual changes

  • Choices are real selectable options. UserInputForm now uses the shared Base UI RadioGroupItem and Checkbox in place of native inputs. Each option is a whole bordered row with hover, focus and selected states (accent border and tint). The transcript ask card, the side panel card and the review desk all get it.
  • Labels and spacing. Fields use Field / FieldLabel / FieldDescription. Labels are semibold, with more space between fields and taller textareas. "Other" is marked optional.
  • One primary action. Send, the answer buttons or Done stay primary. Take and Dismiss use a new Button variant="quiet" and sit right-aligned in the same row. Before, all of them looked the same. The new variant is documented in components/README.md.
  • Detail header. It now has a status chip (Needs an answer / Notice / Done / Dismissed) and a display-font title. A divider separates the actions from the item facts.
  • Side panel card. The Review item card in a Conversation now shows the item description.
  • Linked Conversations. They show Conversation titles, not raw slack:C… ids. Each title comes from the existing detail endpoint with ?limit=1. If the viewer cannot read a Conversation, it falls back to the monospace id, and the id stays as the link title.
  • Empty states. The list and detail cards now use plain centered text, not an EmptyTelemetry box inside a card.

Fix: form state carried over between review items

ReviewItemDetail was not keyed by item. So choices, Other text, errors and the send lock stayed when the reader picked another item. A send could post the previous item's answer, and a sent answer left the next item's form disabled. It is now keyed by item.id. The new e2e/review-desk.spec.ts covers this journey: pick a choice, switch items, check the form is clean, answer one item, then answer another.

Verification

  • Dashboard vitest passed.
  • pnpm typecheck, pnpm lint and pnpm dashboard-style:check passed.
  • The new review desk e2e passed. Before the key fix, it failed on the leaked choice.
  • I did manual visual QA with mocked review items, in dark and light at 1440px and in dark at 390px. States checked: question form (empty and filled), button choice, notice, archived answer, empty search, transcript ask card, and the side panel. Frameshift attaches the screenshot diffs.

No API, Conversations page or Slack card change.

--

View Session [Sentry]

@vercel

vercel Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
junior-docs Ready Ready Preview Oct 31, 2026 4:17am UTC

Request Review

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

2 screenshot changes — 2 changed · 0 added · 0 removed

Review screenshots in Frameshift

Conversation Child Agent Drawer · Desktop
Conversation Child Agent Drawer · Desktop
Changed
Conversation Child Agent Drawer · Mobile
Conversation Child Agent Drawer · Mobile
Changed

sentry-junior Bot and others added 3 commits October 31, 2026 04:13
…n pane

Show each choice as a selectable row with clear hover, focus, and selected
states, using the shared Base UI radio and checkbox. Give fields real labels
and spacing. Keep Send or Done as the main action and make Take and Dismiss
quiet secondary actions in the same row. Show the status in the detail
header, the description in the side panel card, and plain empty states.

Co-Authored-By: David Cramer <david@sentry.io>
Key the review item detail by item id. Before, choices, Other text, and the
send lock stayed when the reader picked another item, so a send could
carry the previous answer and a sent answer disabled the next form.

Co-Authored-By: David Cramer <david@sentry.io>
Read each linked Conversation with a one-event detail request and show its
title. Keep the id as the link title, and as the label when the viewer
cannot read the Conversation.

Co-Authored-By: David Cramer <david@sentry.io>
@dcramer
dcramer merged commit 65fc727 into main Oct 31, 2026
42 checks passed
@dcramer
dcramer deleted the feat/review-desk-form-polish branch October 31, 2026 04:26

This branch was successfully deployed

1 active deployment
Preview – junior-docs — 02d5ba94 Deployed Oct 31, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: high PR risk score: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant