Repository navigation
Conversation
…5 slice) The session browser now resumes the selected session with Enter, as its hint always said. Its list never loaded in the interactive binary: the loader ran only in App::run, which the CLI loop does not use, so every browser showed "No sessions found". The CLI loop now polls it. Switching sessions keeps each session's unsent draft (with pasted blocks and images) and reading position, restores them on return without sending, and drops views that belonged to the old session: tool rows, decisions, notes, turn metadata, selection and the reader. A failed resume gives the draft back. A resume is refused while a turn runs or a cancel is settling. Next shows who owns execution: engine-local, with the ledger registration result only for the session it registered. Nothing claims daemon control, and a familiar name stays a display name. Refs #412
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Browser Enter-to-resume, list loading in the interactive loop, the per-session draft and view switch, header titles and the rename guard now apply to the Next renderer only. Classic behaves as before. Refs #412
This branch was successfully deployed
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.
Refs #412. Stacked on #430 (#411), which is stacked on #429 (#410). Retarget to
mainafter the stack merges. Classic stays the default renderer.What this ships
The safe navigation slice of T5: move between sessions without losing a draft, without one session's views showing in another, and without the shell claiming authority that no producer has shown.
/sessionshowed "No sessions found" in the real binary, in both renderers. Its list loader ran only insideApp::run, which the interactive CLI loop never calls. The loop now polls it each tick in Next. Enter on a row now resumes that session, as the browser's hint always said. The resume goes through/session resume <id>, the same path as typing it, and is kept out of prompt history.engine-local. With the daemon ledger enabled they add the registration result (registering,ledger-registeredorledger unavailable), and only for the session that was registered. Registration is described as the daemon recording the session, not controlling it. Nothing claims daemon-managed execution.(unverified), a display name that no identity contract binds. The session title and id are shown throughterminal_safe, and the title now follows startup, resume and rename.Classic is unchanged
Everything above applies to Next only:
Fixing Classic's empty browser is a one-line change, which can be its own PR if you want it.
Review
An independent reviewer read the first version. Resolved:
registeringforeverledger unavailableterminal_safeNot changed:
App::runhas no callers, and a browser resume there would wait forever. The queue of messages typed during a turn is kept across a switch, which predates this PR. Session cost is not reset on a switch.Failing first: the four review regression tests each fail with their fix backed out. The tmux case fails 6 of 9 on the #411 head
7b1783c, where the browser lists nothing and Enter does nothing.Verification
All results are on the head of this PR.
cargo test -p claurst-tui --locked --test next_sessionscargo test --workspace --locked --no-fail-fastcargo clippy --workspace --all-targets --locked -- -D warnings09_next_sessions(real binary, two sessions, disposable home)The full suite showed one intermittent failure in case 08's cooked-mode check. The check typed before the app had exited. The fix is on #429 (
51a7705) and merged up the stack; case 08 then passed 5 of 5.Still open for #412
These need producers or a real daemon, and are not in this slice:
GET /api/v1/health(coven.daemon.v1), and reconnect with a fresh snapshot and event cursor.