Voice dictation: layout shift after mic toggle puts Cancel under the cursor; second click discards dictation
还没有人认领这个 Issue。
评估
调研方向
Start by locating the chat composer and its voice dictation controls, then trace how the toolbar changes when dictation starts and how the Cancel and stop actions are wired. Reproduce the reported sequence with the pointer left in place; done when the second click stops dictation without discarding the transcript and the controls do not shift under the pointer.
由索引模型根据 Issue 内容生成。
描述
Short summary
Starting dictation from the composer's mic button shifts the layout and leaves the Cancel button under the pointer, right where the mic button just was. Clicking that spot again to stop dictation cancels it and discards everything dictated.
Affected version or release
1.1.29 (latest release at the time of filing)
Installation context
GitHub Copilot app on Windows 11 25H2 (build 26200, shown as "Windows 10.0.26200" in the table below). Affects the message composer in chat sessions (/chat).
Voice dictation settings (Settings > Voice dictation):
- Push to talk: on
- Shortcut: Ctrl+M
- Input device: Line (2- ProFX)
- Transcription model: nemotron-speech-streaming-en-0.6b-generic-cpu
What happened?
Each time I start dictation with the mic button, the layout shifts. Toggling on and then off at the same spot is the natural interaction, so I click the same location again to stop. After the shift, that location holds the Cancel button, so the click cancels the dictation and discards everything I dictated.
This happens with Push to talk on (see the settings above), when I start dictation from the mic button instead of the shortcut.
Steps to reproduce
- Open a chat session and place the mouse pointer over the mic button in the composer.
- Click the mic button to start voice dictation.
- Dictate a few sentences.
- Without moving the pointer, click the same spot again to stop dictation.
Actual: after step 2 the layout has shifted and the Cancel button is under the pointer. The click in step 4 activates Cancel and the dictated text is lost.
Expected behavior
- Starting dictation does not move the control under the pointer, so toggling on and off in place works.
- Clicking the same spot a second time stops dictation and keeps the transcript.
- Cancel does not take the place of the control that was just clicked, and discarding a dictation is either confirmed or undoable.
Impact
- Data loss: a single click discards all dictated input.
- It is triggered by ordinary use (toggle on, then toggle off in place), not an unusual sequence.
- The cost grows with dictation length, which discourages using dictation for longer prompts.
Suggested directions
Any one of these would address the problem:
- Keep the mic button in a fixed position and make it the stop control while dictating. Place Cancel away from that spot.
- Reserve space for the dictation controls so starting dictation does not reflow the composer toolbar.
- Add a safeguard for Cancel: ask for confirmation when a transcript exists, or offer Undo for a few seconds.
Additional context
Related: #4337 (closed) covers the composer controls after confirming a dictation with the checkmark.
| Field | Value |
|---|---|
| App version | 1.1.29 |
| OS | Windows 10.0.26200 |
| Theme | GitHub |
| Path | /chat |
| Tenure | Week 16 |
- 主要语言
- 没有语言数据
- 星标
- 2.2k
- 派生
- 183
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/app 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
-
triage
难度 1/5 1 小时以内 新手友好度 68/100
-
triage
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 68/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
raullenchai/Rapid-MLX#4889 ·
维护者通常 1 天内回复
-
app compatibility help wanted
难度 2/5 半天 新手友好度 72/100
nhutruong-struct/struct-tonesnap#10 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
zhitongblog/solomd#434 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复