mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-02 13:39:41 +02:00
fix: don't wipe session state from state.json on server shutdown
cleanupSession() always called store.removeSession() which deleted the session from state.json. On server stop, cleanupSession(id, false) was called for all sessions - preserving screens but deleting their saved state. On next restart, state.json was empty so nothing was restored. Now only removes from state.json when killScreen=true (user explicitly deleting a session), preserving state for recovery on restart. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -1390,7 +1390,11 @@ export class WebServer extends EventEmitter {
|
||||
session.removeAllListeners();
|
||||
await session.stop(killScreen);
|
||||
this.sessions.delete(sessionId);
|
||||
this.store.removeSession(sessionId);
|
||||
// Only remove from state.json if we're also killing the screen.
|
||||
// When killScreen=false (server shutdown), preserve state for recovery.
|
||||
if (killScreen) {
|
||||
this.store.removeSession(sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
this.broadcast('session:deleted', { id: sessionId });
|
||||
|
||||
Reference in New Issue
Block a user