024d97e5442b33ac5ed0d6be8165405fc32ca393
All checks were successful
Deploy GSM / deploy (push) Successful in 28s
Three compounding causes made the dashboard and detail pages slow: - Detail page fetched the WHOLE fleet (every SSH/Prometheus/RCON call for all servers) just to show one. Switch ServerDetail to GET /servers/:id (add api.getServer) so it costs one server's worth of work, not N. - No server-side caching: every 10s poll, from every open tab, recomputed everything. Add a shared 5s-TTL per-server cache + in-flight dedup behind both GET / and GET /:id; invalidate on start/stop/restart so power actions still reflect immediately. - Prometheus fetch had no timeout, so a slow/restarting Prometheus hung the whole aggregation indefinitely (the .catch can't catch a hang). Add AbortSignal.timeout to queryPrometheus/queryPrometheusRange. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
JavaScript
97.3%
CSS
2.6%