claude-code-best/packages/@ant/ink/src
claude-code-best e86573ac2f fix: 修复 -r 模式下键盘输入无响应
两个根因:

1. earlyInput 的 readableHandler 残留在 stdin 上
   setAppCallbacks() 在反编译项目中从未被调用,导致
   stopCapturingEarlyInput() 是 no-op,readableHandler
   在 Ink 的 handleReadable 之前消费所有 stdin 数据。
   修复:在 handleSetRawMode(true) 时移除非自身的 readable listeners。

2. React 19 layout effect cleanup 顺序问题
   React 19 先运行新树的 layout effects,再清理旧树。
   当旧树(showSetupDialog)比新树(launchResumeChooser)
   有更多 useInput hooks 时,旧树 cleanup 把
   rawModeEnabledCount 降到 0,错误关闭 raw mode。
   修复:当 count=0 但仍有活跃 EventEmitter listeners 时恢复 count。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 23:54:09 +08:00
..
components fix: 修复 -r 模式下键盘输入无响应 2026-04-07 23:54:09 +08:00
core Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
hooks refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
keybindings refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
theme feat: 将 keybinding 纳入 ink 管辖 2026-04-07 17:51:01 +08:00
types Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
utils Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
index.ts refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00