问题描述:
当文件在一次自动接受的更改后,用户手动添加了新的代码,然后再次触发文件更改。此时,如果对第二次更改使用“撤销编辑”功能,系统会错误地将文件回滚到第一次更改后的状态,导致中间所有手动编写的代码丢失。
复现步骤:
- 第一次对话,AI 对文件进行了自动接受的更改(状态 1)。
- 用户在状态 1 的基础上,手动编写了新的代码(状态 2)。
- 第二次对话,AI 对文件进行了新的更改(状态 3)。
- 用户对第二次的更改不满意,点击“撤销编辑”按钮。
- 期望结果: 文件应回滚到状态 2(即撤销第二次的 AI 更改,保留手动代码)。
- 实际结果: 文件直接回滚到了状态 1(丢失了所有手动编写的代码)。
问题分析与猜测:
我推测撤销功能的实现机制可能存在缺陷。它似乎只记录了 AI 每次更改的“快照”,而没有将用户的手动编辑视为一个独立的状态。因此,当执行撤销操作时,它直接回退到了上一个 AI 更改点,而不是上一个用户可见的完整状态。
影响:
这是一个比较严重的问题,因为它会导致用户未保存的劳动成果意外丢失,影响使用体验和数据安全。
希望开发和测试团队能关注并修复此问题,谢谢!
