-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Strengthens undo to work even when an assistant message produced no code. > > - Use the last assistant message’s `sourceCommitHash` for `revertVersion` and pass `currentChatMessageId` to prune messages at/after the triggering user message; refresh chat state > - Backend `revert-version` now conditionally commits only if there are staged changes and supports message deletion via `gte` with `currentChatMessageId`, falling back to commit-hash-based pruning > - Extend IPC types: add `Message.sourceCommitHash` and `RevertVersionParams.currentChatMessageId` > - Add e2e test and fixture for undo after a no-code assistant response > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a97e153d3cb703461b66bb7eaec28b4c7ae32cc4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Make undo reliable by reverting to the message’s source commit instead of relying on a previous assistant message or the chat’s initial state. This fixes undo when an assistant reply contains no code. - **Bug Fixes** - Use current message’s sourceCommitHash for revertVersion and pass currentChatMessageId to prune messages at/after the triggering user message; then refresh chat. - Extend Message type with sourceCommitHash and show a warning if it’s missing. - Add e2e test for undo after a no-code assistant response with a new fixture. <sup>Written for commit a97e153d3cb703461b66bb7eaec28b4c7ae32cc4. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->