From eb0f95ac9e5234ab8eedae29c4ce0acac00cd853 Mon Sep 17 00:00:00 2001 From: uroma Date: Thu, 22 Jan 2026 11:54:06 +0000 Subject: [PATCH] Fix execution trace panel collapse/expand functionality - Expose toggleTracePanel() to global scope for onclick access - Add localStorage state persistence for collapsed/expanded state - Add restoreTracePanelState() to remember user preference - Update onclick handler to safely call global function - Bump cache-bust version to force browser reload The trace panel toggle button now works correctly and remembers its state across page reloads. Co-Authored-By: Claude Opus 4.5 --- public/claude-ide/index.html | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/public/claude-ide/index.html b/public/claude-ide/index.html index 849cc19e..3f244f01 100644 --- a/public/claude-ide/index.html +++ b/public/claude-ide/index.html @@ -102,10 +102,10 @@ const panel = document.createElement('div'); panel.id = 'execution-trace-panel'; panel.innerHTML = ` -
-
+
+
🔍 EXECUTION TRACE - +
Waiting for events...
@@ -153,16 +153,42 @@ const content = document.getElementById('trace-content'); const toggle = document.getElementById('trace-toggle'); if (content && toggle) { - if (content.style.display === 'none') { + const isCollapsed = content.style.display === 'none'; + + if (isCollapsed) { content.style.display = 'block'; toggle.textContent = '▼'; + localStorage.setItem('tracePanelCollapsed', 'false'); } else { content.style.display = 'none'; toggle.textContent = '▶'; + localStorage.setItem('tracePanelCollapsed', 'true'); } } } + // Restore collapsed state from localStorage + function restoreTracePanelState() { + const wasCollapsed = localStorage.getItem('tracePanelCollapsed') === 'true'; + const content = document.getElementById('trace-content'); + const toggle = document.getElementById('trace-toggle'); + + if (content && toggle && wasCollapsed) { + content.style.display = 'none'; + toggle.textContent = '▶'; + } + } + + // Call restore after panel is created + const originalCreateTracePanel = createTracePanel; + createTracePanel = function() { + originalCreateTracePanel(); + setTimeout(restoreTracePanelState, 0); + }; + + // Expose toggleTracePanel globally so onclick can access it + window.toggleTracePanel = toggleTracePanel; + // Initialize on DOM ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', createTracePanel); @@ -207,7 +233,7 @@