Uh oh!
There was an error while loading. Please reload this page.
fix(clients): keep model selection sticky across threads - #9163
Closed
StiensWout wants to merge 2 commits into
Closed
fix(clients): keep model selection sticky across threads#9163StiensWout wants to merge 2 commits into
StiensWout wants to merge 2 commits into
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Contributor
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR changes model-selection precedence across mobile and web thread creation, causing a persisted sticky model to override a configured project default. Because this changes product defaults and affects existing user flows, human review is required. You can add or adjust custom eligibility rules. Learn more. |
mwolson added a commit
to mwolson/t3code
that referenced
this pull request
Sep 2, 2026
CTM pingdotgg#6011 honor project default models made a stored project default beat the current thread and the app-wide sticky model. New threads then snapped back to Codex gpt-5.4 and dropped Pi effort. Restore the composer order: current thread, then sticky last-used, then project default. Port of closedpingdotgg#9163 keep model selection sticky.
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
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR #6011 made every project default override the user's current and app-wide model choice. Because projects are commonly created with a stored model, new threads kept snapping back to that model and reasoning effort.
Restore the precedence used by the composer on web and mobile: explicit draft or current-thread selection, then the app-wide sticky selection, then the project default, then the provider default. Project defaults still apply when the user has no active global choice.
Focused verification:
pnpm exec vp test run apps/web/src/lib/chatThreadActions.test.ts apps/mobile/src/lib/modelOptions.test.tspnpm typecheckinapps/webpnpm typecheckinapps/mobileImplemented with GPT-5.6 Sol in the Codex harness through T3 Code.
Note
Medium Risk
Changes default model behavior for new threads/tasks across web and mobile;
resolveNewThreadModelSelectionOverridenow requiresstickySelection, though in-repo callers are updated.Overview
Restores composer-aligned model precedence after project defaults began overriding the user’s app-wide sticky choice when starting new tasks or threads.
On mobile,
resolveNewTaskModelSelectionand related fallbacks now resolve draft → sticky → project → provider, includingbuildModelOptionsfallback ordering and comments/migration for stalenew-task:drafts on disk.On web,
resolveNewThreadModelSelectionOverridegains astickySelectionargument and orders carried current-thread model (when switching drafts) → sticky → project default.useHandleNewThreadreads sticky state from the composer draft store when minting or refreshing empty drafts.Tests on both platforms assert sticky beats project default and that project still applies when sticky is absent.
Reviewed by Cursor Bugbot for commit 9188f9d. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Fix model selection to stay sticky across threads before project default
resolveNewTaskModelSelectionin modelOptions.ts and theNewTaskFlowProviderin new-task-flow-provider.tsx apply the new precedence.resolveNewThreadModelSelectionOverridein chatThreadActions.ts and the handler in useHandleNewThread.ts now take the active sticky provider's model selection as input; carried cross-thread selection still outranks sticky.Macroscope summarized 9188f9d.