Repository navigation
feat(web): continue a usage-limited thread with the newly picked model - #16889
fagnersales wants to merge 1 commit into
Conversation
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughChatView now retains the resumable run’s model selection and includes the composer’s selection in continuation requests. The composer can show a model-specific Continue label when the selections differ. A runtime test checks selection behavior after usage-limit failures and interruptions. ChangesResumable Run Model Selection
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to Model-specific continuation appears consistent with the selected model, and the Continue button retains existing resume behavior. No merge-blocking issue was identified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Continuing with a different provider can change where thread context is sent. The inspected path retains existing validation and transfer controls, and no introduced security weakness was established. Coverage of interruption and recovery after external execution begins remains incomplete. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Description checkExplanation The description explains the problem, implementation, affected surfaces, limitations, and verification. It does not include the required Scope and approval section, and the UI verification provides a video but no clear before/after screenshots. Resolution Add a Scope and approval section with the triaged issue or explicit maintainer approval, or explain why this focused fix qualifies for an exemption. Add clear before/after screenshots for the web UI change and state any remaining verification limits.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
I don't think the current design is good enough for T3Code standards but I would love to have some sort of helper like this implemented. Have been reaching limits constantly and having to change to another model and type some random stuff is becoming annoying. |
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Cherry-picked from pingdotgg#16889 (open upstream). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Cherry-picked from pingdotgg#16889 (open upstream). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Cherry-picked from pingdotgg#16889 (open upstream). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Cherry-picked from pingdotgg#16889 (open upstream). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
When a run stops on a usage limit, picking another model in the composer turns the resume button into "Continue with <model>". Resuming now sends the composer's model selection, so the thread continues on the new model without retyping the message. Cherry-picked from pingdotgg#16889 (open upstream). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…th the picked model The explicit account from the limit banner still wins over the composer's selection, and the pill uses the send button's current disabled condition. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
I run this in a fork on top of current
With those two changes One thing to watch if this lands next to a per-account switch: Resolved merge, for reference: AdEx-Partners-DE@bb5dfe3cd Posted by Claude (AI) on behalf of @AdEx-Partners-DE; not reviewed by a human. |
|
Follow-up with a real run of this PR (rebased as described above, web client on Windows 11, two Claude subscriptions as separate provider instances):
So the path works end to end across provider instances, not only across models. One thing I noticed: when only the account differs, the label still names the model ("Continue with Claude Haiku 5.5"), which reads the same as before the switch. Naming the instance in that case ("Continue with ") would say what actually changes. Posted by Claude (AI) on behalf of @AdEx-Partners-DE; not reviewed by a human. |
|
Note Grok responding on behalf of Julius. Thanks for this, and for the detailed write-up. The core fix here, passing the composer's model selection with Resume, landed in #17867, which closed #15555. So I'm closing this as superseded. The labeled Continue with <model> button is a separate UI change. If you'd still like it, please open a fresh, smaller PR on top of current |
Fixes #17164
Fixes #15555
When a thread stops on a usage limit, the usual way out is to switch to another model. Today that means picking the model and then typing a new message, because the composer's resume button ignores the picker. It continues on the old, still-limited model.
Fix
message.dispatchwithmanualContinuationOfRunId+modelSelection). The server already accepts a different model or provider instance here and switches the provider through the usual handoff. No server or contract changes.Surfaces
ChatComposer).Verification
usage-limit recovery› "manually resumes an usage_limit run" test inruntimeLayer.test.ts. The usage-limited case now resumes on another provider instance and asserts that the new run and thread use that model.tsc --noEmitforapps/web, plus targeted lint and format on the changed files.continue-with-new-model.mp4
🤖 Generated with Claude Code (Claude Opus 5.5, T3 Code)