@leftoff/cli 0.9.18-beta.3 → 0.9.18-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/bin/leftoff.js +488 -487
- package/bin/pty-host-main.js +10 -10
- package/mod/.claude-plugin/plugin.json +1 -1
- package/mod/hooks/register.js +23 -1
- package/package.json +1 -1
- package/ui/app.css +18 -0
- package/ui/app.js +15 -6
- package/ui/semdiff.js +77 -12
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,9 @@ What changed in Leftoff (called Checkpoints until 0.4.5), newest first. The boar
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
- **A finished turn stops spinning within seconds.** When Claude Code's end-of-turn signal never reached Leftoff, a session kept its spinner (“active”) until the whole dormancy window passed, and some never stopped at all. Now any Claude Code session (a board terminal, My terminal app, Live, the hooks, a headless one whose process is gone) settles about 20 seconds after its transcript goes still with Claude's answer last, or within seconds when the transcript itself marks the end; a tool call still running, a permission prompt or a queued message keeps it working or Needs you. It also reads turns Claude Code ends on a tool result, answers through the Live reply tool, and messages pulled back out of the queue, which used to keep a session “working” forever. The mod now reports a turn's end itself when no Stop follows it, a late Stop never counts a turn twice, and a terminal Leftoff opens for a daemon on its own folder reports to that folder. A session whose turns arrive but none of Claude Code's own hook events do now says so: one line in the daemon log, and a quiet “hooks not reporting” note beside its pills.
|
|
8
|
+
- **Fix: a file two walkthrough steps share shows its diff in both.** When two steps named exactly the same lines (a new test file cited by “Pin the bug” and again by the next step), they got one step id, so the board drew that file's diff into the later step only and left the first step's row open and empty; Mark reviewed on one also marked the other. Every step now has its own id (walkthroughs kept from before are mended when they load). The first step shows the file open; a later step that shows exactly the same lines folds it with a quiet “Also in step 1” that goes back there, and opens to the same diff. When steps point at different lines of one file, each step marks its own lines (“Lines 12–30 for this step”) and the rest steps back. A test file a step names now starts open even when some of its lines sit in Tests updated to match. Any changed lines no step names still land under Other changes.
|
|
9
|
+
|
|
7
10
|
- **This session · Whole folder.** The walkthrough's Files view, What it did and Ask about this change now cover only what the session changed, like the walkthrough, with a toggle that shows the counts on both sides (“This session 4 · Whole folder 24”). Whole folder marks each file that isn't the session's “not from this session”; switching marks the story out of date (Update writes it again) and never runs a model on its own. Ask says which scope it drafted from, and the choice is kept on this device.
|
|
8
11
|
|
|
9
12
|
- **Walk me through it covers only what the session changed.** A session started in a repo with uncommitted or untracked files counted them as its own (a new session read “20 files” before its first prompt). Leftoff now notes what was already changed as a session starts, on this Mac only, and the walkthrough and its count leave those files out; a file the session edited on top of earlier changes shows only its own change. A session with no turns yet shows no count, and one from before this update counts only the files it edited plus its commits, with a note saying so. Each repo of a multi-repo session gets the same rule.
|