diff --git a/CLAUDE.md b/CLAUDE.md index 07d3e045..25bb68e8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -26,7 +26,7 @@ When user says "COM": 1. Increment version in BOTH `package.json` AND `CLAUDE.md` (verify they match with `grep version package.json && grep Version CLAUDE.md`) 2. Run: `git add -A && git commit -m "chore: bump version to X.XXXX" && git push && npm run build && systemctl --user restart claudeman-web` -**Version**: 0.1491 (must match `package.json` for npm publish) +**Version**: 0.1492 (must match `package.json` for npm publish) ## Project Overview diff --git a/package.json b/package.json index f6f89a84..5b9c73d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "claudeman", - "version": "0.1491", + "version": "0.1492", "description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence", "type": "module", "main": "dist/index.js", diff --git a/src/web/public/app.js b/src/web/public/app.js index 9054f88a..d57a3813 100644 --- a/src/web/public/app.js +++ b/src/web/public/app.js @@ -3211,10 +3211,17 @@ class ClaudemanApp { }); } - // Restore previously active session (survives page reload), or fall back to first - if (this.sessionOrder.length > 0 && !this.activeSessionId) { - let restoreId = null; - try { restoreId = localStorage.getItem('claudeman-active-session'); } catch {} + // Restore previously active session (survives page reload + SSE reconnect) + // Must always re-select because handleInit clears terminal state above. + // Reset activeSessionId so selectSession doesn't early-return. + const previousActiveId = this.activeSessionId; + this.activeSessionId = null; + if (this.sessionOrder.length > 0) { + // Priority: current active > localStorage > first session + let restoreId = previousActiveId; + if (!restoreId || !this.sessions.has(restoreId)) { + try { restoreId = localStorage.getItem('claudeman-active-session'); } catch {} + } if (restoreId && this.sessions.has(restoreId)) { this.selectSession(restoreId); } else {