Skip to content

1.0.0 build 31: make the HUD diagnosable on the machine where it fails - #211

Merged
wangzhizhou merged 2 commits into
mainfrom
dev
Oct 29, 2026
Merged

wangzhizhou merged 2 commits into
mainfrom
dev

Conversation

@wangzhizhou

Copy link
Copy Markdown
Contributor

用户两次报告「状态变化 HUD 没出现」,两次都因为日志没写出来而无法定位:LAMPYRIS_HUD_DIAG 是用 launchctl setenv 设的,而宿主由 launchd 拉起,变量不一定传进去(报告 219 复现不了)。

本次只加可观测性,不改 HUD 行为:

  • 日志开关增加文件开关:~/Library/Application Support/Lampyris/hud-diag 存在即开启(环境变量仍支持)。
  • showStateFeedback 打点:走内联芯片还是 HUD、面板可见性、是否组合态、传给 HUD 的光标矩形。
  • hudCaretRect 入口记录 IMK 客户端 bundle 与前台应用 bundle、length()/selection()。

构建号 30 → 31(版本仍 1.0.0)。装到出现问题的机器上,touch 那个文件后按一次 ⌥F,日志就会说明它到底停在哪个分支。

Records the build-30 identity (ZIP 9704f209, host executable 16ac739f on
air and pro), the reason 29 was replaced (report 219), and that the swap
does not disturb IT-23 because day one has not been recorded yet.

Signed-off-by: wangzhizhou <824219521@qq.com>
Two rounds of "the HUD did not appear" could not be settled because
LAMPYRIS_HUD_DIAG set through launchctl does not reliably reach a host
that launchd started, so the log was simply never written.

The switch is now also a file (~/Library/Application Support/Lampyris/hud-diag),
and showStateFeedback logs which branch it took (inline chip vs HUD), the
panel/composition state, and the caret it passed on. hudCaretRect logs the
client and frontmost bundle at entry.

Build 31 so this can be diagnosed on the machine where it happens.

Signed-off-by: wangzhizhou <824219521@qq.com>
@wangzhizhou
wangzhizhou merged commit 1d40cce into main Oct 29, 2026
4 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.

1 participant