修复旧浏览器更新提醒并完善画布自动保存与离开保护 #56

Merged
WuYongJie merged 1 commits from codex/canvas-background-save-update-notice into main 2026-11-06 16:09:09 +08:00
Collaborator

旧版浏览器缺少 AbortSignal.any 时,更新检测在发送版本请求前就失败,用户收不到刷新提醒。版本检测改用每次请求独立的 AbortController 和定时取消,继续每分钟及切回页面检查更新,网络恢复时也立即检查。刷新前仍同步画布、保留输入,并等待正在处理的任务完成。

画布在后台自动保存,恢复网络后自动重试。移除顶部保存按钮;返回首页、新建或切换项目时,仅在内容尚未同步时提供“保存并离开/不保存并离开/继续编辑”。保存失败会保留页面和草稿;选择不保存后不再补写草稿。浏览器关闭或刷新使用系统离开确认,选择、缩放和时间戳变化不会误触发内容未保存提示。关闭前保留草稿,离开后的保存只发送一次。

验证:22 项浏览器场景覆盖旧浏览器、定时更新、任务处理中刷新保护、断网恢复、离开确认、草稿恢复、图片操作回写和连续对话;781 项辅助测试通过,1 项原有跳过。TypeScript、相关文件 Biome、日志脱敏、密钥、环境、测试、制品和差异检查通过。已检查桌面和手机弹窗。浏览器验证使用隔离接口,不调用付费模型。

旧版浏览器缺少 AbortSignal.any 时,更新检测在发送版本请求前就失败,用户收不到刷新提醒。版本检测改用每次请求独立的 AbortController 和定时取消,继续每分钟及切回页面检查更新,网络恢复时也立即检查。刷新前仍同步画布、保留输入,并等待正在处理的任务完成。 画布在后台自动保存,恢复网络后自动重试。移除顶部保存按钮;返回首页、新建或切换项目时,仅在内容尚未同步时提供“保存并离开/不保存并离开/继续编辑”。保存失败会保留页面和草稿;选择不保存后不再补写草稿。浏览器关闭或刷新使用系统离开确认,选择、缩放和时间戳变化不会误触发内容未保存提示。关闭前保留草稿,离开后的保存只发送一次。 验证:22 项浏览器场景覆盖旧浏览器、定时更新、任务处理中刷新保护、断网恢复、离开确认、草稿恢复、图片操作回写和连续对话;781 项辅助测试通过,1 项原有跳过。TypeScript、相关文件 Biome、日志脱敏、密钥、环境、测试、制品和差异检查通过。已检查桌面和手机弹窗。浏览器验证使用隔离接口,不调用付费模型。
WuYongJie added 1 commit 2026-11-06 16:09:04 +08:00
WuYongJie merged commit 24a3c930c2 into main 2026-11-06 16:09:09 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lunanting/ai-chatbot#56
No description provided.