Skip to content

v0.8.5

Choose a tag to compare

@gemron gemron released this 09 Sep 15:35
· 3 commits to main since this release

V0.8.5:自带 ConPTY,WebView2 过旧时给出提示

  • 终端在任何 Windows 上表现一致:每个终端都跑在 CreatePseudoConsole 打开的伪控制台上,而用的是哪一份此前完全取决于用户的 Windows 版本。ConPTY 会先把终端输入重建成 Win32 按键记录,程序再从中读回 VT,这一来一回是有损的:旧版本里 CSI Z 退化成普通 Tab,Claude Code 因此收不到 Shift+Tab;鼠标上报被整个丢弃,OpenCode 完全没法滚动。同样这些版本还会自己重排换行,xterm 再重排一次就乱了。现在 conpty.dllOpenConsole.exe(Microsoft.Windows.Console.ConPTY 1.24.260710001,MIT 许可)随两种安装包和 npm 包一起放在 termexo.exe 旁边,portable-pty 会优先用它而不是 kernel32.dll 里的那份。
  • 终端知道自己连的是哪一份伪控制台:使用旧版系统 ConPTY 时,它不再在 ConPTY 已经重排过的基础上重排第二遍。
  • WebView2 过旧时会明确提示:低于 Chromium 111 时样式里的 color-mix()oklch() 颜色会被整条丢弃、部分布局会错位,而界面上没有任何东西能把这个现象和运行时版本联系起来。现在提示会写明当前版本、所需版本、下载页和 winget 命令,并把地址保留为可读文本,供浏览器打不开时使用。运行时完全缺失时——通过 npm 安装的用户从来没有安装程序帮他们装上——会在启动前给出提示,而不是带着一条没人看得见的 panic 消息失败。

安装包比上一版大约 600 KB,是自带 ConPTY 的体积。

环境要求补充:Windows 10 build 17763(2018 年 10 月)或更高,WebView2 运行时 Chromium 111 或更高。