修复
- 创建页看不出脚本在不在跑:
onCreate 的输出之前被整个丢掉,界面只有一行"执行环境 onCreate 脚本..."加个转圈 —— 一个要下载一小时的 pnpm install 和真死锁长得一模一样。现在保留脚本最新一行输出(剥 ANSI、按 \r/\n 断行),并显示已运行时长。
- 退出后脚本变孤儿继续跑:之前
Esc/q 只是关掉 TUI,onCreate 里的 pnpm / node 还在后台跑(连 ctrl+c 也一样)。重试几次就攒出多个并发任务互相抢带宽。现在脚本跑在独立进程组里,中止时 kill(-pgid)(Windows 走 taskkill /T),子孙进程一起收掉。
- spawn 模式会卡住 UI:会话启动是在
Update 里同步跑的,开新终端窗口那一步(osascript / open)会把整个界面冻住。现在走异步 tea.Cmd。
- macOS spawn 改为 open 优先:AppleScript 会弹「自动化」授权框,而那个框常常藏在终端窗口后面,一直挡着启动流程。现在默认走
open + .command 包装脚本(不需要任何授权),AppleScript 退为兜底。
改进
- 执行中页面新增
已运行 mm:ss 和 › <脚本最新输出> 两行,能区分"慢"和"卡死"
- 提示文案改为"按 Esc/q 中止脚本并退出",与真实行为一致
- 脚本输出不进事件循环(
pnpm install 一秒几百行会把 UI 冲垮),只做单行快照
下载
go install github.com/FxRayHughes/worktreecli@latest