Skip to content

docs(windows): 跟踪双热键事件源生命周期#155

Merged
appergb merged 2 commits into
Open-Less:mainfrom
Cooper-X-Oak:codex/issue-154-windows-dual-hotkey-pr
May 2, 2026
Merged

docs(windows): 跟踪双热键事件源生命周期#155
appergb merged 2 commits into
Open-Less:mainfrom
Cooper-X-Oak:codex/issue-154-windows-dual-hotkey-pr

Conversation

@Cooper-X-Oak
Copy link
Copy Markdown
Contributor

@Cooper-X-Oak Cooper-X-Oak commented May 1, 2026

治理归属

  • 族群:E 族群 / helper-window 与输入交互契约
  • canonical issue:[windows] OS hook 与主窗口前台热键双事件源并存,听写生命周期存在失配风险 #154
  • 主修范围:Windows 双热键事件源、input source ownership、state-machine precedence、mixed-source regression
  • 不默认并入:主窗口外观、capsule geometry、helper-window hidden-state 语义、startup visible/ready 视觉暴露
  • 参考:
    • docs/windows-window-governance-board.zh-CN.md
    • docs/2026-05-02-window-capability-family-audit.md
    • docs/github-tracking/windows-window-family-canonical-map.md

摘要

Closes #154

这个 draft PR 用来承接 Windows 双热键事件源问题。当前阶段已经不只是“问题边界收敛”,而是基本得出了当前 repair track 的结论:

  • Windows 下 dictation / QA lifecycle 的 owner source 应由 backend low-level keyboard hook 单独拥有
  • window-local / renderer hotkey forward 不应继续参与同一状态机
  • 这条线的后续重点将从“继续猜路径”转为“做 regression review,确认 mixed-source 风险是否已经足够收口”

当前状态 / Current status

问题层面 / Problem layer

  • 这是 input source ownership / lifecycle precedence 问题
  • 当前证据已经支持以下 contract:
    • Windows lifecycle owner = backend low-level keyboard hook
    • renderer/window-local hotkey path = 不再驱动主状态机
  • 这条线仍属于 selection ask / QA feature family,但不等于 helper-window lifecycle / UI 外观线

修复 / 新增 / 改进

  • 当前阶段继续作为 tracking draft PR
  • 已收敛的核心结论:避免双事件源共同驱动同一 dictation / QA state machine
  • 后续若要继续推进,应主要补 mixed-source regression evidence,而不是再做大改

兼容

  • 不包含:QA helper-window drag 修复
  • 不包含:主窗口圆角 / 外框 / 阴影等 Windows UI 外观修复
  • 对现有用户 / 本地环境 / 构建流程的影响:当前主要是问题收口与 review 入口,不再扩 scope

测试计划

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@Cooper-X-Oak Cooper-X-Oak marked this pull request as ready for review May 1, 2026 21:24
Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 229b871d27

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +16 to +20
- [openless-all/app/src/App.tsx](/D:/Users/cooper/Practice-Project/202604/openless/openless-all/app/src/App.tsx)
- Windows window-local forwarding existed in the frontend path
- [openless-all/app/src-tauri/src/coordinator.rs](/D:/Users/cooper/Practice-Project/202604/openless/openless-all/app/src-tauri/src/coordinator.rs)
- backend also accepted `handle_window_hotkey_event`
- [openless-all/app/src-tauri/src/hotkey.rs](/D:/Users/cooper/Practice-Project/202604/openless/openless-all/app/src-tauri/src/hotkey.rs)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Replace machine-local evidence links with repo-relative paths

The evidence section links to /D:/... filesystem paths, which only exist on one Windows workstation and are not resolvable in GitHub or by other contributors. This breaks traceability for the core claim in this tracking doc because reviewers cannot open the referenced source files from the repository context. Use repository-relative links (or commit permalinks) so the documentation remains portable and verifiable.

Useful? React with 👍 / 👎.

@appergb appergb merged commit cc030c8 into Open-Less:main May 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[windows] OS hook 与主窗口前台热键双事件源并存,听写生命周期存在失配风险

2 participants