From 8501dcbec5f8a9c990ef68166f4182f1c6b6b458 Mon Sep 17 00:00:00 2001 From: arkon Date: Thu, 22 Jan 2026 20:59:18 +0100 Subject: [PATCH] fix: restore auto-compact/auto-clear settings on server restart Session recovery from screens created fresh Session objects with default values, losing the auto-compact and auto-clear settings that were saved to state.json. Now reads them back during recovery. Co-Authored-By: Claude Opus 4.5 --- src/web/server.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/web/server.ts b/src/web/server.ts index ffd1f310..3acafdbc 100644 --- a/src/web/server.ts +++ b/src/web/server.ts @@ -1971,6 +1971,24 @@ export class WebServer extends EventEmitter { screenSession: screen // Pass the existing screen so startInteractive() can attach to it }); + // Restore auto-compact/auto-clear settings from state.json + const savedState = this.store.getSession(screen.sessionId); + if (savedState) { + if (savedState.autoCompactEnabled !== undefined || savedState.autoCompactThreshold !== undefined) { + session.setAutoCompact( + savedState.autoCompactEnabled ?? false, + savedState.autoCompactThreshold, + savedState.autoCompactPrompt + ); + } + if (savedState.autoClearEnabled !== undefined || savedState.autoClearThreshold !== undefined) { + session.setAutoClear( + savedState.autoClearEnabled ?? false, + savedState.autoClearThreshold + ); + } + } + this.sessions.set(session.id, session); this.persistSessionState(session); this.setupSessionListeners(session);