Skip to content

[Feature]: Bulk delete archived threads #5946

Description

@pjmuller

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I am describing a concrete problem or use case, not just a vague idea.

Area

apps/web

Problem or use case

The Archive settings page only exposes permanent deletion through a hidden per-row right-click menu. With dozens or hundreds of archived threads, clearing old history requires repeating the same destructive action one thread at a time. There is no supported bulk cleanup path.

Proposed solution

Add multi-select to Settings → Archive with Select all and Delete selected actions. Keep deletion explicitly permanent, show the exact selected count in a confirmation dialog, and report partial failures without losing the remaining selection. Selection/action identity should be scoped by environment and thread ID.

Why this matters

Long-lived installations accumulate many archived threads and a large local SQLite database. A supported bulk action makes routine privacy and storage cleanup practical without unsupported manual database editing.

Smallest useful scope

Checkboxes per archived row, Select all, and Delete selected with one count-aware confirmation. Per-project or search-filtered bulk actions can follow later.

Alternatives considered

Delete each archived row via its right-click menu; delete projects; or manually edit state.sqlite. The first is too slow at scale, project deletion is too broad, and direct SQLite editing is unsafe/unsupported.

Risks or tradeoffs

Permanent deletion is destructive and cleanup may partially fail, especially when worktrees are involved. Require explicit confirmation, preserve failed selections, and summarize successes/failures.

Examples or references

Related prior work: #3615 and #3552 proposed archive bulk actions but were closed without merge. #5550 tracks broader SQLite retention/compaction.

Contribution

  • I would be open to helping implement this.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequested improvement or new capability.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions