-
Stefy Lanza (nextime / spora ) authored
gpu-stats fell through to the generic proxy, which forwards via the long-timeout client to the primary engine. When that engine is saturated generating (sync llama.cpp holding its event loop), the request blocked → the dashboard's temp/GPU polling hung → the whole web UI went unresponsive and the task page stopped showing temperatures. Serve it from the front instead, using the already torch-free gpu_detect.gpu_stats() (nvidia-smi + AMD sysfs, reports every card regardless of CUDA_VISIBLE_DEVICES), run in a thread so the subprocess never blocks the front's event loop, and registered before the catch-all so it's not proxied to a busy engine. Light auth (session cookie / bearer presence) since GPU telemetry is low-sensitivity and full session validation lives on the engine — which is the component we're decoupling from. Note: the thermal THROTTLE (pausing a generation when hot) stays in the engine — it must, to pause that engine's own forward pass — but its stats are now front-served. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
f5417468