Repository navigation
v0.2.5
v0.2.5
把「更新」从一次性的写操作,变成可中断、可继续、装前先验的过程。
新增
- 更新包下载的断点续传:先把 tarball 下到
$DSH_HOME/dsh-git-update-notifier-downloads/,再用Range从断点继续。网络断开、主动取消、甚至 dsh 重启,下次都接着下(断点记在磁盘上) - 更新包校验:交给
npm install之前校验dist.integrity(sha512)、dist.shasum(sha1)与 tarball 内的包名 / 版本;两层凭据都缺失时拒绝安装 - 源码形态抓取可重试:
git pull拆成git fetch(可中断、可重试、git 复用已下载对象)+ 本地merge --ff-only - 更新过程可见:阶段、已下载 / 总大小与百分比,并标注「这次是从断点续上的」
- 中断入口:「中断下载」(保留断点)与「中断并丢弃断点」
变更
- npx / npm 形态改为安装校验过的本地 tarball:项目形态加
--no-save --no-package-lock(不改用户清单),npx 缓存写回依赖版本 - HTTP 路由由 7 条增至 9 条:新增
GET /progress.json与POST /download/cancel
修复
- 服务端忽略
Range、回 200 全量重下时,不再把磁盘断点位置误报成「续传了多少」 - 对端直接掐断连接时不一定报 error —— 改为同时依据
complete判定为可续传的中断
完整变更:CHANGELOG.md
发布归档:docs/releases/v0.2.5.md
宿主端有改动:升级后需要重启
dsh web才生效。另外「下载 + 校验 + 装本地包」这条路径只对 npx / npm 形态生效,源码形态的续传由 git 自身完成。