claude-code-best
|
e38d45460e
|
fix: 修复 Windows Node.js 构建产物因 stdin.ref() 泄漏导致进程挂起 (#353)
startCapturingEarlyInput() 调用 stdin.ref() 后,如果 Ink 未能接管
(如 raw mode 不支持或 setup 阶段异常),unref() 永远不会被调用,
导致 Node.js 事件循环无法退出。修复包括:
- stopCapturingEarlyInput() 中补充 stdin.unref() 调用
- 新增 10s 安全阀定时器自动清理 leaked ref()
- Ink App.componentWillUnmount 兜底 unref() 非 TTY stdin
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-04-24 21:16:15 +08:00 |
|
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 |
|
claude-code-best
|
e5782e732c
|
Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)"
This reverts commit 88d4c3ba24.
|
2026-04-07 16:17:48 +08:00 |
|
claude-code-best
|
88d4c3ba24
|
Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)
This reverts commit c445f43f8d.
|
2026-04-07 15:05:03 +08:00 |
|
claude-code-best
|
c445f43f8d
|
feat: 第一个可以用的 ink 组件抽象 (#158)
|
2026-04-06 23:56:45 +08:00 |
|