feat: add button to delete checkpoints only #10802
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #10801. Feedback and guidance are welcome.
Summary
Adds a "Delete Checkpoints Only" button to the task history panel, allowing users to free up disk space by removing checkpoint data while preserving task history and conversation.
Based on testing by @nh2, deleting checkpoints manually does not break the UI - the checkpoint lines simply disappear, which simplifies the implementation since we do not need to update ui_messages.json.
Changes
Backend
deleteTaskCheckpointsWithIdmessage type to WebviewMessage in types packagedeleteTaskCheckpointsWithIdmethod in ClineProvider.ts that:ShadowCheckpointService.deleteTask()Frontend
DeleteCheckpointsButton.tsxcomponent (with history icon, supports Shift+Click to skip confirmation)DeleteCheckpointsDialog.tsxconfirmation dialogTaskItemFooter.tsxto include the new button (appears in full variant alongside other action buttons)TaskItem.tsxto pass through theonDeleteCheckpointspropHistoryView.tsxto wire up the dialog state managementTests
How to Test
Closes #10801
Important
Add a feature to delete task checkpoints while preserving history, with UI components and tests.
deleteTaskCheckpointsWithIdtoWebviewMessageinvscode-extension-host.ts.deleteTaskCheckpointsWithIdinClineProvider.tsto delete checkpoints and refresh webview.deleteTaskCheckpointsWithIdinwebviewMessageHandler.ts.DeleteCheckpointsButton.tsxfor button UI with Shift+Click support.DeleteCheckpointsDialog.tsxfor confirmation dialog.TaskItemFooter.tsxandTaskItem.tsxto include the new button.HistoryView.tsxto manage dialog state.history.json.DeleteCheckpointsButtonandDeleteCheckpointsDialog.This description was created by
for f235430. You can customize this summary. It will automatically update as commits are pushed.