## 由 Sourcery 生成的摘要
为 v6.8.0 版本更新了更新程序行为、GUI 日志记录、资源以及 CI/发布工作流。
新功能:
- 在原生更新程序中添加对待处理更新计划条目的详细日志记录。
- 新增 copilot 配置 JSON 资源。
漏洞修复:
- 防止非完整更新包删除或替换目录,在这些情况下强制仅对文件进行操作。
- 从 WPF 待处理更新清单的删除列表中过滤目录条目,避免意外删除目录。
- 从 OTAPacker 的 zip 列表输出中排除目录条目。
- 当在 VisionHelper 中请求的 ROI 超出范围时,返回安全的空矩形,以避免无效图像访问。
- 通过仅记录最新公告正文来避免公告日志被覆盖。
改进:
- 为原生更新程序日志文件引入基于最大大小阈值的日志轮换。
- 在完整包更新期间保留缓存目录。
- 在 CI 中从发布制品中移除备份文件,以保持发布包干净。
构建:
- 调整本地安装脚本,将 WPF GUI 发布为 win-x64、自包含且针对特定运行时的构建。
CI:
- 在多个工作流中将 github-script action 升级到 v9。
- 在 Avalonia CI 工作流中将 upload-artifact 的使用升级到 v7。
- 更新发布工作流以使用最新的 softprops/action-gh-release v3。
- 将 COS 上传步骤切换为使用较新的 tencent-cos-action,并采用基于 sync 的参数进行发布分发。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Update updater behavior, GUI logging, resources, and CI/release
workflows for the v6.8.0 release.
New Features:
- Add detailed logging of pending update plan entries in the native
updater.
- Add new copilot configuration JSON resources.
Bug Fixes:
- Prevent non-full update packages from deleting or replacing
directories, enforcing file-only operations in these cases.
- Filter directory entries from the WPF pending update manifest remove
list to avoid unintended directory removals.
- Exclude directory entries from OTAPacker zip listing output.
- Return a safe empty rectangle when a requested ROI is out of range in
VisionHelper to avoid invalid image access.
- Avoid overwriting announcement logs by logging only the latest
announcement body.
Enhancements:
- Introduce log rotation for the native updater log file based on a
maximum size threshold.
- Preserve the cache directory during full-package updates.
- Remove backup files from release artifacts in CI to keep distributions
clean.
Build:
- Adjust local-install script to publish the WPF GUI as a win-x64
self-contained runtime-specific build.
CI:
- Bump github-script actions to v9 in multiple workflows.
- Upgrade upload-artifact usage to v7 in Avalonia CI workflows.
- Update release workflow to use the latest softprops/action-gh-release
v3.
- Switch COS upload step to use the newer tencent-cos-action with
sync-based arguments for release distribution.
</details>
fix: 给更换产物/订单的一环任务步骤加延时,避免在极低截图延迟下(5ms)出现更换不成功的情况。
fix: 给ConfirmProductChange任务添加一个stop出口,避免在单独测试更换产物任务时,可能会出现的一个意外报错。
点击更换订单和点击更换产物的时候(见下方两图)会有一个动画时间。
以前cpp代码里,任务执行默认有个500ms延时,可能是现在没有了吧,导致mumu extra模式下,有随机概率卡动画,点击产物会不生效,而且。
大概今年1月份就在我的基建里发现换班出问题了,但是再手动link start一次通常又能换好。
观察一段时间之后,发现能不能换成功都是随机的感觉。
同时,不管换没换对,在基建换班任务执行中,都是返回产物已切换,没有报错的。这个没搞懂怎么回事。
<img width="921" height="517" alt="image"
src="https://github.com/user-attachments/assets/5a45910d-8a87-47b8-8695-4e0f4242df8a"
/>
<img width="918" height="518" alt="image"
src="https://github.com/user-attachments/assets/c4132171-4978-4dbd-afbd-a9aaad13b6b0"
/>
额外加的stop入口是因为在执行自定任务测试的时候发现,如果切换到的产物和当前产物一致,会报错。
正常来说如果产物一致是不会进换产物流程的,所以不影响正常的换班逻辑。
## Summary by Sourcery
为产品/订单变更任务添加时序和控制流调整,以在截图延迟极低的情况下提升可靠性。
Bug Fixes:
- 在产品/订单变更步骤中引入延迟,以防止在截图延迟极低时出现随机失败。
- 为 `ConfirmProductChange` 任务添加停止退出逻辑,以避免在隔离任务测试期间,当目标产品与当前产品相同时出现错误。
<details>
<summary>Original summary in English</summary>
## Summary by Sourcery
Add timing and control-flow adjustments to product/order change tasks to
improve reliability under very low screenshot latency.
Bug Fixes:
- Introduce a delay in the product/order change step to prevent random
failures when screenshots are taken with extremely low latency.
- Add a stop exit to the ConfirmProductChange task to avoid errors when
the target product is the same as the current one during isolated task
testing.
</details>