# Gaster Code v0.1.7

这是一个以 Windows 桌面端在线更新稳定性和聊天展示体验修复为主的补丁版本。

相比 `v0.1.6`，这次重点修复了 Windows 桌面端自动更新后本地服务启动失败的问题，并补齐了 Windows 开发环境 WebUI 启动 CLI 时的宏预加载逻辑。同时修复了 Mermaid 渲染错误提示和聊天手动滚动被打断的问题。

## 主要更新

- 修复 Windows 桌面端在线自动更新流程：安装新版本前会先停止本地 server sidecar 和 adapter sidecar，避免升级后重启时出现 `os error 32`、`另一个程序正在使用此文件` 或“本地服务启动失败”。
- Windows 发布产物改为优先使用 NSIS 安装包，并在安装器 hook 中处理 sidecar 进程清理，降低从旧版本自动升级时被文件锁卡住的概率。
- 修复 Windows 开发环境中 WebUI 启动 CLI 失败的问题，源码 fallback 启动 CLI 时会正确加载 `preload.ts`，避免 `MACRO is not defined` 导致进程启动失败。
- 优化聊天列表手动滚动体验：用户向上查看历史消息时，流式输出不会强制把视图拉回底部；当用户仍停留在底部附近时，会继续保持自动跟随最新回复。

## 问题修复

- 修复 Mermaid 图表渲染失败时可能出现开发错误覆盖层的问题，让错误状态保持在聊天消息内部展示。
- 修复聊天流式输出期间手动滚动位置被覆盖的问题，并补充相关回归测试。
- 修复 Windows updater 安装阶段没有提前释放 sidecar 文件句柄的问题。
- 修复 Windows dev WebUI 会话启动时 CLI 进程直接以 code 1 退出的问题。

## 其他说明

- 已安装 `v0.1.5` 或 `v0.1.6` 的 Windows 用户正常情况下可以直接升级到 `v0.1.7`，不需要先卸载旧版本。
- 如果某台机器已经卡在旧版本升级后的“本地服务启动失败”页面，可以先完全退出桌面端和残留的 `gaster-sidecar.exe` 进程，再安装 `v0.1.7`。
- GitHub Release 正文继续以 `release-notes/v0.1.7.md` 作为来源，发布时无需再手动复制 Markdown。

## 安装说明

### macOS

首次打开如果提示“已损坏”或“无法验证开发者”，请执行：

```bash
xattr -cr /Applications/Gaster\ Code.app
```
