Files
NewSzxcn-Email/.github/release-notes/v1.2.7.md
zxyszx 397ce51800
Docker Release / Check web and api (push) Waiting to run
Docker Release / Resolve release tag (push) Blocked by required conditions
Docker Release / Build and publish all-in-one (push) Blocked by required conditions
Docker Release / Build and publish api (push) Blocked by required conditions
Docker Release / Build and publish web (push) Blocked by required conditions
Docker Release / Build and publish dovecot (push) Blocked by required conditions
Docker Release / Build and publish postfix (push) Blocked by required conditions
Docker Release / Build and publish rspamd (push) Blocked by required conditions
Docker Release / Create GitHub release (push) Blocked by required conditions
fix: make web updates survive container restart
2026-08-04 04:14:36 +08:00

1.4 KiB
Raw Permalink Blame History

本次更新

修复网页更新出现 502

  • 修复后台点击“立即更新”后,Watchtower 在替换业务容器时切断原更新请求,导致页面错误显示 502 Bad Gateway 或“更新失败”的问题。
  • 更新接口现在会先完成数据库备份并向网页返回 202 Accepted,再异步触发容器更新,避免旧容器停止时丢失响应。
  • 前端遇到更新期间的 502503504、网络中断或请求超时时,会继续轮询服务健康状态;确认目标版本启动后自动刷新页面。
  • Watchtower 调用等待时间延长到 10 分钟,兼容首次拉取较大镜像或网络较慢的服务器。

更新说明

  • 网页更新仍会在替换容器期间产生数秒正常中断,页面会显示“正在重启服务”,恢复后自动刷新。
  • 更新前仍会自动备份 SQLite 数据库,现有邮件、账号、域名、证书和配置不会删除。
  • v1.2.6 更新到本版时,旧页面尚未包含此次容错逻辑,建议在服务器运行 sudo newszxcn-email update 完成这一次升级;进入 v1.2.7 后,后续版本可正常使用网页更新。

验证

  • 新增异步更新回归测试:即使 Watchtower 更新请求保持阻塞,网页也必须先收到更新已受理响应。
  • 已通过 Go API 测试、前端生产构建和 shadcn/ui 检查。

完整更新日志v1.2.6...v1.2.7