Skip to content

feat: implement recursive folder deletion with task management and au…#69

Merged
cxymds merged 1 commit intomainfrom
fix-issue-67
Feb 28, 2026
Merged

feat: implement recursive folder deletion with task management and au…#69
cxymds merged 1 commit intomainfrom
fix-issue-67

Conversation

@cxymds
Copy link
Collaborator

@cxymds cxymds commented Feb 28, 2026

…to-refresh #67

Pull Request

Description

This PR implements recursive folder deletion logic for the object browser. Previously, deleting a folder required the frontend to manually traverse and delete each file, which was inefficient and could lead to UI freezes.

Key changes:

  • Introduced a new delete-folder task type in delete-task.ts that handles recursive deletion on the backend/SDK side using ListObjectsV2 and DeleteObjects .
  • Updated task-context.tsx to support dispatching folder deletion tasks.
  • Refactored list.tsx to use the new task-based deletion for both files and folders.
  • Added an auto-refresh mechanism in the object list that triggers once all active delete tasks are completed.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)

  • New feature (non-breaking change which adds functionality)

  • Breaking change (fix or feature that would cause existing functionality to change)

  • Documentation update

  • Code refactoring

  • Performance improvement

  • Test improvements

  • Security fix## Testing

  • Unit tests added/updated

  • Manual testing completed: Verified that deleting a folder with multiple files correctly creates a background task, deletes all contents, and refreshes the file list automatically upon completion.

pnpm test:run

Checklist

  • Code follows the project's style guidelines

  • Self-review completed

  • TypeScript types are properly defined

  • All commit messages are in English (Conventional Commits)

  • All existing tests pass

  • No new dependencies added, or they are justified

Related Issues

Closes #67

Screenshots (if applicable)

(Please attach screenshots of the task panel showing the "Delete Folder" task and the list refreshing)

Additional Notes

The recursive deletion supports both versioned and non-versioned buckets. For versioned buckets, it correctly handles the deletion of all object versions when the "Delete All Versions" option is selected.

@cxymds cxymds merged commit 588e80c into main Feb 28, 2026
11 checks passed
@cxymds cxymds deleted the fix-issue-67 branch February 28, 2026 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] delete folder error

1 participant