fix(windows): 收口 Capsule helper-window 生命周期并进入回归评审#140
Conversation
There was a problem hiding this comment.
Sorry @Cooper-X-Oak, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
合并决定 + 一项后续调整,记录如下: 合入PR #140 的核心收尾会全部并入 main:
后续调整(合并后立即跟进,不在本 PR 内)
冲突解决跟 main 上 PR #160 的 use 块产生 import 排序冲突——两边导入完全相同的 8 个 Win32 符号,仅字母顺序不同,无语义差异。按"以最后修改为准"取 main 当前 HEAD 的排序。 合并后的回滚补丁会以单独 commit 落到 main,commit message 引用本 PR;PR 会被本地合并后关闭。 |
…ead-zone-followup fix(windows): 收口 Capsule helper-window 生命周期并进入回归评审 合入 PR #140 全部修复(保留 #140 author 提交)。冲突点(Win32 use 块导入排序) 取 main HEAD 排序——两边导入相同符号,仅字母顺序不同,无语义差异。 合并后 emit_capsule 的 visible 判定将三平台统一回 !Idle,由后续 commit 跟进—— 保留 macOS 已习惯的 Done/Cancelled/Error toast,Windows linger 由本 PR 加的 hide_capsule_window_if_present() Win32 hard-hide 路径解决,不靠改 visible 语义。
PR #140 在 Windows 上把 emit_capsule 的 visible 判定从 !Idle 缩窄到 仅 Recording/Transcribing/Polishing,副作用是 macOS / Linux 用户也失去了 "已粘贴 N 字" / "已取消" / 错误文案这一组完成 toast。 本 commit 把 visible 切回原本的 `!matches!(state, CapsuleState::Idle)`, 覆盖三平台。Windows 上 linger 的真实问题(dead zone / 截图选中 / 拖动卡顿) 由 PR #140 引入的 hide_capsule_window_if_present() Win32 hard-hide 路径 在 visible=false 分支处理——不依赖改 visible 语义。 closes the visible-narrowing follow-up referenced in PR #140 review comment。
|
已通过本地 rebase + main merge 合入(merge commit 保留 Cooper-X-Oak 原作者)。配套 visible 三平台统一回 !Idle 的 follow-up 已在后续 commit 落地,详见 main 历史。 |
治理归属
docs/windows-window-governance-board.zh-CN.mddocs/2026-05-02-window-capability-family-audit.mddocs/github-tracking/windows-window-family-canonical-map.md摘要
Closes #139
这个 PR 现在从“问题收敛中”推进到“regression review 中”。
本轮已经完成:
inactive路径的 native hide / non-topmost 收口修复 / 新增 / 改进
visible / hidden / inactive / non-participating的 Capsule 语义docs/github-tracking/issue-139-capsule-lifecycle.md保持同一问题口径兼容
测试计划
命令:
node openless-all/app/scripts/windows-lifecycle-contract.test.mjs结果:通过
证据路径:本地命令输出
命令:
npm run build结果:通过
证据路径:本地命令输出
命令:
cargo check --manifest-path openless-all/app/src-tauri/Cargo.toml结果:通过
证据路径:本地命令输出
命令:
powershell -ExecutionPolicy Bypass -File openless-all/app/scripts/windows-runtime-smoke.ps1结果:通过 launch / hotkey installed baseline
证据路径:本地命令输出
命令:人工桌面回归(latest debug cold start -> dictation start/stop)
结果:点击 / 截图 / 拖拽三项全部通过
证据路径:当前线程回归记录