You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(web): remove duplicate model name from reasoning header - #28069
The composer model picker repeats the selected model name beside the Reasoning heading, even though the model is already selected in the list on the left.
Change
Remove that duplicate label and the now-unused picker context. The reasoning heading, effort choices, model list, and trigger retain their existing behavior. Web and desktop share this component; mobile uses a separate settings sheet without this header.
Scope and approval
This qualifies as a very small, focused fix for an obvious visual redundancy: it removes repeated text from an existing control without changing selection behavior, defaults, or workflows.
Verification
In the built-in Browser panel against isolated development state, opened the composer model picker and searched for Sol. Before: the right header showed Reasoning and 6.1 Sol. After: only Reasoning remains, with the selected model still visible on the left.
Checked Codex and Claude effort choices and model selection; selecting High updated the composer trigger.
vp run check:changed HEAD passed format, lint, both knip passes, affected-package typechecks, both existing browser test files (4 tests), and React compiler checks. The first run lacked the Playwright Chromium executable; after installing it, the complete rerun passed.
No new tests for this visual-only change, per AGENTS.md. Native desktop and mobile were not run.
Before
After
Reviewed with sol-loop: 1 round with Claude Opus 5.5 on medium. Verdict: approved; no findings.
Created with GPT-6.1-Sol in the Codex harness.
Modernized against upstream 15fe28327278. vp run check:changed upstream/main --concurrency 1 passed on the rebased head, including the existing browser tests and React compiler checks. No new interactive client pass was performed during modernization.
Macroscope's review found this PR approvable — Removes the duplicate model name from the effort header while preserving the picker label and selection behavior. The change is presentation-only, with no product-default or data-handling changes.
You can add or adjust custom eligibility rules. Learn more.
Reviewing files that changed from the base of the PR and between bb60479 and 5442d6f.
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
Trigger review
No actionable comments were generated in the recent review.
Walkthrough
The docked picker no longer creates or provides DockedPickerContext. The effort-column header no longer reads or displays the selected model label.
Changes: Effort header and picker context
Layer / File(s)
Summary
Remove model label context and header display apps/web/src/components/chat/ProviderModelPicker.tsx, apps/web/src/components/chat/ComposerModelEffort.tsx
The picker context and provider are removed. ComposerEffortColumn no longer reads the context or displays the selected model label.
pingdotgg/t3code#29099: This PR removes the model name from the Reasoning header, but it does not change clipped model or provider names in picker rows.
Possibly related PRs
pingdotgg/t3code#29140: This PR extends DockedPickerContext to supply the Reasoning header model label, which this PR removes.
Suggested reviewers:t3dotgg
Merge Risk: Minimal · previous review bb604
The duplicate model label is removed. No merge-blocking risk is evident from the supplied evidence.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title identifies the main change: removing the duplicate model name from the reasoning header.
Description check
The description covers the problem, change, scope, and verification. It includes before-and-after screenshots and states what was not checked.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Finishing Touches
Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.
verified unchanged head 1cc82548c26016feebd37f36e0f59d2af7a8537f on a linux boat vm, using the real dev web app, repository playwright and /usr/bin/google-chrome.
reproduced on github/main (b50d8a1b15) in a separate worktree: selecting sol repeats 6.1 Sol beside Reasoning.
installed dependencies with vp i in both checkouts. ran one background dev server at a time. created the project pointing to the real git checkout through the app, selected codex gpt-6.1-sol, and opened the composer picker. on this head, Reasoning has no duplicate model label, while the selected model and effort choices remain visible.
switched sol to luna and back, selected medium then high, searched for sol, and used left arrow from the effort column to return focus to model search. high persisted after reload. inspected light and dark desktop layouts and the dark 390px web layout.
sent a real codex turn through the composer with high reasoning and received PR28069_PROVIDER_OK. after reload, changed to medium and received PR28069_FOLLOWUP_OK in the same thread. read-only inspection of the running server's isolated database confirmed both runs completed using gpt-6.1-sol, with high and medium reasoning respectively.
vp run check:changed 7195b699547b538e49f758e314dde5c8c5d907cf passed through blacksmith-check: format, lint, both knip passes, affected typechecks, 5 existing browser tests across 3 files, and 2 selected react compiler checks. the worker initially lacked parent history and chromium; fetched history and installed chromium before the successful run. github head checks also pass.
before, on main:
after, on the pr head:
14-second recording of model selection, effort changes, and the real provider response. inspected the exported recording and checked uploaded playback and seeking:
Not verified
native electron, ios and android clients were not exercised on this linux vm. desktop shares the changed web component; native mobile uses a separate sheet. other providers, relay and tunnel connections were not exercised. no source changes were needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.
2 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The composer model picker repeats the selected model name beside the Reasoning heading, even though the model is already selected in the list on the left.
Change
Remove that duplicate label and the now-unused picker context. The reasoning heading, effort choices, model list, and trigger retain their existing behavior. Web and desktop share this component; mobile uses a separate settings sheet without this header.
Scope and approval
This qualifies as a very small, focused fix for an obvious visual redundancy: it removes repeated text from an existing control without changing selection behavior, defaults, or workflows.
Verification
Reasoningand6.1 Sol. After: onlyReasoningremains, with the selected model still visible on the left.vp run check:changed HEADpassed format, lint, both knip passes, affected-package typechecks, both existing browser test files (4 tests), and React compiler checks. The first run lacked the Playwright Chromium executable; after installing it, the complete rerun passed.Reviewed with sol-loop: 1 round with Claude Opus 5.5 on medium. Verdict: approved; no findings.
Created with GPT-6.1-Sol in the Codex harness.
Modernized against upstream
15fe28327278.vp run check:changed upstream/main --concurrency 1passed on the rebased head, including the existing browser tests and React compiler checks. No new interactive client pass was performed during modernization.Modernized with GPT-6.1 Sol in the Codex harness.