mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-11 14:00:29 +00:00
a703cc2be6
Critical fix for intermittent HTTP endpoint hangs identified by Codex analysis. ## Root Cause SSH collection via getTemperatureViaSSH() had no timeout, causing HTTP handlers to block indefinitely when sensors command hung. This held node-level mutexes and rate limit slots, creating cascading failures where subsequent requests queued indefinitely. ## Solution - Thread request context through to SSH execution - Add exec.CommandContext with 15s timeout (vs 30s HTTP client timeout) - Create execCommandWithLimitsContext() to wrap SSH commands - Ensures handlers always release locks and respond within deadline ## Impact - HTTP temps endpoint now responds in ~70ms consistently - Temperature data successfully collected and displayed in Pulse - Eliminates 'context deadline exceeded' errors - Prevents node gate deadlocks from slow/stuck SSH sessions Related to Codex session 019a7e99-00fc-7903-afa3-01100baf47c6