Repository navigation
fix(web): effort picker shows Default or the checkmark, flush right - #28162
Conversation
…both Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
| Layer / File(s) | Summary |
|---|---|
Conditional selection and default indicators apps/web/src/components/chat/ComposerModelEffort.tsx |
Selected rows show a checkmark. The default label is visible when the default row is unselected and screen-reader-only when it is selected. |
Estimated code review effort: 1 (Trivial) | ~3 minutes
Change: Bug fix
Possibly related PRs
- pingdotgg/t3code#25778: Changes the model-picker indicator so unselected rows do not reserve space for a checkmark.
- pingdotgg/t3code#26415: Moves the model-row checkmark beside the selected name and removes reserved indicator space.
Suggested reviewers: t3dotgg
Merge Risk: 
Minimal · previous review 30cf8
-
No actionable merge-blocking risk remains.
Pre-merge checks: 
4
-
Full details: Description check
-
Explanation
The description explains the problem and change, provides before-and-after screenshots, and states the tool used. It does not include a separate scope and approval section, but the focused bug fix is otherwise documented sufficiently.
-
Finishing Touches
-
Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The effort picker now shows either the selected checkmark or a right-aligned “Default” label, retaining accessible default text. This is a presentation-only change; product defaults and selection behavior are unchanged. You can add or adjust custom eligibility rules. Learn more. |
**v0.1.7-nightly.20261031.3991** · 6 changes from 4 contributors ## Highlights Gemini quota limits now appear for Antigravity users. ## Fixes - Gemini quota limits appear for Antigravity users (#28090) - OpenCode text generation works with the default model (#22442) <details> <summary>Full changelog</summary> ## What's Changed * fix(clients): stop loading thread families when opening chats by @Yash-Singh1 in pingdotgg/t3code#26762 * fix(server): bump Antigravity quota probe UA to hub/2.24.0 so Gemini limits appear by @LVC-Chakresh in pingdotgg/t3code#28090 * fix(opencode): use Big Pickle for default text generation by @UtkarshUsername in pingdotgg/t3code#22442 * test(scripts): identify the Windows native probe by executable by @UtkarshUsername in pingdotgg/t3code#21774 * fix(web): effort picker shows Default or the checkmark, flush right by @shivamhwp in pingdotgg/t3code#28162 ## New Contributors * @LVC-Chakresh made their first contribution in pingdotgg/t3code#28090 **Full Changelog**: pingdotgg/t3code@v0.1.6-nightly.20261031.3977...v0.1.7-nightly.20261031.3991 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.7-nightly.20261031.3991
…ingdotgg#28162) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 15fe283)
Conflicts: - apps/web/src/components/chat/ComposerModelEffort.tsx: upstream pingdotgg#28162, pingdotgg#28307 and pingdotgg#28409 rewrote the effort column (Default beside the check, agent options in a side menu or a switch). Took upstream's file and put the localizeProviderOptionLabel hooks on its labels, values, descriptions and aria-labels, including the new option rows and the context window word. - packages/client-runtime/src/modelTraits.ts: upstream dropped otherLabels; the fast-mode fallback keeps the fork's localize. No new catalog strings. TraitsPicker.tsx's new ultrathink identifiers ("body", "prefix", "ultrathink") are kept English in untranslated.json. TailscaleMcpApproval.test.ts passes Redacted state, code and code_verifier, which upstream pingdotgg#27986 (merged on 2026-10-31) made Redacted in the contracts.
Main replaced the composer with an always-two-row box and one control that picks the model and its effort (pingdotgg#25869, pingdotgg#28057 and the picker fixes after it). Our chat bar, the next commit, redoes the same box its own way, so main's version comes out here first. Taken out, on web: - the two-row layout with model, effort and send grouped on the right, and the permissions name on the new-thread row under the box - the combined model and effort picker with its speed and permissions footer, and the fixes built on it (pingdotgg#28076, pingdotgg#28162, pingdotgg#28307, pingdotgg#26514, pingdotgg#26470, pingdotgg#26929, and the web side of pingdotgg#28409) - the Effort display setting (words or bars) - hiding Ultrathink from effort pickers (pingdotgg#28044). Web and mobile read one shared list, so mobile offers it again too. Brought back: on desktop, the composer shrinks to one row when you scroll up the chat, with its "Collapse composer on scroll" setting. Kept: the server, contract and provider parts of pingdotgg#28409 (ACP thought_level options marked as reasoning, Grok levels sorted lowest to highest), the shared reasoning-control helper the settings page uses, and main's other composer fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What's fixed
In the model picker's Reasoning column, every row kept an invisible checkmark so the selected one could show, which left an empty gap after the "Default" label. Each row now has one trailing slot, flush right: the selected row shows the checkmark, and the default row shows "Default" when it isn't selected. When the default is selected, screen readers still hear "Default" through a visually hidden label.
Evidence
Before (reported, Claude Opus 5.5 with High selected): "Default" sits left of an empty checkmark slot.
After, web, default level selected: only the checkmark.
After, web, non-default level selected: High has the checkmark, Medium shows "Default" flush right.
Made with Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code