Skip to content

fix(web): align tool disclosure chevrons with expanded state - #9935

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
maria-rcks:fix/issue-3584-chevron
Sep 5, 2026
Merged

maria-rcks merged 1 commit into
pingdotgg:mainfrom
maria-rcks:fix/issue-3584-chevron

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Sep 5, 2026 •

Copy link
Copy Markdown
Collaborator

collapsed tool rows pointed down and expanded rows pointed up. reuse the existing right chevron and rotate it down when expanded, preserving the control's action.

verified matching before and after views at 1280 × 800 and expanded an mcp row to confirm the down chevron and output. scoped lint, formatting, and the integrated evidence worktree's web typecheck passed; lint warnings are on unchanged lines.

tool disclosure chevrons before

tool disclosure chevrons after

sampled live preview recording of tool output expanding and collapsing

fixes #3584.

implemented with gpt-5.6-sol in codex.


Note

Low Risk
Pure UI/icon rotation in chat timeline tool rows with no logic or data changes.

Overview
Expandable tool/work log rows in the chat timeline no longer use a down chevron that flips to up when open. They now use a right chevron that rotates 90° when expanded so collapsed reads as “closed” (→) and expanded as “open” (↓), matching the intended disclosure affordance.

Change is limited to the chevron icon and rotation class on those rows in MessagesTimeline.tsx; expand/collapse behavior is unchanged.

Reviewed by Cursor Bugbot for commit 39657fd. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Fix tool disclosure chevron direction in PlainWorkEntryRow

Changes the expandable-entry indicator in MessagesTimeline.tsx from a downward chevron with a 180° expanded rotation to a right-pointing chevron with a 90° expanded rotation. Collapsed rows now show a right arrow; expanded rows show a downward arrow.

Macroscope summarized 39657fd.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 5, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 39657fd

Macroscope's review found this PR approvable — This is a focused two-line UI fix that aligns the existing disclosure chevron with collapsed and expanded states. It does not alter expansion logic, data handling, APIs, defaults, or production infrastructure.

You can add or adjust custom eligibility rules. Learn more.

@maria-rcks
maria-rcks merged commit 89bd637 into pingdotgg:main Sep 5, 2026
22 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 5, 2026
## What's Changed
* fix(web): align tool disclosure chevrons with expanded state by @maria-rcks in pingdotgg/t3code#9935
* fix(antigravity): distinguish session initialization auth failures by @maria-rcks in pingdotgg/t3code#9919
* fix(cursor): cache successful model discovery between refreshes by @maria-rcks in pingdotgg/t3code#9918
* fix(opencode): revert from the first removed assistant message by @maria-rcks in pingdotgg/t3code#9924
* fix(web): resume imported custom-provider threads by @juliusmarminge in pingdotgg/t3code#10184
* test(web): cancel pending highlight fixture frames during cleanup by @juliusmarminge in pingdotgg/t3code#10188


**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260905.1289...v0.0.39-nightly.20260905.1290

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260905.1290
incognitojam added a commit to incognitojam/styal that referenced this pull request Sep 24, 2026
When the PR selected for `early` does not apply at the reconciled
upstream boundary, the command stopped with a single line that gave
nothing to act on:

```console
$ node scripts/upstream-queue.ts early 11784 --through upstream/main
Selected pingdotgg#11784 cannot be applied at the upstream boundary.
```

That happens when the PR builds on upstream work the fork has not taken
in yet, and the planner only looks for dependencies in the changes it
replays after a successful apply.

The command now reports which of the PR's files conflict at the boundary
and which earlier pending upstream PRs and direct commits change those
files, in upstream order. Text output lists the first 20 and says how
many remain; `--json` includes every source with its SHA, PR, and title.
A plan that succeeds prints as before. The intake runbook's `early`
paragraph describes the report.

## Validation

- A new test in `scripts/upstream-early.test.ts` checks which sources
the report lists: pending sources after the boundary and before the
blocked PR whose files overlap the conflicting paths, including direct
commits and directory prefixes, and not recorded or later sources.
- `scripts/upstream-early.test.ts` and `scripts/upstream-queue.test.ts`
pass (21 tests); lint, formatting, and the scripts typecheck are clean.
- Against fetched fork `main` (`495b7cfd5`) and upstream `main`
(`b2b43bef7`), the same command now prints:

  ```console
  $ node scripts/upstream-queue.ts early 11784 --through upstream/main
  Fork 495b7cf; reconciled through d28077e
pingdotgg#11784 does not apply at the reconciled boundary. 16 of its files
conflict there:
    apps/mobile/src/features/threads/ThreadFeed.tsx
    apps/mobile/src/features/threads/thread-work-log.tsx
    apps/mobile/src/lib/threadActivity.ts
    apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts
    apps/server/src/orchestration/decider.ts
    apps/server/src/provider/Layers/ClaudeAdapter.test.ts
    apps/server/src/provider/Layers/ClaudeAdapter.ts
    apps/server/src/textGeneration/ThreadTitleContext.test.ts
    apps/server/src/textGeneration/ThreadTitleContext.ts
    apps/server/src/ws.ts
    apps/web/src/components/chat/MessagesTimeline.logic.ts
    apps/web/src/components/chat/MessagesTimeline.tsx
    apps/web/src/components/settings/SettingsPanels.tsx
    packages/client-runtime/src/state/environmentHttpAuth.test.ts
    packages/client-runtime/src/state/threadSnapshotHttp.ts
    packages/contracts/src/orchestration.ts
Earlier pending upstream changes to those files: 110 PRs. Take them in
first, or add their PRs to this plan.
pingdotgg#9594 fix(connect): refresh HTTP credentials without reconnecting
(pingdotgg#9594)
    pingdotgg#9894 fix(chat): show hours for long runs (pingdotgg#9894)
pingdotgg#9933 fix(settings): share restart continuation across environments
(pingdotgg#9933)
    pingdotgg#10092 fix(web): scale agent spawn rows with interface font (pingdotgg#10092)
pingdotgg#9965 fix(web): keep the composer expanded until the thread can scroll
(pingdotgg#9965)
pingdotgg#9935 fix(web): align tool disclosure chevrons with expanded state
(pingdotgg#9935)
pingdotgg#10199 fix(mobile): size a chat image's frame before its bytes arrive
(pingdotgg#10199)
pingdotgg#10200 fix(web): size the chat image slot from server-reported
dimensions (pingdotgg#10200)
pingdotgg#10167 refactor(client-runtime): remove unused runtime exports and
helpers (pingdotgg#10167)
pingdotgg#10173 fix(mobile): restore live tool shimmer and add a Thinking row
(pingdotgg#10173)
pingdotgg#10210 fix(mobile): only make work rows expandable when the body adds
something (pingdotgg#10210)
pingdotgg#10211 fix(mobile): fold subagent lifecycle rows into one batch per
spawn (pingdotgg#10211)
    pingdotgg#10212 fix(mobile): stop clipping expanded tool groups (pingdotgg#10212)
    pingdotgg#9875 feat: show provider usage limits with /usage-limits (pingdotgg#9875)
pingdotgg#9561 fix(ui): unify loading and refresh feedback across clients (pingdotgg#9561)
pingdotgg#10226 refactor(web): keep feature component helpers private (pingdotgg#10226)
pingdotgg#9754 feat(settings): add shared project defaults and scoped overrides
(pingdotgg#9754)
pingdotgg#9895 feat(connections): balance new threads across connected machines
(pingdotgg#9895)
pingdotgg#10273 fix(mobile): stop the work log flickering during subagent runs
and failing calls (pingdotgg#10273)
    pingdotgg#10271 fix(mobile): save linked media from chat (pingdotgg#10271)
    ... 90 more; --json lists every source.
  ```

`--json` returns the same 16 paths and all 110 sources. `early 5521
--through upstream/main`, which plans successfully, prints the same
summary as before.

---
Written by an agent (Claude Code, claude-opus-5-5).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Chevron collapsed icon for tool calls is misleading

1 participant