Router.go() sets window.location.hash, but when the hash already
matches (e.g. F5 reload at /#/addr/info then clicking a saved
connection), hashchange doesn't fire and the router never re-renders.
Switched to Router.navigate() which processes the route directly
regardless of current hash.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Eliminated redundant serverinfo RCON polling from the serverInfo page.
It now subscribes to the header's serverinfo-update CustomEvent instead.
Key changes:
- app.js: cache last serverinfo in window._lastServerInfo and dispatch
serverinfo-update event so pages can pick up data immediately
- serverInfo.js: replaced setInterval-based polling with event listener
plus immediate _lastServerInfo cache check, eliminating the initial
blank page state and duplicate RCON requests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Router.add() now takes 3 params (pattern, title, onEnter) matching app.js usage
- Fixed setActiveSidebar → setActivePage in all route callbacks
- Removed premature hash-setting from connect.js — app.js now sole navigator
(was firing router into a hidden container before showConnected ran)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>