Dismiss broken sessions, and hide ones untouched for a week
A broken session that will never be repaired kept the bar's warning dot lit forever. repair-session now takes --ignore/--unignore/--unignore-all/--ignored, recorded in ~/.claude-mode/ignored-sessions.json, and the scan hides broken transcripts older than --max-age days (default 7, 0 disables, CM_IGNORE_AGE_DAYS sets it). Hidden sessions move to a separate ignored[] list with a reason, and --all always names how many it held back. A repair clears the session's dismissal, and entries whose transcript is gone are pruned, so a session that breaks again is never silently hidden. The panel gets an Ignore button beside Repair and a collapsed "hidden (N)" section with Restore. The dot still counts broken sessions only. Bumps to 1.10.0 and fixes the widget manifest, which still said 1.8.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -430,6 +430,27 @@ session id is looked up across every project** — you rarely remember which
|
||||
project a session you cannot resume belonged to. `--all` drops the scoping
|
||||
entirely.
|
||||
|
||||
Not every broken session is worth repairing — a throwaway, or one whose work
|
||||
was finished some other way — and one that can never be cleared keeps the bar's
|
||||
warning dot lit for good. So a session can be dismissed, and one untouched for
|
||||
more than 7 days is hidden on its own:
|
||||
|
||||
```bash
|
||||
claude-mode repair-session --ignore <session-id> # stop counting it
|
||||
claude-mode repair-session --ignored # what is dismissed, and whether it is still broken
|
||||
claude-mode repair-session --unignore <session-id> # or --unignore-all
|
||||
claude-mode repair-session --all --max-age 0 # include the age-hidden ones (CM_IGNORE_AGE_DAYS sets the default)
|
||||
```
|
||||
|
||||
Neither touches the transcript. Hidden sessions are always named — `--all`
|
||||
ends with a line like `2 hidden: 1 ignored, 1 older than 7 days` — so age-hiding
|
||||
never looks like damage disappearing. Dismissals live in
|
||||
`~/.claude-mode/ignored-sessions.json`; an entry is dropped when its transcript
|
||||
is deleted, and when the session is repaired, so a session that breaks again
|
||||
later is not silently hidden. In the bar panel each broken session has an
|
||||
**Ignore** button beside **Repair**, and the hidden ones sit under a collapsed
|
||||
`hidden (N)` row with **Restore**.
|
||||
|
||||
`--all` reports only what is actually actionable, which matters more than it
|
||||
sounds. Of 59 transcripts here it initially flagged 16; on inspection 5 had
|
||||
simply never received a reply, and 10 had run start-to-finish on a gateway, so
|
||||
|
||||
Reference in New Issue
Block a user