# 更新日志 版本号跟里程碑走。每个里程碑**做了什么、验证到什么程度**,README 的「里程碑与范围」与 「三道验证」里有完整交代;这里只记值得一看的改动。 ## 0.1.0 — 首次发布(M0–M8) ### 它能做什么 - **把另一台机器上的 DSH 搬进桌面版**:本机 / WSL / 虚拟机 / SSH 远端四类目标, 镜像出来的是那台机器**自己的那份前端**(同一套 UI 与体验,随远端版本走)。 - **统一界面(默认形态)**:选中那台机器的界面铺满主区,我们自己的列表 / 工具栏 / 日志收在 「管理」里;浮条上还有「全窗口」(把官方侧栏收成窄条)与「重载」。 - **机器切换器**:窗口上边一枚下拉框,只显示关键字(`本机` / `WSL · Ubuntu-24.04` / …); 桌面版里它钻进**标题栏那一条**(那条带子中间是空的),谁也不挡,并且跟随窗口尺寸重算。 - **本机吸附**:`kind: local` 默认接上桌面应用自己那套 DSH——打开应用就是「运行中」, 不另起进程、不建 profile;要另起一份独立进程就写 `attach: false`。 - **管理界面**:启停 / 预检 / 版本探测 / 更新与回滚 / 日志抽屉 / 一键复制诊断。 - **多实例并发**:各自独立的远端端口与镜像端点;最近看过的 3 台保持挂载,切回来是瞬间的。 ### 值得一提的修复 - **镜像区一直抖、什么都显示不出来**:`` 的 `dom-ready` 对**每一次**导航都触发, 旧写法"每次 dom-ready 都重设 src"会变成无限重载;另外载体 effect 的依赖里放着宿主服务对象, 而它每次渲染都是新的,外壳一重渲染就"拆视图 → 重挂一个"。 - **桌面版里一直显示「需要票据」**:桌面顶层是 `dsh-app://app`,镜像因此是**第三方 iframe**, `SameSite=Lax` 的票据 cookie 不会被带上。现在按 `Sec-Fetch-Site` 自适应下发 `SameSite=None; Secure`(回环地址在 Chromium 里是可信来源)。 - **误报「没有导航到镜像地址」**:`did-finish-load` 对最初那一跳 `about:blank#` 也会触发, 旧写法在导航还没开始时就判了降级。 - **渲染太慢**:`auto` 改成内嵌框架优先;镜像端口按实例复用(origin 就是浏览器缓存与镜像里那套 DSH 的 localStorage 的键);内容寻址的前端资源在镜像端点做内存缓存、实例一就绪就后台预热; 最近 3 台保活。 ### 环境与兼容 - 需要 DSH `^0.2.0-rc.1`(peerDependencies)、Node ≥ 20,宿主提供 `webServer` 服务。 - 桌面版是**启动型 profile**:装完 / 改完必须**完整重启**桌面应用,刷新窗口不够。 - 更新与回滚不碰桌面版自带运行时(`app.asar` 里那份),会明确拒绝而不是假装成功。