Repository navigation
feat(sessions): inline delete in resume picker with confirm dialog - #25
Merged
Merged
Conversation
Resume picker (ResumeConversation + LogSelector) gains Delete-key deletion with an explicit confirm step (DeleteSessionConfirm dialog), backed directly by the existing SDK deleteSession() primitive. Guards: active session file, live background sessions; optimistic list update; raced delete treated as success; filesystem errors surface verbatim and keep the row. Tests: 12 new (resumeDeleteGuards 4, sessions.delete 5, DeleteSessionConfirm.render 3). Manual QA: delete/confirm, esc-cancel, search-filtered delete, cross-project delete all verified live; footer shows Del hint. Plan: C:\Users\reini\Documents\Default Project\docs\openclaude\plans\2026-10-12-sessions-delete-easy-option-plan.md
Move the delete success/error banner below the session list so it stays visible when scrolled down (previously top-placed and scrolled out of view). Advertise the y/n keys in the confirm dialog guide (Enter/y to confirm, Esc/n to cancel). Tests: DeleteSessionConfirm.render now covers n-cancel and guide text (5 tests). Live QA: scrolled delete shows bottom notice, remaining row stays focused, Esc exits cleanly.
MotionDevLab
force-pushed
the
feat/sessions-delete-ui
branch
from
October 13, 2026 06:53
26eaf6b to
b04c774
Compare
This was referenced Oct 13, 2026
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.
Summary
--resumepicker — pressDelon a focused session, confirm in a dialog, session file is deleted and the entry drops from the list with a bottom-placed notice; footer hints updated (Del to delete,y/nconfirm hints). Safety guards block deleting the active session and sessions with live background runners (resumeDeleteGuards, unit-testable pure decisions). Commitsbff8344d+26eaf6b3(rebased onto the Esc-exit fix below).Impact
Deldeletes the focused session after an explicit confirm;Esccancels the dialog without side effects; active session and live background sessions are protected with an explanatory message.DeleteSessionConfirmcomponent +resumeDeleteGuardsseam;LogSelectorgains delete-request wiring;ResumeConversationhosts deletion state. No changes to session-listing, resume, rename, or search semantics.Testing
checkcould not complete on this machine).bun install --frozen-lockfile— okbunx eslintonResumeConversation.tsx,LogSelector.tsx,DeleteSessionConfirm.tsx— cleanbun run build— green (dist/cli.mjs, SDK bundle, externals valid)bun run typecheck:type-tests— pass (10 files)node bin/openclaude --version—0.31.0 (OpenClaude); compile-cache-disabled launcher check — passbun run test:provider-recommendation— 165 pass / 0 failDel to deletefooter; Esc exits via?1049lwith full mode cleanup andEXIT:1Deleted …printed, entry removed); post-rebase verified render + Esc paths + build (rebase replayed cleanly with no conflicts; delete logic regions untouched by the rebase)bun run check→test:fulldoes not complete on this machine: process-spawning tests stall (5 s timeouts) — launcher compile-cache/heap suites and bughunter git-context tests. The launcher files (21 pass / 9 fail) were reproduced identically on a pristineorigin/mainworktree — not PR-owned (this PR touches no launcher/git/bughunter surface).bun run typecheck— 12 errors, reproduced byte-identically on pristineorigin/main(react-reconciler type skew in untouchedsrc/ink/*; zero errors in changed files).bun run test:provider— 1748 pass / 3 fail; all 3 network/timing environmental, none on the PR surface.bun run security:pr-scan— 1 medium inscripts/prepare.mjs, a file this PR never touches (upstream churn;git log origin/main..HEAD -- scripts/prepare.mjsis empty).Notes
test:fullcompletion left to CI (clean runner).