[Bug]: Voice settings shows device-local rows (Microphone etc.) under the environment/project scope header

未关闭 适合新手
#34,297 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
68/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
react, typescript

调研方向

从 issue 指出的源头 apps/web/src/components/settings/VoiceSettingsPanel.tsx 和 SettingsScopeSentence.tsx 开始;issue 认为它们导致了设备范围和环境范围混杂的呈现。检查仅限设备的行和 serverScoped 行是如何分组或标记的。完成标准是页面能清楚区分哪些设置适用于此设备,哪些设置遵循所选范围;issue 没有指定要运行的测试。

由索引模型根据 Issue 内容生成。

描述

Before submitting
  • I searched existing issues and did not find a duplicate. (#28685 is about the iPad composer missing its mic button, not this.)
  • I included enough detail to reproduce or investigate the problem.
Area

apps/web

Steps to reproduce
  1. Run the desktop app on a Windows client and connect it to a remote Mac environment.
  2. Open Settings → Voice.
  3. Set the scope header to "Applying settings for All projects on Mac environment".
  4. Open the Microphone dropdown.
Expected behavior

The page makes clear which rows belong to the device I'm sitting at and which belong to the selected environment or project. The Microphone row should say that audio is recorded on this device and transcribed by the "Transcribe with" environment.

Actual behavior

The Microphone dropdown lists the Windows client's input devices, such as a virtual audio device, while the header directly above it names the Mac environment. It looks like the Mac's microphones are being shown wrongly, or like a setting for the Mac that was filled in from the wrong machine. I couldn't tell whether the microphone has to be set up on the PC or on the Mac. "Transcribe with" was set to the Windows environment, which made it even harder to tell what applies where.

What actually happens is correct (you record on the device in front of you), but the layout says otherwise. On this page, most rows are device-local client settings and only two follow the scope header:

Row Where it's saved Does the scope header affect it?
Microphone, Dictation shortcut Client settings (voiceMicrophone, voiceShortcutMode) No
Language, Translate to English Client settings (speechLanguage, speechTranslateToEnglish) No
Silence filtering, Remove filler words, Dictionary Client settings No (Dictionary already says "saved on this device")
Clean up transcripts, Cleanup instructions, Correction cue Client settings No
Transcribe with Chosen on this client; selects the environment that transcribes No
Hardware, Unload model, model downloads The "Transcribe with" environment No: they follow "Transcribe with", not the header
Project / Shared dictionary, Cleanup model Environment settings (serverScoped) Yes

Code pointers (main @ afb4f91):

Suggested fixes

Any of these would help, in rough order of value:

  1. Group the client-local rows (Input, plus the language and cleanup preferences) in a "This device" section placed outside or above the scope header, or label them "This device (<device name>)".
  2. Add a hint to the Microphone row, for example: "Audio is recorded on this device and sent to <Transcribe with environment> for transcription."
  3. Label Hardware, Unload model and the models list with the "Transcribe with" environment, since that is the machine they change.
  4. Optionally, dim or annotate the scope picker when the focused row doesn't depend on it, or show a small scope badge only on the serverScoped rows.
Impact

Cosmetic issue

Version or commit

Desktop app 0.1.8 (behavior is the same on main @ afb4f91)

Environment

Windows desktop client connected to a remote macOS environment

Workaround

None needed once you know the rule: pick the microphone on the device you're sitting at, and the Mac doesn't need one.

主要语言
TypeScript
星标
24.8k
派生
6.4k
平均合并
10 小时 56 分钟
30 天内合并 PR
226

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

pingdotgg/t3code 的其他 Issue

查看 pingdotgg/t3code 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。