Skip to content

feat(settings): bulk select and actions for archived threads#1685

Open
adityavardhansharma wants to merge 2 commits intopingdotgg:mainfrom
adityavardhansharma:feat/settings-archived-threads-bulk
Open

feat(settings): bulk select and actions for archived threads#1685
adityavardhansharma wants to merge 2 commits intopingdotgg:mainfrom
adityavardhansharma:feat/settings-archived-threads-bulk

Conversation

@adityavardhansharma
Copy link
Copy Markdown
Contributor

@adityavardhansharma adityavardhansharma commented Apr 2, 2026

What Changed

  • Settings → Archive: archived threads support multi-select (checkbox per row).
  • Select all: tri-state checkbox to select or clear all archived threads at once.
  • Bulk unarchive: Unarchive (N) runs unarchive for every selected thread (N = selection count).
  • Bulk delete: Delete (N) deletes every selected thread (N = selection count), with the same bulk worktree / deletedThreadIds behavior as multi-delete elsewhere.
  • When “confirm before deleting threads” is on, bulk delete uses the in-app AlertDialog instead of window.confirm. When it’s off, bulk delete runs immediately with no modal.

Why

  • Makes it practical to unarchive or delete many archived threads at once.

UI Changes

Before
image

After

Screenshot 2026-04-02 151923 Screenshot 2026-04-02 151930

Video

t3_code.mp4

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Medium Risk
Adds new bulk delete/unarchive flows in the settings archive panel, increasing the chance of accidental destructive actions or edge cases around selection/state and repeated deletes. Uses existing deleteThread behavior (including worktree prompts) but now executed in a loop, so reviewers should sanity-check UX and error handling.

Overview
Adds multi-select to ArchivedThreadsPanel via per-row checkboxes plus a tri-state Select all control, and introduces a small toolbar showing Unarchive (N) and Delete (N) actions for the current selection.

Implements bulk unarchive and bulk delete by iterating selected thread IDs, reusing deleteThread(..., { deletedThreadIds }) for consistent multi-delete/worktree behavior, and pruning selection when the archived list changes.

Bulk delete now respects confirmThreadDelete: when enabled it shows an in-app AlertDialog confirmation; when disabled it deletes immediately, with toast errors surfaced per-thread.

Written by Cursor Bugbot for commit c44be35. This will update automatically on new commits. Configure here.

Note

Add bulk select and delete/unarchive actions for archived threads in settings

  • Adds checkboxes to each archived thread row in ArchivedThreadsPanel (SettingsPanels.tsx), along with a 'Select all' checkbox and bulk action buttons for unarchive and delete.
  • Bulk delete respects the appSettings.confirmThreadDelete flag: when enabled, it prompts an AlertDialog confirmation before proceeding.
  • Selection state is kept in sync with the archived threads list via useMemo/useEffect, so removed threads are automatically deselected.

Macroscope summarized c44be35.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 2, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d8541f5b-870b-4e67-a75e-4288166ee7ec

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Apr 2, 2026
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp bot commented Apr 2, 2026

Approvability

Verdict: Needs human review

This PR introduces a new user-facing feature for bulk selecting and deleting/unarchiving threads. New workflows and capabilities like bulk permanent deletion warrant human review regardless of implementation quality.

You can customize Macroscope's approvability policy. Learn more.

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

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant