diff --git a/.changeset/fix-claude-viewer-session-pin.md b/.changeset/fix-claude-viewer-session-pin.md deleted file mode 100644 index caf457b16..000000000 --- a/.changeset/fix-claude-viewer-session-pin.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'aicodeman': patch ---- - -fix(web): stop the Claude response viewer from following another session's conversation - -The viewer re-derived a pane's live conversation by taking the newest -`~/.claude/history.jsonl` entry for the pane's cwd. A cwd is shared with every -other Codeman tab on it, with tabs long since closed, and with any plain -`claude` run in the user's own terminal, so the eye followed whichever of those -was typed into last — and the adoption was written back to the session, so the -mispin persisted. Entries are now credited to a pane only when they land within -10s of that pane's own Enter and no other pane on the cwd submitted closer, the -same last-submit correlation the Codex locator already uses. - -That correlation also has to survive a restart. `start()` resets -`claudeSessionId` to the launch id even when re-attaching to a mux session whose -CLI has since moved on via `/clear`, so a recovered pane pointed the viewer at -its pre-`/clear` transcript — and with the anchor itself living only in memory, -nothing corrected it until the user happened to type again. `lastSubmitAt` is -now persisted in `SessionState` and restored on boot recovery, so the viewer -re-derives the live conversation on its first poll. diff --git a/CHANGELOG.md b/CHANGELOG.md index 44dd495f7..6209cb408 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # aicodeman +## 1.11.1 + +### Patch Changes + +- 73315bc: fix(web): stop the Claude response viewer from following another session's conversation + + The viewer re-derived a pane's live conversation by taking the newest + `~/.claude/history.jsonl` entry for the pane's cwd. A cwd is shared with every + other Codeman tab on it, with tabs long since closed, and with any plain + `claude` run in the user's own terminal, so the eye followed whichever of those + was typed into last — and the adoption was written back to the session, so the + mispin persisted. Entries are now credited to a pane only when they land within + 10s of that pane's own Enter and no other pane on the cwd submitted closer, the + same last-submit correlation the Codex locator already uses. + + That correlation also has to survive a restart. `start()` resets + `claudeSessionId` to the launch id even when re-attaching to a mux session whose + CLI has since moved on via `/clear`, so a recovered pane pointed the viewer at + its pre-`/clear` transcript — and with the anchor itself living only in memory, + nothing corrected it until the user happened to type again. `lastSubmitAt` is + now persisted in `SessionState` and restored on boot recovery, so the viewer + re-derives the live conversation on its first poll. + ## 1.11.0 ### Minor Changes diff --git a/package-lock.json b/package-lock.json index 4747c4ee6..eddf26571 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aicodeman", - "version": "1.11.0", + "version": "1.11.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aicodeman", - "version": "1.11.0", + "version": "1.11.1", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 2743d60a3..89fac5e35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aicodeman", - "version": "1.11.0", + "version": "1.11.1", "description": "Mission control for AI coding agents - run 20 autonomous agents with real-time monitoring and session persistence", "type": "module", "main": "dist/index.js",