Skip to content

Add archive search and project collapse#2758

Open
OliverGamborg wants to merge 2 commits into
pingdotgg:mainfrom
OliverGamborg:feature/archive-search-collapse
Open

Add archive search and project collapse#2758
OliverGamborg wants to merge 2 commits into
pingdotgg:mainfrom
OliverGamborg:feature/archive-search-collapse

Conversation

@OliverGamborg
Copy link
Copy Markdown

@OliverGamborg OliverGamborg commented May 19, 2026

What Changed

  • Added client-side search to Settings > Archive for archived thread titles, branches, worktree paths, project names, and project paths.
  • Added local per-project collapse controls in the archived settings section.
  • Added focused unit and browser coverage for archive filtering, search, and collapse behavior.

Why

Archived threads can become hard to scan once several projects accumulate history. This keeps the fix small and UI-only by filtering the existing archived snapshot in the web app without changing server contracts, persistence, or archive loading.

UI Changes

This changes the Settings > Archive UI by adding a search field and per-project collapse button.

Before

electron_mVFfKUL6zo

After

electron_BEJ32SrP2c

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

Verification

  • bun run --cwd apps/web test src/components/settings/SettingsPanels.logic.test.ts
  • bun run --cwd apps/web test:browser src/components/settings/SettingsPanels.browser.tsx
  • bun fmt
  • bun lint
  • bun typecheck

Note

Low Risk
UI-only filtering and local collapse state on existing archived snapshots; no API, persistence, or auth changes.

Overview
Settings > Archive gains client-side search and per-project collapse so large archived histories stay scannable without changing how archived data is loaded from environments.

A search field filters the already-built archived groups via new filterArchivedThreadGroups logic: whitespace-normalized tokens must all match project name/path or individual thread title, branch, or worktree path; a project-level match keeps every thread in that group. An empty query shows all groups; no matches show a dedicated empty state.

Each archived project section can be collapsed from the header (thread count, chevron, aria-expanded labels). SettingsSection now accepts optional contentVisible to hide the card body while keeping the header.

Unit tests cover the filter helper; a browser test covers search and collapse on ArchivedThreadsPanel.

Reviewed by Cursor Bugbot for commit 38e9f6a. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

[!NOTE]

Add search and per-project collapse to ArchivedThreadsPanel

  • Adds a search input to ArchivedThreadsPanel that filters archived threads by project name, cwd, thread title, branch, and worktree path using token-based matching via filterArchivedThreadGroups.
  • Adds per-project collapse/expand controls with accessible aria-expanded labels and thread counts in each section header.
  • Extends SettingsSection with an optional contentVisible prop to conditionally hide section body content while keeping the header visible.
  • Adds unit tests for filterArchivedThreadGroups and browser tests for search filtering and collapse behavior in ArchivedThreadsPanel.

Macroscope summarized 38e9f6a.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 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: ae3bb70f-4f6c-4590-90b7-3113b23684d9

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.

Adds client-side filtering for archived threads in Settings > Archive, including project-level matches and thread-level matches across title, branch, and worktree path.

Adds local per-project collapse controls and focused unit/browser coverage while leaving archive data loading and server contracts unchanged.
@OliverGamborg OliverGamborg force-pushed the feature/archive-search-collapse branch from 255f391 to 014d46f Compare May 19, 2026 08:07
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 19, 2026

Approvability

Verdict: Needs human review

This PR adds new user-facing features (archive search and project collapse) rather than being a simple bug fix or mechanical change. New interactive capabilities warrant human review even when well-tested and self-contained.

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:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant