Skip to content

1.0.0 build 33: make Shift and ⌥M actually keep the code - #213

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

build 32 只通过了 ⌥F(全角)——另外两条被我改在了没被走到的地方(报告 222)。

1. Shift 为什么仍丢字

键盘单独 Shift 走 flagsChanged → session.shiftTransition(...)(内部 toggleEnglish() → core cancel()),随后 clearMarked + hide()。我上一版改的 toggleEnglish(_:) 是菜单/快捷键那条路,键盘根本走不到。

修法:在 shiftTransition 之前把编码取出来,切换后 clearMarked + insertText(raw) 原样上屏。

2. ⌥M 为什么仍丢字

applyInputMode() 里 session?.setMode(next) 之前调了 cancelClientComposition()——先把组合取消掉,核心再怎么保留也没意义。

修法:去掉那次取消,改为 setMode → 芯片反馈 → refreshAfterStateChange()(预编辑与候选按新模式刷新)。

验证

  • test-controller-menu 通过;make verify PASS;make macos-offline-tests 56 文件 / 303 例 PASS
  • 构建号 32 → 33
  • 这两条路径属宿主 AppKit 逻辑,离线探针覆盖不到,必须装机复验:打字出候选 → Shift(应落下 nihao 字母);打字出候选 → ⌥M(候选框不消失、候选按新模式刷新)

…e to build 32

Both machines now run 1.0.0 build 32 (host executable ddd33b7a…), and the
trial baseline follows, since IT-23 has not started counting yet.

Signed-off-by: wangzhizhou <824219521@qq.com>
Report 222: build 32 passed only the width case because the two other
paths live in the host, not in the core.

A lone Shift press goes through flagsChanged and called shiftTransition,
which swallows the buffer and then cleared the marked text; the menu
handler I patched earlier was never reached. The raw code is now captured
before the transition and inserted afterwards.

Cycling modes called cancelClientComposition() before setMode, so the
composition died no matter what the core did; it now sets the mode, shows
the chip feedback and refreshes marked text and candidates.

Build 33.

Signed-off-by: wangzhizhou <824219521@qq.com>
@wangzhizhou
wangzhizhou merged commit 55ffdc6 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