From 7b1402c4b5f4ab549c222da484a0dda3da96a00a Mon Sep 17 00:00:00 2001 From: TheFlow Date: Mon, 20 Oct 2025 07:47:31 +1300 Subject: [PATCH] debug(pressure-chart): add detailed logging for element discovery and button clicks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SUMMARY: Added comprehensive logging to diagnose pressure monitor demo issue. Will show if elements are found after innerHTML set and if event listeners are attached successfully. CHANGES: - Log all element discovery (gauge, buttons, metrics) - Log event listener attachment success/failure - Log when simulate() and reset() methods are called - Bump version to v20251019173500 DEBUGGING: User reports demo not working despite initialization succeeding. These logs will reveal: - If DOM elements are queryable after innerHTML - If event listeners are successfully attached - If button clicks are triggering methods 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude --- .claude/metrics/hooks-metrics.json | 25 +++++++++++++++++++++++-- public/architecture.html | 4 ++-- public/js/components/pressure-chart.js | 18 ++++++++++++++++++ 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.claude/metrics/hooks-metrics.json b/.claude/metrics/hooks-metrics.json index 13d0406d..643ce75a 100644 --- a/.claude/metrics/hooks-metrics.json +++ b/.claude/metrics/hooks-metrics.json @@ -4766,6 +4766,27 @@ "file": "/home/theflow/projects/tractatus/public/architecture.html", "result": "passed", "reason": null + }, + { + "hook": "validate-file-edit", + "timestamp": "2025-10-19T18:16:53.178Z", + "file": "/home/theflow/projects/tractatus/public/js/components/pressure-chart.js", + "result": "passed", + "reason": null + }, + { + "hook": "validate-file-edit", + "timestamp": "2025-10-19T18:17:02.354Z", + "file": "/home/theflow/projects/tractatus/public/js/components/pressure-chart.js", + "result": "passed", + "reason": null + }, + { + "hook": "validate-file-edit", + "timestamp": "2025-10-19T18:17:09.456Z", + "file": "/home/theflow/projects/tractatus/public/architecture.html", + "result": "passed", + "reason": null } ], "blocks": [ @@ -5029,9 +5050,9 @@ } ], "session_stats": { - "total_edit_hooks": 491, + "total_edit_hooks": 494, "total_edit_blocks": 36, - "last_updated": "2025-10-19T09:32:03.912Z", + "last_updated": "2025-10-19T18:17:09.456Z", "total_write_hooks": 190, "total_write_blocks": 7 } diff --git a/public/architecture.html b/public/architecture.html index 0ac42788..8fe7a01c 100644 --- a/public/architecture.html +++ b/public/architecture.html @@ -549,8 +549,8 @@ - - + + diff --git a/public/js/components/pressure-chart.js b/public/js/components/pressure-chart.js index 1303a7fe..a36ff144 100644 --- a/public/js/components/pressure-chart.js +++ b/public/js/components/pressure-chart.js @@ -101,11 +101,26 @@ class PressureChart { simulateBtn: document.getElementById('pressure-simulate-btn'), resetBtn: document.getElementById('pressure-reset-btn') }; + + // Verify elements were found + console.log('[PressureChart] Elements found:', { + gaugeFill: !!this.elements.gaugeFill, + gaugeValue: !!this.elements.gaugeValue, + status: !!this.elements.status, + simulateBtn: !!this.elements.simulateBtn, + resetBtn: !!this.elements.resetBtn + }); } attachEventListeners() { + if (!this.elements.simulateBtn || !this.elements.resetBtn) { + console.error('[PressureChart] Cannot attach event listeners - buttons not found'); + return; + } + console.log('[PressureChart] Attaching event listeners to buttons'); this.elements.simulateBtn.addEventListener('click', () => this.simulate()); this.elements.resetBtn.addEventListener('click', () => this.reset()); + console.log('[PressureChart] Event listeners attached successfully'); } setLevel(level) { @@ -190,12 +205,14 @@ class PressureChart { } simulate() { + console.log('[PressureChart] Simulate button clicked - starting pressure simulation'); // Simulate pressure increasing from current to 85% const targetLevels = [30, 50, 70, 85]; let index = 0; const step = () => { if (index >= targetLevels.length) return; + console.log('[PressureChart] Setting pressure level to', targetLevels[index]); this.setLevel(targetLevels[index]); index++; setTimeout(step, 1500); @@ -205,6 +222,7 @@ class PressureChart { } reset() { + console.log('[PressureChart] Reset button clicked'); this.setLevel(0); } }