Skip to content

修复 OTA 双包升级竞争,并更新 0.6.2 构建包 - #50

Merged
massif-01 merged 2 commits into
RMinte-AI:mainfrom
massif-01:fix/ota-062-two-package-flow
Oct 13, 2026
Merged

massif-01 merged 2 commits into
RMinte-AI:mainfrom
massif-01:fix/ota-062-two-package-flow

Conversation

@massif-01

Copy link
Copy Markdown
Member

设备 WebUI 使用浏览器代理升级固件和 WebUI 时,定时进度查询也会推进设备直接下载流程,可能重复启动 WebUI 升级并提前重启,最终出现“升级失败”但固件已经更新的误报。

本次将两条升级流程的控制权分开,保留固件已写入的失败/未确认结果,并在重启后核对目标分区及完整固件版本。同步修复 SD 卡 WebUI 连续重试丢失来源、路径检查后离开页面留下升级锁、启动回包在页面离开后误结束设备任务三个回归。URL、SD 卡、仅固件升级继续使用原有设备 API,OTA 服务代码不变。

更新 build/ 刷写包,基础版本保持 0.6.2,完整构建版本为 0.6.2+028e6330.10132311。镜像由干净源码提交 028e63309255045957e86fcb73cc328cf5d95997 构建,firmware-manifest.json 记录源输入哈希和全部六个刷写文件的大小/SHA-256。这组产物用于替换现有 v0.6.2 Release 附件;OTA 同步由用户手动触发。

验证:

  • 165 项单元测试、742 项真实 Chrome 页面回归通过(设备 API 使用测试替身)。
  • 32 项 OTA 用例在实际压缩后的 WebUI 上通过;13 项打包资源通过语法及 gzip 一致性检查。
  • ESP-IDF 5.5.2 完整构建通过;应用镜像校验和、嵌入版本、刷写映射和镜像清单核对通过。
  • 新增导航与连续重试用例已验证修复前失败、修复后通过。

实机 OTA 尚未执行。旧 WebUI 发起安装本版本时仍使用旧脚本,首次过渡与刷新后的后续 OTA 需要分别验收。原有取消后旧刷新回包可能停止后续任务轮询的竞态未纳入本次修复。

@massif-01
massif-01 merged commit 07b9b36 into RMinte-AI:main Oct 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant