Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Jan 17, 2026

Related GitHub Issue

Closes: #10801

Roo Code Task Context (Optional)

This PR was created using Roo Code to implement the enhancement request.

Description

This PR adds a new "Delete Checkpoints" button to task items in the history view, allowing users to delete only the checkpoints for a task while preserving the task history. This addresses user feedback about wanting to free up storage space used by shadow git repositories without losing task context.

Key implementation details:

  • Added deleteTaskCheckpointsWithId message type to WebviewMessage union
  • Created DeleteCheckpointsButton component with Shift+Click to skip confirmation (following existing UI patterns)
  • Created DeleteCheckpointsDialog confirmation dialog (matching DeleteTaskDialog pattern)
  • Backend handler in ClineProvider.ts that:
  • Wired up handlers through TaskItem, TaskItemFooter, and HistoryView components
  • Added translations for all 18 supported locales

Test Procedure

  1. Open the Roo Code extension
  2. Navigate to History view
  3. On any task with checkpoints, hover to reveal action buttons
  4. Click the new "Delete Checkpoints" button (icon between Export and Delete)
  5. Confirm the deletion in the dialog
  6. Verify:
    • Checkpoint restore options are no longer available for that task
    • Task history and conversation are preserved
    • The shadow git repository branches are deleted
    • The checkpoints directory is removed

Alternative test:

  • Hold Shift and click the Delete Checkpoints button to skip the confirmation dialog

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

N/A - UI components follow existing patterns (DeleteButton, DeleteTaskDialog)

Documentation Updates

  • No documentation updates are required.

Additional Notes

This is an attempt to address Issue #10801. The implementation follows @nh2 suggestion to update/remove checkpoint_saved entries from ui_messages.json when checkpoints are deleted.

Feedback and guidance are welcome!

Get in Touch

N/A (automated PR)


Important

Adds a feature to delete task checkpoints in the history view, including UI components, backend logic, and localization updates.

  • Behavior:
    • Adds "Delete Checkpoints" button in HistoryView to delete only checkpoints, preserving task history.
    • Shift+Click on the button skips confirmation dialog.
    • Updates webviewMessageHandler.ts to handle deleteTaskCheckpointsWithId message.
  • Components:
    • Adds DeleteCheckpointsButton and DeleteCheckpointsDialog components for UI interaction.
    • Integrates new components into TaskItem and TaskItemFooter.
  • Backend:
    • Implements deleteTaskCheckpointsWithId in ClineProvider.ts to handle deletion logic.
    • Removes shadow git branches and updates ui_messages.json.
  • Localization:
    • Updates translations in 18 locale files for new UI strings related to checkpoint deletion.

This description was created by Ellipsis for 471c194. You can customize this summary. It will automatically update as commits are pushed.

Add a new "Delete Checkpoints" button to task items in history view that
allows users to delete only the checkpoints for a task while preserving
the task history. This addresses user feedback about wanting to free up
storage space used by shadow git repositories without losing task context.

Changes:
- Add deleteTaskCheckpointsWithId message type and handler
- Create DeleteCheckpointsButton component with Shift+Click to skip confirm
- Create DeleteCheckpointsDialog confirmation dialog
- Update ui_messages.json to remove checkpoint_saved entries when deleted
- Delete shadow git repository branches and checkpoint directories
- Wire up handlers through TaskItem, TaskItemFooter, and HistoryView
- Add translations for all 18 supported locales
@roomote
Copy link
Contributor Author

roomote bot commented Jan 17, 2026

Rooviewer Clock   See task on Roo Cloud

Review complete. Found 1 issue to address:

  • Missing translation key deleteCheckpointsConfirm in DeleteCheckpointsDialog.tsx - the confirm button will display the raw translation key instead of localized text

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

</AlertDialogCancel>
<AlertDialogAction asChild>
<Button variant="destructive" onClick={onDeleteCheckpoints}>
{t("history:deleteCheckpointsConfirm")}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation key history:deleteCheckpointsConfirm is not defined in any of the locale files. This will cause the button to display the raw key or be empty. The existing DeleteTaskDialog uses t("history:delete") for its confirm button, which is already defined. Consider using the same key for consistency, or add deleteCheckpointsConfirm to all 18 locale files.

Suggested change
{t("history:deleteCheckpointsConfirm")}
{t("history:delete")}

Fix it with Roo Code or mention @roomote and request a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Add buttons to delete checkpoints only

2 participants