(rebuild)
| 948 | return true; |
| 949 | } catch (e) { |
| 950 | return false; |
| 951 | } |
| 952 | } |
| 953 | |
| 954 | // Re-route when the hash changes in an already-open tab (e.g. a second launch |
| 955 | // click into the same unit's window). |
| 956 | window.addEventListener('hashchange', () => { routeFromHash(); }); |
| 957 | |
| 958 | // ── RuSense (native RuView WiFi-CSI console, Shadow-DOM island) ───────────── |
| 959 | // The RuView SPA is served from /web/rusense/ and mounted into a shadow root |
| 960 | // under #rusense-host, so its compiled Tailwind never collides with Ragnar's |
| 961 | // styles. Sensing data is proxied by this Flask app (/ws/sensing, /api/v1/*). |
nothing calls this directly
no test coverage detected