跳至内容

清单状态控制

背景

Scoop 的 bucket 通过 Github Actions 滚动更新清单版本号,这带来了两个问题:

清单错误风险

  • 清单在自动更新前无人审核,当安装包发生重大变动时,用户安装可能出现意外错误
  • 问题解决依赖维护者的响应速度,期间所有用户都会受影响

清单重命名通知缺失

  • 清单重命名后,无法主动通知已安装的用户
  • 官方做法是保留旧清单并通过 notes 属性提醒,但用户很少主动查看

abyss 的解决方案

abyss 通过版本号标记机制,实现了清单状态的实时控制:

暂停问题清单

  • 发现清单问题时,将版本号标记为 pending
  • pending 状态的清单无法安装或更新,保护用户免受影响
  • 问题修复后恢复版本号,用户即可正常使用

引导重命名清单

  • 重命名的清单标记为 renamed
  • 安装或更新时会提示新的清单名称
  • 相关的 PersistLink 数据会自动迁移

状态徽章

TIP

更多详情,请查看 清单

BadgeDescription
它是可用的,可以通过 Scoop 安装或更新
它是待定的,安装会被拒绝
如果在 pending 之前完成安装,则通过 Scoop 更新会被拒绝
它已被弃用,安装会被拒绝
如果在 deprecated 之前完成安装,则通过 Scoop 更新会被拒绝
它已被重命名,安装或更新都会被拒绝
错误信息中包含新的名称,你应该使用它进行安装
如果存在 PersistLink 的数据,会自动迁移
它是虚拟的,不进行实际的应用安装
它只会通过 PersistLink 进行数据持久化

abyss — always building your stable source.
Released under the MIT.