Skip to content

fix: block bulk delete when selected sessions are hidden by filter#181

Merged
vakovalskii merged 1 commit into
vakovalskii:mainfrom
NovakPAai:fix/select-mode-hidden-sessions
Apr 17, 2026
Merged

fix: block bulk delete when selected sessions are hidden by filter#181
vakovalskii merged 1 commit into
vakovalskii:mainfrom
NovakPAai:fix/select-mode-hidden-sessions

Conversation

@NovakPAai
Copy link
Copy Markdown
Collaborator

Problem

When a user selects sessions in select mode, then applies a search or filter, some selected sessions disappear from view — but remain in selectedIds. Clicking "Delete Selected" would silently delete those invisible sessions, with no warning.

This is a silent data loss bug.

Fix

Three changes:

  1. updateBulkBar() — compares selectedIds against filteredSessions. If any selected IDs are not visible, shows an amber warning: ⚠ N hidden by filter — deselect hidden

  2. Delete button — disabled (disabled + tooltip) while hidden selections exist. User cannot delete until the ambiguity is resolved.

  3. clearHiddenSelections() — new function, triggered by the "deselect hidden" link. Removes only the invisible IDs from selectedIds, preserves the visible ones so the user can continue with bulk actions.

Before / After

Before After
Select 5 sessions → filter → 2 hidden → Delete → 5 deleted silently Select 5 sessions → filter → 2 hidden → ⚠ warning appears → Delete disabled → user clicks "deselect hidden" → 3 visible remain selected → Delete works

Test plan

  • Select 3+ sessions → apply search that hides some → verify warning appears and Delete is disabled
  • Click "deselect hidden" → verify hidden IDs removed, visible remain selected, Delete re-enables
  • Clear filter → verify warning disappears, Delete re-enables with correct count
  • Select sessions with no filter active → verify no warning, Delete works normally

When a user selects sessions then applies a search/filter, some
selected sessions become invisible. Previously, Delete would silently
remove those hidden sessions too — a data loss risk.

Now:
- updateBulkBar() detects selected IDs not in filteredSessions
- Shows warning: "⚠ N hidden by filter — deselect hidden" (amber)
- Delete button is disabled until hidden selections are resolved
- "deselect hidden" link removes only the invisible selections,
  preserving the visible ones so the user can continue bulk actions
@vakovalskii vakovalskii merged commit 37a367b into vakovalskii:main Apr 17, 2026
6 checks passed
vakovalskii added a commit that referenced this pull request Apr 17, 2026
…lytics tabs

Merged PRs:
- #182 (@rrr3try): Show Claude Code recap (away_summary) as session title
- #181 (@NovakPAai): Block bulk delete for filter-hidden sessions
- #180 (@NovakPAai): Detect new sessions in existing dirs + local-agent-mode
- #179 (@NovakPAai): Message sort toggle in session drawer + default setting
- #86 (@NovakPAai): Sub-tabs in Cost Analytics (Overview/Breakdown/History)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
vakovalskii added a commit that referenced this pull request Apr 17, 2026
…lytics tabs (#183)

Merged PRs:
- #182 (@rrr3try): Show Claude Code recap (away_summary) as session title
- #181 (@NovakPAai): Block bulk delete for filter-hidden sessions
- #180 (@NovakPAai): Detect new sessions in existing dirs + local-agent-mode
- #179 (@NovakPAai): Message sort toggle in session drawer + default setting
- #86 (@NovakPAai): Sub-tabs in Cost Analytics (Overview/Breakdown/History)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants