Our Stack dashboard drops the FPS monitor on tablet widths (769–1023px) #1047

Closed
opened 2026-08-13 05:26:18 +00:00 by spikerj · 1 comment
Owner

In dreamstream-cluster-dashboard.component.ts initThreeJS, stats.js is only created when innerWidth >= 1024 || innerWidth <= 768. The comment above the gate says desktop and mobile both get the FPS panel, but an iPad-sized viewport (e.g. 800×600) falls in the hole and never mounts #fpsHost / the floating fallback.

Would catch: widening the gate to >= 800 (or always constructing stats) makes the tablet-skip unit test RED — the panel appears where production currently leaves stats undefined.

Suggested fix: treat anything <= 1024 as the scaled mobile/tablet path, or drop the exclusive-or and always attach stats (toolbar slot already scales to 0.6).

In `dreamstream-cluster-dashboard.component.ts` `initThreeJS`, stats.js is only created when `innerWidth >= 1024 || innerWidth <= 768`. The comment above the gate says desktop **and** mobile both get the FPS panel, but an iPad-sized viewport (e.g. 800×600) falls in the hole and never mounts `#fpsHost` / the floating fallback. Would catch: widening the gate to `>= 800` (or always constructing stats) makes the tablet-skip unit test RED — the panel appears where production currently leaves `stats` undefined. Suggested fix: treat anything `<= 1024` as the scaled mobile/tablet path, or drop the exclusive-or and always attach stats (toolbar slot already scales to 0.6).
Author
Owner

Resolved in spikersoft-angular PR #819 (merged to master). Our Stack dashboard keeps the FPS monitor on tablet widths (769–1023px). Closing.

Resolved in spikersoft-angular [PR #819](https://git.spikersoft.com/spikerj/spikersoft-angular/pulls/819) (merged to `master`). Our Stack dashboard keeps the FPS monitor on tablet widths (769–1023px). Closing.
Sign in to join this conversation.