Skip to content

Light up review agent rows and add a contextual tip once their review is ready#791

Merged
selfcontained merged 3 commits into
mainfrom
agt_0af3071ed69a/agent-1ed69a
Jul 17, 2026
Merged

Light up review agent rows and add a contextual tip once their review is ready#791
selfcontained merged 3 commits into
mainfrom
agt_0af3071ed69a/agent-1ed69a

Conversation

@selfcontained

Copy link
Copy Markdown
Owner

What

When a review agent submits its review — the same canOpenSubmittedReview condition that makes its sidebar row clickable — the row now:

  • gets a primary-tinted border and background (and keeps full opacity even when the agent is stopped)
  • fills the Review badge with the primary color
  • anchors a one-time contextual tip ("Open Submitted Reviews") using the built-in TipSpot system, telling the user to click the row to open the review

While the review is still in progress, nothing changes: no tip, no lit treatment — the existing chase animation continues to cover that state.

How

  • tips.ts: new review-row-open inline tip (since: 0.29.1, so it surfaces for users upgrading to the next release)
  • tip-spot.tsx: optional triggerClassName prop so TipSpot can wrap block-level anchors like the row (flex w-full) without layout shift
  • child-agent-row.tsx: ready-state styling + data-review-ready attribute; row is wrapped in TipSpot only when the review can be opened

Validation

  • Unit tests cover both sides of the gate (muted until submitted, lit + filled badge once ready)
  • E2E asserts data-review-ready follows the same gating as the click-through
  • Verified on an isolated dev stack: tip popover shows once and dismisses persistently, row click still opens the review, row width identical with and without the TipSpot wrapper
  • pnpm run check, finalize:web, full E2E suite (168 passed), and web unit tests all green

🤖 Generated with Claude Code

selfcontained and others added 3 commits July 16, 2026 22:43
When a review agent's review is submitted (the same condition that
makes the row clickable), the sidebar row now gets a primary-tinted
border and background, a filled Review badge, and full opacity even
when stopped. A one-time contextual tip using the built-in TipSpot
system anchors to the row, explaining that clicking it opens the
review. TipSpot gains an optional triggerClassName so it can wrap
block-level anchors like the row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…r connected

Persona review agt_315e90987a6a items #1156/#1157: the tip queue now
tracks which TipSpot instance owns the active grant (via useId token),
so multiple rows sharing one tipId show a single popover — this also
covers the latent duplicate for split-tabs in center-pane-tab-bar. The
review-ready row classes now come after isConnected so the lit
treatment wins both resting and hover styles when a terminal is
attached.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reviewer-suggested hardening on feedback #1156: requestOpen previously
read the active claim from a stale closure, so two TipSpot timers
firing in the same tick could both see null and both win. The claim
now lives in a ref checked synchronously; state remains only to
re-trigger waiting TipSpot effects after a release.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@selfcontained
selfcontained merged commit 37d8dba into main Jul 17, 2026
1 check passed
@selfcontained
selfcontained deleted the agt_0af3071ed69a/agent-1ed69a branch July 17, 2026 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant