修复画布保存状态判定和素材上传刷新保护 #58

Merged
WuYongJie merged 1 commits from codex/canvas-leave-pending-upload into main 2026-11-06 16:54:43 +08:00
Collaborator

数据库以 JSONB 保存画布,返回时字段顺序可能改变。保存状态改为比较实际内容,日期按持久化格式统一,选择或时间戳变化不会被当作内容编辑;已保存的图片可直接继续 Agent 对话。同步故障提示说明同步原因,只有确实拦截了任务发送时才说明任务未提交。

本地图片上传期间保存的是画布占位节点,不能代表图片已上传成功。画布离开确认和版本刷新会识别尚未上传的图片,提示等待上传完成或处理失败图片;聊天框上传附件时也保留页面,传完后可继续刷新。选择不保存并离开仍可放弃未同步内容。更新受阻时提供“返回处理”,让用户能够回到画布解决原因。

验证:26 项同步和刷新浏览器场景采用 JSONB 的字段顺序,覆盖保存状态、连续对话、上传保护、图片及未发送输入保留。8 项聊天滚动回归通过;781 项辅助测试通过、1 项原有跳过。TypeScript、相关文件 Biome、日志、密钥、环境、测试和制品检查通过,桌面和手机弹窗已检查。验证使用隔离接口,未调用付费模型,扶苏本人设备尚未复测。仓库全量 lint 有既有问题,本次检查范围为改动文件。

数据库以 JSONB 保存画布,返回时字段顺序可能改变。保存状态改为比较实际内容,日期按持久化格式统一,选择或时间戳变化不会被当作内容编辑;已保存的图片可直接继续 Agent 对话。同步故障提示说明同步原因,只有确实拦截了任务发送时才说明任务未提交。 本地图片上传期间保存的是画布占位节点,不能代表图片已上传成功。画布离开确认和版本刷新会识别尚未上传的图片,提示等待上传完成或处理失败图片;聊天框上传附件时也保留页面,传完后可继续刷新。选择不保存并离开仍可放弃未同步内容。更新受阻时提供“返回处理”,让用户能够回到画布解决原因。 验证:26 项同步和刷新浏览器场景采用 JSONB 的字段顺序,覆盖保存状态、连续对话、上传保护、图片及未发送输入保留。8 项聊天滚动回归通过;781 项辅助测试通过、1 项原有跳过。TypeScript、相关文件 Biome、日志、密钥、环境、测试和制品检查通过,桌面和手机弹窗已检查。验证使用隔离接口,未调用付费模型,扶苏本人设备尚未复测。仓库全量 lint 有既有问题,本次检查范围为改动文件。
WuYongJie added 1 commit 2026-11-06 16:54:39 +08:00
WuYongJie merged commit fa3210a367 into main 2026-11-06 16:54:43 +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#58
No description provided.