Repository navigation
fix(web): collapsed section headers point their chevron down - #24438
juliusmarminge wants to merge 2 commits into
Conversation
Closes #23950 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This one-line UI correction makes collapsed section headers show a downward chevron and expanded headers show an upward chevron. It is isolated to presentation logic and leaves section state, accessibility state, and content behavior unchanged. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Expanded-state chevron direction apps/web/src/components/ui/collapsible-section-header.tsx |
The chevron’s rotate-180 condition now uses expanded instead of !expanded. |
Priority:
Estimated code review effort: 1 (Trivial) | ~2 minutes
Change: Bug fix · Severity of issue fixed: Low
Suggested reviewers: maria-rcks, macroscopeapp
Merge Risk: 
Minimal · up to e2e2a
-
The focused visual correction presents no identified merge-blocking risk.
Pre-merge checks: 
4
-
Full details: Description check
-
Explanation
The description includes all required sections. It explains the problem, change, issue scope, verification commands, visual evidence, limitations, and implementation details. The UI evidence includes before/after screenshots and a recording.
Full details: Linked Issues check
-
Explanation
Issue [
#23950] requires collapsed sections to show a down chevron and expanded sections to show an up chevron. The sharedCollapsibleSectionHeadernow appliesrotate-180whenexpandedis true. The unchangedaria-expandedand button behavior preserve expansion and collapse interaction. This change covers Snoozed, Settled, and other callers of the shared header.
Full details: Out of Scope Changes check
-
Explanation
The pull request changes only the shared chevron rotation condition in
apps/web/src/components/ui/collapsible-section-header.tsx. The change directly supports issue [#23950]. No unrelated behavior, state, contract, provider path, or runtime path changed.
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
|
Note 🤖 Claude Opus 5.5 responding on behalf of Theo Closing: this is covered by #25778, which landed. Reopen if a needed part is still missing. |
Problem
With Snoozed or Settled threads present, collapse either sidebar section: its chevron points up. Expanding points it down, opposite to the app's other disclosures.
Change
Rotate the shared down chevron when expanded. The same correction reaches Working, Previous agents, and workflow phase headers; content visibility, labels, and click handling are unchanged.
Scope and approval
Fixes #23950
GitCafe: #23950
Triaged bug via the automated issue flow. One shared visual condition; no new option, state, contract, or provider behavior.
Verification
Capture caveat: desktop shelf/drag comparisons retain a small unrelated brand-text raster difference near the top left; it is visible in the unmasked diffs. No claim that nothing else changed.
vp lint apps/web/src/components/ui/collapsible-section-header.tsxandvp run typecheckinapps/webpassed. No automated test was added for this visual-only correction.Fixture matrix · Combined evidence index, recordings, seeds and drivers · Original recordings and narrated steps
S = all three shelves; R0 = plain Previous agents; R1 = failed Previous agents; W = running/done/failed workflow phases including plural count; D1 = emphasized Settled during drag; D2 = accent Settled drop target. Intended visible differences are only the shared header rotations. Other labels, counts, tone, and content match within each selected pair, except the disclosed desktop brand raster differences.
Evidence
Diff0 is absolute RGB difference amplified ×16, without threshold. DiffT marks maximum-channel differences >16/255. No masks or excluded regions.
Interaction proof
The responsive light shelf recording shows the issue directly: independently open and close Working, Snoozed, and Settled; content visibility agrees with the corrected orientation. The linked original index gives approximate click timestamps and paired recordings for each retained row. The repair index supplies replacement recordings, sampled inspection frames, exact-settling partners, and fixture drivers. Drag recordings hold without dropping, then cancel; collapsed accent uses a selected Settled thread and a slim Snoozed source. Workflow recordings keep the outer toggle open and toggle each phase.
Independent final proof audit: SUFFICIENT for all six visual rows; independently checked 48 combined pairs and 96 exact settling comparisons. Recordings were sampled rather than reviewed continuously. R0 proves the plain header; three retained combinations use an Idle child rather than Done, so completed-status behavior is not claimed there. Capture head was not rebuilt after the final main merge.
Implementation: Claude Opus 5.5 via Claude Agent harness. Lead, reproduction, evidence and review: GPT-6.1 Sol via Codex harness; independent review: Claude Opus 5.5 via Claude Agent harness.