feat(cli): add -c/--continue alias and 'nothing to continue' notice - #1346
feat(cli): add -c/--continue alias and 'nothing to continue' notice#1346shauryagangrade wants to merge 2 commits into
Conversation
Add the -c short flag for --continue and surface a clear "nothing to continue" notice on the landing screen when a session resume is requested but no active session exists. The underlying resume path (auto-takeover of a dead local process's seat plus conversation restore) already preserves the server session and its remaining time.
|
This implements the resume-an-active-session flow for
@jahooma @charleslien @brandonkachen — could one of you take a look? |
|
Good bones: the A few things worth tightening before this gets ported:
Overall: reasonable, scoped, and testable — worth a maintainer look, with the framing/title corrected. |
|
Addressed the review feedback:
Typecheck is clean (only pre-existing |
Summary
Implements part of the ask in #1338:
freebuff -c(and the long formfreebuff --continue) now resume an active session instead of wasting the remaining time when the CLI crashed, the terminal closed, or an update interrupted the previous run.Changes
cli/src/cli-args.ts— added the-cshort alias to--continue [conversation-id](freebuff and codebuff parsers).cli/src/index.tsx/cli/src/app.tsx— thread the rawcontinueRequestedflag (distinct from history-pick resume) down to the landing screen.cli/src/components/freebuff-landing-screen.tsx— when--continuewas requested but the session probe finds no active seat to resume (none, expired, or explicitly ended), the landing screen now clearly says there is nothing to continue. Rows are accounted for in the picker's height budget.cli-args.test.ts) and the notice render (freebuff-nothing-to-continue.test.tsx).Resume behavior
The actual session resume relies on the existing free session infra: on startup the probe auto-takes over the server seat when the prior local process is dead (the crash/terminal-close/update case), which preserves the server session and its remaining time, while
--continuerestores the previous conversation state. When the seat is held by a live process, the existing "Take over" confirmation is shown rather than silently superseding it.Verification
clisuite has no new failures (the 21 failures/19 errors are pre-existing at HEAD: missing privatepackages/internalenv + release-wrapper checks).tar/react-dom/serverdeclaration errors remain).Closes #1338