fix: defer automatic uploads while device synchronization is pending
Community checks / verify (push) Skipped
Verify Frame Flow / verify (push) Successful in 5m30s

This commit is contained in:
渡口浪人
2026-10-18 20:21:52 +08:00
parent 50bb41899d
commit a2e8a204e8
11 changed files with 202 additions and 33 deletions
+5 -7
View File
@@ -1,9 +1,7 @@
# pigway-frame-flow v0.1.22
# pigway-frame-flow v0.1.23
修复旧显示操作仍在等待同步时被后续任务替代,之后长期停留在结果未知的问题。后续常规显示已确认成功时,将较早的未确认操作收敛为 DISPLAY_NOT_CONFIRMED,保留原始错误和替代操作关联;不重发设备写入,不将旧操作误判为成功。临时覆盖、缺少上传目标、其他设备和删除操作不参与自动收敛。
- 自动调度和自动重试在同一设备已有图片等待同步时排队,避免 /upload 自动激活新图片而替换尚未确认的目标。等待沿用现有同步超时;保留用户手动切换与优先级行为。
- 在操作回执中保留最多 12 条设备读回状态及受限错误字段,记录实际图片、同步、在线和心跳,供定位未确认原因;不保存原始异常、URL 或凭据。采样不延长同步超时,原始上传证据保留。
- 沿用安全基础镜像、完整构建和固定镜像 ID 的预构建验收流程;不重发不确定的设备写入。
沿用 v0.1.21 的 Alpine 安全基础镜像和完整构建流程;本版本不沿用此前漏洞库快照的零检出结论。
验证:594 项测试、Ruff、格式和 mypy 通过;真实设备结果以部署后的只读回执为准。
生产主机无法访问镜像仓库时,支持导入完整构建镜像,并在切换前核对固定镜像 ID、版本、提交及运行源码哈希;不复用旧运行镜像覆盖源码。
验证:600 项测试(全量 599 项及新增超时边界用例)、Ruff、格式和 mypy 通过。历史设备物理刷新状态无法从缺失的原始采样追溯,不能将此版本描述为已修复所有网络或设备故障。