Skip to content

MS-26473 PDChat: input toolbar with model picker and separate read-aloud - #231

Merged
davidnmbond merged 1 commit into
mainfrom
feature/MS-26473-pdchat-input-toolbar
Oct 5, 2026
Merged

davidnmbond merged 1 commit into
mainfrom
feature/MS-26473-pdchat-input-toolbar

Conversation

@davidnmbond

Copy link
Copy Markdown
Contributor

What

Every PDChat control now sits in one thin toolbar above the text box, which takes the full width: agent picker, model picker, notification sounds (moved out of the header), read-aloud, the microphone and Send. Maximise, restore and minimise stay in the header.

  • IChatService.Models / SelectedModelId: a model picker, offered like agents (two or more).
  • IChatService.IsReadAloudEnabled: off by default, independent of the microphone and of notification sounds, so all four sound combinations are possible. Read-aloud works without the microphone. The microphone pauses only while an answer is to be spoken.
  • The microphone is an icon with an accessible name, with no text.
  • Narrow (corner-docked) panels hide the picker labels with a container query and keep a single row.
  • Demo: two models, and the second agent is renamed so it no longer reads like a voice option.

Verification

  • All 3729 tests pass, including new ones for: the model picker; read-aloud with and without the microphone; turning read-aloud off mid-answer; all four mute/read-aloud combinations; the icon-only microphone; the toolbar layout; and notification sounds staying reachable when typing is not permitted.
  • Headless Chrome render of the demo: the toolbar is one 28px row both corner-docked (350px) and full screen.

Part of MS-26473.

🤖 Generated with Claude Code

Every chat control now sits in one thin toolbar above the text box, which
takes the full width: the agent and model pickers, notification sounds
(moved from the header), read-aloud, the microphone and Send. The window
controls stay in the header.

- IChatService.Models and SelectedModelId, offered like agents (two or more).
- IChatService.IsReadAloudEnabled, off by default and independent of both the
  microphone and notification sounds, so all four sound combinations exist.
  Read-aloud works without the microphone; the microphone pauses only while
  an answer is to be spoken.
- The microphone is an icon with an accessible name, no text.
- Narrow panels hide the picker labels (container query) and keep one row.
- The demo offers two models, and its second agent is no longer named like a
  voice option.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codacy-production

codacy-production Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 1 minor

Alerts:
⚠ 1 issue (≤ 0 issues of at least minor severity)

Results:
1 new issue

Category Results
BestPractice 1 minor

View in Codacy

🟢 Metrics 36 complexity · 2 duplication

Metric Results
Complexity 36
Duplication 2

View in Codacy

🟢 Coverage 100.00% diff coverage · +0.00% coverage variation

Metric Results
Coverage variation ✅ +0.00% coverage variation
Diff coverage ✅ 100.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (737ce57) 15829 15816 99.92%
Head commit (88e8b95) 15856 (+27) 15843 (+27) 99.92% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#231) 44 44 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@davidnmbond
davidnmbond merged commit e30bc27 into main Oct 5, 2026
6 of 7 checks passed
@davidnmbond
davidnmbond deleted the feature/MS-26473-pdchat-input-toolbar branch October 5, 2026 23:42
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