Chris233
9b05ed0c71
Merge pull request #570 from H-Chris233/fix/linux-frosted-glass-553
...
fix(linux): fallback from backdrop-filter when WEBKIT_DISABLE_COMPOSITING_MODE=1
2026-06-01 10:36:46 +08:00
H-Chris233
c45b6c0179
fix(linux): fallback from backdrop-filter when WEBKIT_DISABLE_COMPOSITING_MODE=1
...
Issue #553 : Linux 上 WEBKIT_DISABLE_COMPOSITING_MODE=1 时 WebKitGTK backdrop-filter
在 DOM 重排后失效(hover 历史词汇表 / 选择条目刷新面板)。
方案:
- Rust 端新增 is_no_compositing_mode command 暴露环境变量状态
- App.tsx 初始化时调用,写入 data-ol-no-compositing 到 <html>
- CSS 用 [data-ol-no-compositing] 选择器覆盖 inline style,切换到
渐变+噪点纹理假磨砂方案(复用 tokens.css --ol-frost-grain)
- WindowChrome/FloatingShell 加 className 钩子
受影响的三处 backdrop-filter:WindowChrome 底板、主面板、
Linux 标题栏。ProviderPrompt/HotkeyModePrompt 弹窗遮罩
(瞬态 UI)跳过。提交签署:Reasonix Code
2026-06-01 09:35:07 +08:00
Chris233
4d2a35d2d3
Merge pull request #568 from H-Chris233/feat/media-play-pause-trigger
...
feat: 新增 MediaPlayPause HotkeyTrigger 支持有线耳机线控录音 (#477 )
2026-06-01 08:39:32 +08:00
H-Chris233
dc846f60e6
feat: 新增 MediaPlayPause HotkeyTrigger 支持有线耳机线控录音
...
- 枚举新增 MediaPlayPause 变体,与 RightControl 等并列
- Windows WH_KEYBOARD_LL 钩子捕获 VK_MEDIA_PLAY_PAUSE (0xB3)
- macOS/Linux 标记为 unreachable (Windows-only)
- 前端类型、i18n 翻译支持
- 配置迁移保护:Linux fcitx 函数添加 MediaPlayPause 守卫
Closes #477
2026-05-31 23:14:48 +08:00
Chris233
854d0aacd1
Merge pull request #566 from H-Chris233/fix/issue-562-qa-active-asr
...
fix(qa): use active ASR provider in floating panel
2026-05-31 21:34:22 +08:00
Chris233
0b615a9a3e
更新 pr-agent.yml
2026-05-31 21:32:21 +08:00
H-Chris233
4e30c7461d
fix(qa): use active ASR provider in floating panel
2026-05-31 21:04:37 +08:00
Chris233
bbc78d1461
Merge pull request #565 from H-Chris233/fix/issue-559-local-model-management
...
Fix local ASR model storage management
2026-05-31 20:12:32 +08:00
Chris233
2990e39994
更新 pr-agent.yml
2026-05-31 20:11:27 +08:00
H-Chris233
550f410b9a
fix: guard Foundry model directory refresh
2026-05-31 19:59:13 +08:00
H-Chris233
110902f49d
fix: add local model storage management
2026-05-31 19:32:49 +08:00
吕柏青
acac9f67d9
chore(release): bump version to 1.3.5-1 (Beta) — 录音开始合成提示音
...
本次只动版本号,功能改动已在 #560 落盘:
- 按下录音热键进入 recording 即播放 Web Audio 合成提示音,提醒「已开始录音」
- 新增 audioCueOnRecord 开关(默认开启),录音与输入设置可关闭 + 试听
2026-05-31 14:02:47 +08:00
TRIP
4bc94ecc5e
Merge pull request #560 from Open-Less/feat/audio-cue-on-record
...
feat(capsule): 录音开始播放合成提示音 + 录音与输入设置开关
2026-05-31 14:01:35 +08:00
Chris233
f669370003
Merge pull request #556 from H-Chris233/fix/issue-548-macos-fullscreen-capsule
...
fix(macos): show capsule in fullscreen Spaces
2026-05-31 13:30:56 +08:00
H-Chris233
a5970f8c12
fix(macos): avoid gated AppKit collection type
2026-05-31 11:29:43 +08:00
Chris233
8a68be01d3
Merge pull request #558 from andya1lan/fix/release-notes-duplicate-prelude
...
fix(ci): Release Notes 里的注意事项只输出一次
2026-05-31 10:05:10 +08:00
吕柏青
2784e9764b
fix(audioCue): resume 期间被叫停则作废本次播放(pr_agent 评审)
...
suspended 的 AudioContext 先 resume 再排期,若等待 resume 期间录音已结束
(stopAudioCue)或有新一轮播放,旧的 resume 回调不再排期,避免「录音已停、
提示音晚到」。引入 playGeneration 代号:stopAudioCue 自增并停节点;
scheduleCueVoices 只 stopVoices 不动代号;deferred 播放回调比对代号决定是否排期。
2026-05-31 09:44:25 +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
Andy Allan
972405927a
fix(ci): emit release body prelude only from leader matrix job
2026-05-31 00:36:17 +08:00
H-Chris233
0a66f3e50e
fix(macos): show capsule in fullscreen Spaces
2026-05-30 15:14:08 +08:00
Chris233
f7bcf25bd7
Merge pull request #555 from H-Chris233/fix/issue-542-openai-reasoning-effort
...
fix(llm): gate OpenAI reasoning effort by model
2026-05-29 22:54:46 +08:00
H-Chris233
84e2a7ba1d
fix(llm): gate OpenAI reasoning effort by model
2026-05-29 22:28:41 +08:00
Chris233
e0711c11e9
Merge pull request #554 from aeoform/fix/linux-fcitx5-auxdown-persist-and-hotkey-mode-save
...
fix(linux): fcitx5 auxDown 持久化 + 热键模式保存修复 + 隐藏剪贴板/胶囊设置
2026-05-29 21:59:23 +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
Chris233
f517912068
Merge pull request #551 from H-Chris233/beta
...
fix(asr): change default Resource ID from bigasr to seedasr
2026-05-29 13:07:52 +08:00
H-Chris233
de5034145f
fix(asr): change default Resource ID from bigasr to seedasr
...
volc.bigasr.sauc.duration -> volc.seedasr.sauc.duration
2026-05-29 11:43:25 +08:00
Chris233
87d752ef26
Merge pull request #550 from H-Chris233/fix/issue-543-asr-http-endpoint
...
fix(asr): allow HTTP endpoints with risk warning
2026-05-29 11:35:29 +08:00
H-Chris233
2e5ba91b95
fix(asr): allow HTTP endpoints with risk warning
2026-05-29 11:28:31 +08:00
Chris233
5f6f44709c
Merge pull request #549 from H-Chris233/fix/issue-548-macos-capsule-spaces
...
fix(macos): show capsule across Spaces
2026-05-29 11:19:01 +08:00
H-Chris233
57f186f054
test: make capsule Spaces contract cross-platform
2026-05-29 11:07:07 +08:00
H-Chris233
40b8c0ce13
fix(macos): show capsule across Spaces
2026-05-29 10:59:58 +08:00
Chris233
e4acd1d9b4
Merge pull request #546 from aeoform/chore/linux-fcitx5-plugin-inject-and-cleanup
...
chore(linux): fcitx5 插件打包注入 + 清理 rdev 残留 + 声明系统依赖
2026-05-29 10:15:42 +08:00
aeoform and Claude Opus 4.7
28ef33267c
fix(inject): fail loudly when RPM injection cannot complete
...
exit 0 on rpmrebuild failure produced a broken RPM silently.
Use exit 1 and print to stderr so the CI pipeline catches it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:59:53 +08:00
aeoform and Claude Opus 4.7
f5bf1ff153
fix(inject): remove AppImage support, detect Debian multiarch dynamically
...
- AppImage cannot work for fcitx5 plugin injection: fcitx5 runs on the
host system and loads addons from host paths (/usr/lib/.../fcitx5).
Files placed inside the AppImage mount are invisible to fcitx5.
- For Debian, use dpkg-architecture to detect the multiarch triplet
(x86_64-linux-gnu, aarch64-linux-gnu, etc.) instead of hardcoding.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:53:53 +08:00
aeoform and Claude Opus 4.7
71a36344b2
fix(fcitx): probe multiple distro lib paths for plugin check
...
Debian uses /usr/lib/x86_64-linux-gnu/fcitx5, RPM uses /usr/lib64/fcitx5,
and some distros use /usr/lib/fcitx5. Check all three to avoid false
alarms on non-Debian systems.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:38:08 +08:00
aeoform and Claude Opus 4.7
0e5f90bcf2
fix(inject): use correct RPM lib path, remove broken AppImage file mode
...
- RPM: use /usr/lib64/fcitx5/ (RPM 64-bit standard) instead of
Debian multiarch path
- AppImage: only support AppDir directory input, remove .AppImage file
extraction which couldn't repack and would lose changes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:32:10 +08:00
aeoform and Claude Opus 4.7
2bd733ecb3
fix(ci): remove Tauri resources for plugin files, simplify to path check
...
- Remove `resources` from tauri.linux.conf.json — the .so/.conf files
don't exist on CI (plugin is built separately), causing cargo check
to fail with "resource path doesn't exist"
- Simplify ensure_plugin_installed to just check system paths exist,
no bundled comparison needed
- Remove prebuild script and copy-plugin.mjs (no longer needed)
- Remove plugin entries from .gitignore
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:16:53 +08:00
aeoform and Claude Opus 4.7
d426b9e7b8
fix(ci): replace bash prebuild with cross-platform Node.js script
...
The prebuild script used bash syntax (mkdir, for, [ -f ]) which fails on
Windows. Replace with a Node.js script that checks platform() and skips
non-Linux, keeping the plugin copy logic only where it's needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:13:44 +08:00
aeoform and Claude Opus 4.7
19ab7429cd
chore(linux): fcitx5 插件打包注入 + 清理 rdev 残留 + 声明系统依赖
...
- fcitx5 插件改为打包时注入系统路径(inject-fcitx5-plugin.sh),不再运行时复制
- ensure_plugin_installed 改为纯版本检查,不做文件 I/O
- 清理 hotkey/permissions/unicode_keystroke 中 rdev 相关注释和日志
- tauri.linux.conf.json 声明 deb/rpm 运行时依赖及 fcitx5 推荐
- prebuild 脚本自动复制插件文件供 Tauri resources 打包
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 23:08:00 +08:00
吕柏青
9746bb2ae8
chore(homebrew): bump cask to 1.3.4
...
Update OpenLess Homebrew cask from 1.2.23 to 1.3.4 (latest stable
release v1.3.4-tauri, published 2026-05-22). SHA256 checksums for
both aarch64 and x64 DMGs verified by local download.
2026-05-28 21:31:42 +08:00
Chris233
5acb2dff1a
Merge pull request #541 from H-Chris233/fix/windows-capsule-hitbox
...
fix(ui): restore Windows capsule hitbox metrics
2026-05-28 11:38:40 +08:00
H-Chris233
d758d5f71d
fix(ui): restore Windows capsule hitbox metrics
2026-05-28 11:27:33 +08:00
Chris233
38e9fb2035
Merge pull request #536 from weikeyi/pr/sherpa-streaming-backend
...
Pr/sherpa streaming backend
2026-05-27 19:05:22 +08:00
Chris233
58b5684c0c
Merge pull request #537 from H-Chris233/fix/bailian-endtime-fallback
...
fix(bailian): 修复 end_time fallback 将 interim 误判为 final 的 bug
2026-05-27 18:04:44 +08:00
Chris233
e5cb823255
Merge pull request #535 from H-Chris233/fix/issue-530-bailian-dedup
...
fix(bailian): 加固 DashScope ASR 累积文本重复修复
2026-05-27 18:04:12 +08:00
H-Chris233
a534ec5b0b
fix(bailian): 修复 end_time fallback 将 interim 误判为 final 的 bug
...
end_time > 0 的 fallback 逻辑在 sentence_end 字段存在时不应该启用,
因为 DashScope 的 interim 结果也携带正数 end_time,导致累积文本重复重现。
改为仅当 sentence_end 字段完全不存在时才 fallback 到 end_time > 0。
同时修正测试 helper 的 end_time 值,使其匹配真实 API 行为(interim 也有正数 end_time),
并新增 interim_with_positive_end_time_not_mistaken_for_final 测试。
2026-05-27 17:59:28 +08:00
H-Chris233
ee164c3863
fix(bailian): 加固 DashScope ASR 累积文本重复修复
...
- 跳过 heartbeat 事件(不含识别文本)
- 改用 API 文档标注的 sentence_end 判断 finality,end_time > 0 作为兼容 fallback
- 新增 partial_segments BTreeMap 追踪 interim 结果,final 时自动清理
- sentence_id == 0 的 final 结果不再丢弃,存入 final_segments
- 新增 merge_segments() 带 2 字符最小重叠检测的拼接守卫
- finish_with_partial_or_error 同时检查 partial_segments
- 测试从 3 个扩展到 20 个
2026-05-27 15:08:23 +08:00
weikeyi
c2080286fb
feat(asr): wire sherpa streaming into dictation
2026-05-27 15:00:30 +08:00
weikeyi
39738fde2a
feat(asr): add sherpa online streaming runtime
2026-05-27 15:00:30 +08:00