Web: sticky provider options win over stale thread selection
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I am describing a concrete problem or use case, not just a vague idea.
Area
apps/web
Problem or use case
Changing Grok reasoning effort (or other provider options) on an existing thread often fails to reach sendTurn because thread-turn options stay sticky and draft options are empty.
Proposed solution
When per-thread draft has no options, fall back to cross-thread sticky provider options for send. Also drop obsolete Grok Early Access badge.
Why this matters
Composer UI shows the new effort but the server still receives the old one — silent lie.
Smallest useful scope
Options-only sticky fallback. Do not let sticky override thread/project selected model.
Alternatives considered
Force users to start a new thread for option changes — works but fights sticky model UX already used elsewhere.
Risks or tradeoffs
Incorrect activeSelection folding can steal the thread model from sticky — fixed scope is options map only.
Examples or references
PR #5426.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web and trace how composer options reach sendTurn, focusing on the folding of thread and cross-thread sticky options. Use PR #5426 as a reference; done means empty per-thread options fall back to sticky provider options without changing the selected model, and the obsolete Grok Early Access badge is removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100