Skip to content

fix(web): unify session model and reasoning menus - #2834

Merged
bobleer merged 1 commit into
mainfrom
bob/unify-session-model-reasoning-menu
Sep 6, 2026
Merged

fix(web): unify session model and reasoning menus#2834
bobleer merged 1 commit into
mainfrom
bob/unify-session-model-reasoning-menu

Conversation

@bobleer

@bobleer bobleer commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Dispatch and ACP sessions currently show a separate reasoning control beside the model picker, while native sessions place reasoning inside the model settings menu. All three now share the same first-level model/reasoning menu and flyouts, with the current reasoning level displayed inside the model trigger.

Type and Areas

Type: Bug fix / UI consistency

Areas: Shared desktop/Web UI conversation composer

Motivation / Impact

  • Keep target-owned model catalogs and native, dispatch, and ACP update callbacks while sharing menu rendering, focus handling, and overlay placement.
  • Keep reasoning accessible for ACP agents without a model list. Offer only advertised ACP reasoning values, including auto when provided, rather than a local reset that ACP cannot apply.
  • Preserve selection on failed updates, honor dispatch locks, and refresh menu state when reasoning capabilities change. ACP mode controls and advertised fast mode remain available.

Verification

Rebased onto current upstream main and verified:

  • pnpm --dir src/web-ui exec vitest run src/flow_chat/components/ModelSelectorExternal.test.tsx src/flow_chat/components/ModelSelectorProviderLevels.test.tsx src/flow_chat/components/ModelSelectorAcpMode.test.tsx src/flow_chat/components/ModelSelectorPortalLayer.test.ts src/flow_chat/components/ChatInputWorkspaceStripLayout.test.ts src/flow_chat/components/modelSelectorDropdownPosition.test.ts — 78 tests passed across 6 files.
  • pnpm run check:web — passed, including type checking and appearance/theme gates.
  • pnpm run motion:audit — passed (advisory inventory).
  • node scripts/check-git-object-sizes.mjs --base upstream/main --head HEAD — passed.
  • git diff --check — passed before commit.

Reviewer Notes

AI-assisted (Codex); testing level: lightly tested with automated component and contract coverage, without manual visual verification. Remote workspace ACP parameters and detached dispatch callbacks were exercised through mocks. No live remote workspace, remote control, Peer Device, or detached dispatch end-to-end runs were performed. No persisted shapes, wire protocols, or backend ownership changed. No before/after recording was captured.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable (existing localized labels reused).

@bobleer
bobleer merged commit 140d104 into main Sep 6, 2026
9 checks passed
SWangHash pushed a commit to SWangHash/BitFun-OHOS that referenced this pull request Sep 8, 2026
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