TRIP and sim
006cb78a93
feat(capsule): 录音胶囊样式可选(流光 Siri / Openless 默认)+ 修复 beta 构建破坏 ( #887 )
...
* feat(capsule): 录音胶囊样式可选——流光 Siri 风格 / Openless 默认风格
设置 → 录音与输入新增「胶囊样式」下拉(保留显示开关):
- UserPreferences.capsule_style('siri' 默认 / 'classic')随 capsule:state
payload 下发,切换后下一次录音即生效
- Capsule.tsx 双样式分支:siri 保留 SiriGL 光效舞台;classic 恢复 1.3.14
经典毛玻璃药丸(音量条 + 取消/确认按钮 + thinking 扫光 + 翻译徽章),
取消/确认改走 lib/ipc/dictation.ts,退出动画时长按样式区分
- 预览支持 ?style=classic;i18n 五语言新增胶囊样式文案
* fix(settings): 选区润色行适配重构后的 ShortcutRecorder props
beta HEAD 在快捷键录入交互重构(e12c8dcc)合并后遗留的构建破坏:
SelectionPolishSection 仍传已删除的 alignRecordButton / modifierPresets,
tsc 直接报错。改为新 API(value 可空 + onReset 恢复默认快捷键,
等价于旧「启用」按钮),恢复 beta 可构建状态。
* fix(capsule): 评审修复——经典药丸按钮可点 + 音频线程零偏好锁
- 经典样式(Openless 默认)下胶囊窗口长期 set_ignore_cursor_events(true)
(纯光效舞台时代遗留),✕/✓ 按钮实际不可点。现在主线程闭包按
「classic && visible && 非选区润色 && 录音/转写/润色中」关闭鼠标穿透,
终态 toast / 隐藏 / Siri / 选区润色保持穿透;值不变时不重复调用
set_ignore_cursor_events
- emit_capsule 在音频回调线程 ~30Hz 被调,原先直接读 prefs(整份克隆 +
偏好锁被 set() 跨磁盘 I/O 持有)。改为 Inner 上 AtomicU8 样式缓存,
主线程闭包每帧从 prefs 同步(与 show_capsule 同源读取),音频线程零开销
- 恢复「录音胶囊」行的 desc 文案(beta 原有,重构时被误删)
- Capsule.tsx 退出动画注释同步为按样式区分的常量名
* docs(capsule): 注明入场帧 payload 可能滞后一帧样式(防误改回音频线程读 prefs)
---------
Co-authored-by: sim <sim@local>
2026-08-03 14:17:52 +08:00
sim
e12c8dcc20
feat(hotkey-recorder): 快捷键录入交互重构——主行按钮移除、箭头右对齐、动画优化
...
- 未展开主行只留键帽 + 下拉箭头,录入入口统一在展开菜单里(录制快捷键/重置/停用)
- 箭头恒靠最右;菜单展开/收起高度改为固定值动画,多次切换不再卡顿
- ShortcutRecorder 支持 value=null(问答/切风格/唤起 App 未启用时直接录入即启用)
- 菜单支持 Esc / 点击外部收起;滑动方向统一向右
- 新增 defaultDictationHotkey()(RightControl,与 mock/Rust 默认一致)
2026-08-03 11:15:30 +08:00
a49d02b908
fix(settings/overview): 清理 Windows 上不适用的 UI 选项/标签/布局 ( #799 )
...
* fix(hotkey): Windows 移除 Command 单键预设
Windows 没有 Command 键,leftCommand/rightCommand 会被映射到 Win 键,而单按 Win
弹出开始菜单,实际无法作为录音热键。从 Windows 的 available_triggers 里删掉这两个
预设,前端「常用单键」chip 便不再展示;不影响 HotkeyTrigger 枚举本身与已有绑定。
Fixes #784
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(settings/overview): 清理 Windows 上不适用的 UI 选项/标签/布局
- #783 补齐 hotkey.triggers 缺失的 leftShift/rightShift/leftCommand i18n(5 语言);
之前缺 key 导致预设 chip 渲染成裸串 "hotkey.triggers.xxx"(用户看到的 "host…")
- #786 移除「粘贴快捷键」里的 Shift+Insert (xterm/urxvt) 选项——这组设置只在 Windows
出现,而该选项是 X11 终端专用,放 Windows 上纯误导
- #785 删除「自动更新」下方错位的 hotkey statusHint(本属快捷键区,误挂到启动组)
- #780 「胶囊确认插入 ✓」速查行改为仅 macOS——Windows/Linux 胶囊无此按钮
- #781 「年度活动」卡片补 marginBottom,与上方卡片 18px 节奏一致
- #782 「近 7 天」卡片加 overflow:hidden,窗口过小时柱状图不再溢出卡片圆角外
Fixes #783 , #786 , #785 , #780 , #781 , #782
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(settings): migrate removed Windows paste shortcut
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Chris233 <h-chris233@outlook.com >
2026-07-14 10:04:56 +08:00
414acf0dc7
feat(settings): 设置项悬停显示功能说明,降低 Less Computer / 录音胶囊等的理解门槛 ( #777 )
...
* feat(settings): 设置项悬停显示功能说明,降低 Less Computer / 录音胶囊等的理解门槛
页面瘦身后设置页描述小字全部隐藏,Less Computer、录音胶囊这类光看名字
猜不出用途的功能只剩一个标签,理解成本高。本次把已有的 desc 文案以
Tooltip 形式挂回标签文字上:
- Tooltip 新增 wrap 模式,整句说明允许换行(默认 nowrap 不变)
- SettingRow 的 desc 恢复生效:悬停标签文字弹出说明,虚线下划线 +
help 光标做「可悬停」暗示,布局保持紧凑
- SectionTitle 新增 hint,Less Computer / Claude 控制台 / 录音与输入
三个板块标题接上已有的 desc 文案
- 录音与输入里录音胶囊 / 录音方式 / 首选麦克风 / 录音时静音 /
插入剪贴板等行补传现成的 i18n desc
文案全部复用现有 i18n key,五种语言无需新增翻译。
* feat(settings): Less Computer 快捷键提示补一句「功能说明参见高级设置页」
通用页 Less Computer 那行原提示只讲快捷键用法,补一句指向「高级」设置页
的功能说明入口,降低理解门槛。5 语言同步。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(settings): make hints accessible and viewport-safe
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Chris233 <h-chris233@outlook.com >
2026-07-12 21:44:09 +08:00
b8acb9bdcc
feat(hotkey): 录音方式新增「自动」——短按=切换式,长按=按住说话 ( #789 )
...
* feat(hotkey): 录音方式新增「自动」——短按=切换式,长按=按住说话
在「切换式 / 按住说话」外新增第三种录音方式 Auto:按下即开录,
松手时按按住时长判定语义 —— 短按(< 350ms)锁存为切换式(保持
录音,下次按下再停),长按(>= 350ms)当作按住说话(松手即停)。
已锁存后再次按下即停。
实现要点:
- HotkeyMode 新增 Auto 变体(前后端类型同步)
- Coordinator 在 handle_pressed/handle_released 解释边沿:按下记录
press_at,松手用 elapsed() 判定短/长按
- 判定在松手处理时测量,会被 begin_session 阻塞 bridge 的时长抬高;
350ms 阈值下仅当冷启动 >= 350ms 时短按可能误判为长按(可恢复),
常见快速启动下判定正确。该权衡避免改动跨平台的 P0 串行化热键路径
- 设置页新增第三个分段选项;标签/使用提示与 5 种语言 i18n 补齐
- 新增 2 个单元测试覆盖短按锁存 / 长按结束
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(hotkey): preserve auto press duration across queueing
* fix(hotkey): compile timestamped edges on all targets
* test(hotkey): add Windows edge assertion helper
* fix(hotkey): show auto mode in shortcuts settings
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Chris233 <h-chris233@outlook.com >
2026-07-12 20:14:01 +08:00
浩彬(^-^)
ee0f746324
feat(windows): add SendInput insertion and keyboard list controls
...
Merge PR #740 after review and full CI. This supersedes PR #734 by including its SendInput insertion mode work plus the keyboard-list visibility preference for #738 .
2026-06-25 13:51:11 +08:00
浩彬(^-^)
fa09eaf605
feat(hotkey): support side-specific modifier combos
...
Add side-aware combo detection for dictation on macOS/Windows, shortcut recording support for side-specific modifiers, overlap validation, and tests.
2026-06-25 13:41:28 +08:00
HKLHaoBin and Cursor
63040b2028
feat(ui): 深色模式与主题 token 及选中态修复
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 19:03:02 +08:00
baiqing
5671805a09
revert(ui): 回退 AURA 界面大改到 beta-3 外观,保留功能与今日修复
...
把 #650 引入的 AURA / 玻璃拟态界面大改回退到 beta-3 (v1.3.6-3) 的外观,同时保留
AURA 期间合入的功能与今日两处行为修复。
回退到 beta-3:
- 外壳 FloatingShell、概览 / 历史页、卡片按钮 _atoms、设置弹窗、tokens.css / global.css
- 移除随 AURA 加入的主题切换(themeMode.ts / ThemeSection.tsx)
- 设置关闭按钮去掉圆形底(beta-3 本就透明)
保留:Apple 语音、手机远程录入、安卓、划词追问等功能,后端不动。
今日行为修复:
- 风格页切换不再卡顿(prefs:changed 监听只订阅一次 + motion layoutDependency 限制 layout 重测)
- ASR 本地引擎不再锁死,可在 provider 页直接切换(Apple 语音 macOS 直接可选)
为划词追问页补回其引用的 6 个 solid / radius token,避免回退后丢色。
2026-06-13 13:48:18 +08:00
HKLHaoBin
e330edef14
重构样式与组件以提高一致性并优化设计
...
• 更新了 Card 组件样式,采用新的变量来实现玻璃拟态效果和阴影。
• 修改了 Btn 组件中的按钮样式,以符合新的颜色令牌(tokens)。
• 调整了 Collapsible 组件样式,以获得更好的边框和背景一致性。
• 统一了各设置组件的边框圆角和背景颜色。
• 增强了 AboutSection、CheckUpdateButton 及其他板块,以利用新的设计令牌。
• 优化了应用外壳(app shell)和 aura 表面的全局样式,确保视觉效果的一致性。
• 引入了新的颜色令牌,以实现更好的主题管理和无障碍性。
• 更新了多个组件的 CSS,以反映设计系统的变更,包括按钮状态和背景。
2026-06-12 21:14:16 +08:00
HKLHaoBin
1ea467a001
feat(android): port Android APK runtime onto beta
2026-06-12 18:13:12 +08:00
吕柏青
84a96a3975
feat(capsule): 录音开始播放合成提示音 + 录音与输入设置开关
...
按下录音热键进入 recording 状态时,capsule 窗口用 Web Audio API 即时合成
一段上升双音提示音,提醒「已开始录音」;离开 recording 即停。提示音独立于
showCapsule —— 胶囊隐藏时仍会响。
- 新增 audioCueOnRecord 偏好(默认开启),可在「录音与输入」设置里开关,
并提供「试听」按钮即时听效果。
- 后端 UserPreferences / UserPreferencesWire 持久化该字段并默认 true,
老配置缺字段按开启;补两条单测(缺字段默认开启 + 显式 false 往返保真)。
- 提示音合成抽成 lib/audioCue.ts:playRecordStartCue / stopAudioCue 两个
操作 + 纯函数音符规划(recordStartCueTones / cueTotalDurationMs),附
.test.ts。suspended 的 AudioContext 先 resume 再排期,无 Web Audio 时静默降级。
- i18n 五语(en / zh-CN / zh-TW / ja / ko)补齐 label / desc / preview。
2026-05-31 09:39:29 +08:00
aeoform and Claude Opus 4.7
05a4634768
fix(linux): move streaming insert toggle into recording card
...
On Linux, hide the clipboard/paste/capsule settings group and move
the streaming insert toggle directly into the recording input card.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 21:36:49 +08:00
aeoform and Claude Opus 4.7
eb05bc1ca1
fix(linux): fcitx5 auxDown persistent + hotkey mode save + hide clipboard/capsule settings
...
- coordinator.rs: terminal state (Done/Error/Cancelled) auto-clears after 3s;
fix RETRY_GEN comparison (fetch_add returns old value, use latest_gen > gen+1);
remove broken 300ms retry
- HotkeySettingsContext.tsx: fix queueSetSettings never calling setSettings()
(latestPrefsRef was already updated to the new object before microtask ran)
- openless.cpp: add PostInputMethod event hook to restore auxDown after
fcitx5 processes key events
- RecordingInputSection.tsx: hide clipboard/paste/capsule settings on Linux;
streaming insert shown as standalone card instead of inside clipboard group
- ShortcutsSection.tsx: hide "capsule confirm" shortcut hint on Linux
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 20:53:32 +08:00
baiqing
52c49fcfad
feat(settings): 设置界面重构 — 分节化 / 精简 / Beta 渠道 / 麦克风 / 市场登录
...
将 2200 行的 Settings.tsx 单体拆为 pages/settings/ 下的按节文件(通用 / 服务 /
隐私 / 高级 / 关于),并对设置界面做整体精简与功能调整。
界面精简
- 移除各设置项冗长 / 多行描述(在 180px 标签列普遍折成多行),只留标签与控件
- 删除「个性化」独立 tab —— 仅剩字体大小一项、整页太空,并入「关于」
- 移除失效的「毛玻璃强度」滑块(其 CSS 变量无可见元素消费)
关于 / 更新
- 版本卡片图标右上方放「检查更新」按钮,固定查正式版(channel='stable')
- 「加入 Beta 渠道」迁到「高级」页底部、单独成节;开启后出现查测试版的检查按钮
- 检查中按钮内转圈;结果(已是最新 / 失败)只在按钮内呈现,卡片高度恒定,
不再因状态文字 reflow 抽搐
- Rust app_check_update_with_channel 新增可选 channel 参数,两个按钮各查各渠道;
后台 AutoUpdateGate 仍按 prefs.update_channel 走
麦克风选择
- 由全屏弹窗改为 SelectLite 下拉(与语言选择一致的「官方框」)
- SelectLite 增加 trailing / onOpenChange;新增 MicrophoneSelect —— 选中项右侧
打勾、勾左侧实时音量条
市场登录
- 抽出共用 GithubLoginModal 与 ui/Modal,扩展市场与风格市场登录统一走弹窗
- 修复风格市场登录弹窗「先小后大」尺寸跳动(各阶段固定 minHeight)
弹窗动画
- 去掉开启动画里的 blur 滤镜(卡顿 / 闪烁),改纯 opacity + transform
- 设置弹窗切 tab 内容轻微淡入;各处弹窗动画时长 / 缓动统一到 global.css
网络
- 新增 net.rs:进程级共享 reqwest 客户端(连接池复用)+ 传输层失败指数退避重试
2026-05-22 20:56:06 +08:00