mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-08 16:39:42 +02:00
chore: bump version to 0.1558
This commit is contained in:
@@ -1581,6 +1581,7 @@ class ClaudemanApp {
|
|||||||
this.teammateTerminals = new Map(); // Map<agentId, { terminal, fitAddon, paneTarget, sessionId, resizeObserver }>
|
this.teammateTerminals = new Map(); // Map<agentId, { terminal, fitAddon, paneTarget, sessionId, resizeObserver }>
|
||||||
|
|
||||||
this.terminalBufferCache = new Map(); // Map<sessionId, string> — client-side cache for instant tab re-visits (max 20)
|
this.terminalBufferCache = new Map(); // Map<sessionId, string> — client-side cache for instant tab re-visits (max 20)
|
||||||
|
this.localEchoTextCache = new Map(); // Map<sessionId, string> — preserve local echo input across tab switches
|
||||||
this.ralphStatePanelCollapsed = true; // Default to collapsed
|
this.ralphStatePanelCollapsed = true; // Default to collapsed
|
||||||
this.ralphClosedSessions = new Set(); // Sessions where user explicitly closed Ralph panel
|
this.ralphClosedSessions = new Set(); // Sessions where user explicitly closed Ralph panel
|
||||||
|
|
||||||
@@ -4523,6 +4524,15 @@ class ClaudemanApp {
|
|||||||
this.writeFrameScheduled = false;
|
this.writeFrameScheduled = false;
|
||||||
this._isLoadingBuffer = false;
|
this._isLoadingBuffer = false;
|
||||||
this._loadBufferQueue = null;
|
this._loadBufferQueue = null;
|
||||||
|
// Save local echo text for outgoing session before clear destroys it
|
||||||
|
if (this.activeSessionId) {
|
||||||
|
const echoText = this._localEchoOverlay?.pendingText || '';
|
||||||
|
if (echoText) {
|
||||||
|
this.localEchoTextCache.set(this.activeSessionId, echoText);
|
||||||
|
} else {
|
||||||
|
this.localEchoTextCache.delete(this.activeSessionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
this._localEchoOverlay?.clear();
|
this._localEchoOverlay?.clear();
|
||||||
this.activeSessionId = sessionId;
|
this.activeSessionId = sessionId;
|
||||||
try { localStorage.setItem('claudeman-active-session', sessionId); } catch {}
|
try { localStorage.setItem('claudeman-active-session', sessionId); } catch {}
|
||||||
@@ -4597,6 +4607,15 @@ class ClaudemanApp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Restore local echo text for incoming session (saved during previous tab switch)
|
||||||
|
const savedEcho = this.localEchoTextCache.get(sessionId);
|
||||||
|
if (savedEcho && this._localEchoOverlay) {
|
||||||
|
this._localEchoOverlay.pendingText = savedEcho;
|
||||||
|
this._localEchoOverlay._persist();
|
||||||
|
// Delay rerender until buffer is settled and prompt is visible
|
||||||
|
setTimeout(() => this._localEchoOverlay?.rerender(), 100);
|
||||||
|
}
|
||||||
|
|
||||||
// Send resize and Ctrl+L to trigger Claude to redraw at correct size
|
// Send resize and Ctrl+L to trigger Claude to redraw at correct size
|
||||||
await this.sendResize(sessionId);
|
await this.sendResize(sessionId);
|
||||||
|
|
||||||
@@ -4676,6 +4695,7 @@ class ClaudemanApp {
|
|||||||
}
|
}
|
||||||
this.terminalBuffers.delete(sessionId);
|
this.terminalBuffers.delete(sessionId);
|
||||||
this.terminalBufferCache.delete(sessionId);
|
this.terminalBufferCache.delete(sessionId);
|
||||||
|
this.localEchoTextCache.delete(sessionId);
|
||||||
this._inputQueue.delete(sessionId);
|
this._inputQueue.delete(sessionId);
|
||||||
this.ralphStates.delete(sessionId);
|
this.ralphStates.delete(sessionId);
|
||||||
this.ralphClosedSessions.delete(sessionId);
|
this.ralphClosedSessions.delete(sessionId);
|
||||||
|
|||||||
Reference in New Issue
Block a user