Skip to content

R8a: stabilize composer control width, explain the Reasoning tooltip (findings #7, #11) - #179

Merged
dovvnloading merged 1 commit into
mainfrom
r8a/composer-control-width-and-tooltip
Jul 29, 2026
Merged

dovvnloading merged 1 commit into
mainfrom
r8a/composer-control-width-and-tooltip

Conversation

@dovvnloading

Copy link
Copy Markdown
Owner

Problem

Two issues in the composer's control row from the R8a audit:

Change

  • Changed .control-value from max-width: 140px to a fixed width: 140px. Both the Reasoning and Model controls now stay one stable size regardless of which option is selected; long model ids still ellipsis-truncate, they just no longer resize the button while doing it.
  • Added a conditional title to the Reasoning button distinguishing "provider doesn't support this" (Reasoning mode is only available for local Ollama and Llama.cpp providers) from "a request is in flight" (Wait for the current response to finish) — the same two reasons the button can be disabled for.

Test plan

Layer Result
npx tsc --noEmit clean
npx vitest run (full suite) 871/871 passed (3 new)
python -m pytest -q (full suite, unaffected) 1040/1040 passed
npm run lint / npm run build clean

New coverage: three Composer.test.tsx cases covering the tooltip for both disabled reasons and confirming no title at all when the control is enabled.

Live-verified against a running instance: the Reasoning control's rendered width stayed at exactly 238.5625px across all four levels (Off/Low/Medium/High).

…(findings #7, #11)

Two composer-control issues from the audit, same component.

- Finding #7: .control-value used max-width (a cap, not a fixed size), so
  switching reasoning levels (or the active model) resized the button
  itself, visibly shoving the adjacent control sideways. Changed to a fixed
  width - both the Reasoning and Model controls now stay one stable size
  regardless of which option is selected; long model ids still ellipsis-
  truncate, they just no longer resize the button while doing it.

- Finding #11: the Reasoning button had no title at all, unlike its Attach
  and Model neighbours, which both explain their disabled state. Added a
  conditional title distinguishing "provider doesn't support this" from
  "a request is in flight" - the same two reasons the button can be
  disabled for.

Live-verified against a running instance: the Reasoning control's rendered
width stayed at 238.5625px across all four levels (Off/Low/Medium/High).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dovvnloading
dovvnloading merged commit d4afe62 into main Jul 29, 2026
2 checks passed
@dovvnloading
dovvnloading deleted the r8a/composer-control-width-and-tooltip branch July 29, 2026 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant