Repository navigation
1.49.0: close several sessions at once — a visible selection mode, one question for the set, and review fixes - #70
Closed
writingdeveloper wants to merge 1 commit into
Closed
writingdeveloper wants to merge 1 commit into
writingdeveloper wants to merge 1 commit into
Conversation
…e question for the set, and review fixes
The sidebar could already close a hand-picked set of sessions, but only
after a Ctrl+click nothing on screen mentioned, so decks were closed one
row at a time.
- A Select button above the session groups (and "Select…" in every row's
⋯ menu) turns on a selection mode: checkboxes on rows, a plain click
picks instead of opening, the box on a group heading picks the whole
group (opened in full first), Shift+click ranges, Select all opens every
group; Close / Done / Esc / Delete. Ctrl+click and Shift+click still work.
The selection is a pure model in src/shared/sessionSelection.ts.
- Local, remote, background and saved rows close after one question that
says what is where ("2 on this PC · 3 on 4080 · 1 background · 4 saved").
Tiles go in one batch and the pane settles once; remote refusals are one
line; background sessions close machines side by side with one progress
line and one summary. A tile attached to a Claude background session can
end the session too (checkbox, on by default). One picked row asks that
row's own question.
- The Background listing looks at ~/.claude/jobs first: no records means
no claude process at all, unchanged records reuse the last answer for up
to five minutes.
- From a review of the sidebar and close flows: the confirmation could be
answered by an Enter aimed at the quick-open field (chords no longer
leave it, auto-repeat is ignored, one question at a time, focus goes back
after Cancel); a row's ⋯ menu was clipped on short lists (placed against
the window now); focus in the ⋯ button, a menu item or a heading control
was dropped when rows reordered; Forget offers Undo; bulk flows toast one
line instead of one per row; a pinned row wears its pin; section names,
aria-pressed, Korean register, the chip-danger style that had no CSS.
- qa/multi-close.mjs drives the mode end to end (24 checks).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX
writingdeveloper
added a commit
that referenced
this pull request
Oct 28, 2026
…e question for the set, and review fixes (#70) The sidebar could already close a hand-picked set of sessions, but only after a Ctrl+click nothing on screen mentioned, so decks were closed one row at a time. - A Select button above the session groups (and "Select…" in every row's ⋯ menu) turns on a selection mode: checkboxes on rows, a plain click picks instead of opening, the box on a group heading picks the whole group (opened in full first), Shift+click ranges, Select all opens every group; Close / Done / Esc / Delete. Ctrl+click and Shift+click still work. The selection is a pure model in src/shared/sessionSelection.ts. - Local, remote, background and saved rows close after one question that says what is where ("2 on this PC · 3 on 4080 · 1 background · 4 saved"). Tiles go in one batch and the pane settles once; remote refusals are one line; background sessions close machines side by side with one progress line and one summary. A tile attached to a Claude background session can end the session too (checkbox, on by default). One picked row asks that row's own question. - The Background listing looks at ~/.claude/jobs first: no records means no claude process at all, unchanged records reuse the last answer for up to five minutes. - From a review of the sidebar and close flows: the confirmation could be answered by an Enter aimed at the quick-open field (chords no longer leave it, auto-repeat is ignored, one question at a time, focus goes back after Cancel); a row's ⋯ menu was clipped on short lists (placed against the window now); focus in the ⋯ button, a menu item or a heading control was dropped when rows reordered; Forget offers Undo; bulk flows toast one line instead of one per row; a pinned row wears its pin; section names, aria-pressed, Korean register, the chip-danger style that had no CSS. - qa/multi-close.mjs drives the mode end to end (24 checks). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX
Owner
Author
|
Squash-merged to main as 3add191 and tagged v1.49.0; the Release workflow builds the 3-OS assets from the tag. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close several sessions at once
The sidebar could already close a hand-picked set of sessions — after a Ctrl+click that nothing on screen mentioned. So most decks were closed one row at a time.
src/shared/sessionSelection.ts, with tests.The Background listing no longer starts a process on every poll
claude agents --json --all(~340 ms, a 300 MB executable) ran every poll on every PC. DevDeck now reads the job records under~/.claude/jobsfirst: no records → no sessions and no process; records unchanged → the last answer for up to five minutes; only a change runs the command. Tested against a real temporary folder.From a review of the sidebar and the close flows
aria-pressedonly while picking; Korean group confirmations use the same register; the selection bar's Close is styled as destructive (the class had no CSS).Verification
npx tsc --noEmit,vitest1557 passed (131 files),check:docspass.node qa/screenshot.mjspass (0 console / page errors), newnpm run qa:multi-close24/24 (selection mode end to end, no agent needed).🤖 Generated with Claude Code
https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX