Commit Graph
9 Commits
Author SHA1 Message Date
angryzeroandCopilot b9364119da fix: serverInfo page shows data immediately on load
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>
2026-06-13 18:20:55 +02:00
angryzeroandCopilot 27d67f73aa fix: start polling synchronously, decoupled from nv.addGraph
Move startPolling() before nv.addGraph calls so it fires immediately
after DOM setup. This eliminates the race where nv.addGraph's async
render loop could delay or silently swallow the polling start. Charts
still initialize via nv.addGraph and have null guards in updateCharts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:19:03 +02:00
angryzeroandCopilot 7ea16d4677 fix: defer startPolling until all NVD3 charts initialized
nv.addGraph uses setTimeout internally, so chart models may not exist yet
when the first WebSocket response arrives. Moved startPolling() into the
last nv.addGraph callback to guarantee charts are ready before data flows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:10:04 +02:00
angryzeroandCopilot 3e3f908c9e fix: remove .duration() calls from multiChart and stackedAreaChart
NVD3 1.8.1 on CDN doesn't expose .duration() on multiChart or
stackedAreaChart top-level models. Duration is set via sub-components
(.lines1.duration, .lines2.duration) which are already present.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:06:02 +02:00
angryzeroandCopilot d68639e591 fix: remove orphaned duplicate netChart code causing SyntaxError
Lines 88-103 were a duplicate of the stackedAreaChart setup floating
outside any function — the stray }); at line 103 had no matching open
brace. Removed the 16 orphaned lines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:03:26 +02:00
angryzeroandCopilot 7847f6e6ae fix: NVD3 1.8.1 API compat, null guards, missing brace
- Removed useInteractiveGuideline (not in NVD3 1.8.1 on CDN)
- Added null guards in updateData + updateCharts for navigation-away
- Fixed missing closing brace in updateCharts if block

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:02:14 +02:00
angryzeroandCopilot 1bfca0d1e0 fix: add loading indicators to all pages
- 'Loading…' shown in charts/fields/output areas while waiting for server response
- Console + chat: clears loading state on first output line
- Player list: table body shows loading row until refresh completes
- Player info / Server info: fields show loading until data arrives

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 18:00:31 +02:00
angryzeroandCopilot c5679feb82 fix: navbar single-line, chart sizing, text visibility
- Removed hamburger menu — all stats inline on one navbar row
- Disconnect button at top-right (ms-auto)
- Added data-bs-theme=dark for proper BS5 dark mode text inheritance
- Restored explicit width/height on chart SVGs (required by NVD3)
- Changed text-muted → text-white-50 for field labels on dark bg
- Added flex-nowrap to navbar container
- Overrode --bs-body-bg to maintain original dark shade

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 17:56:05 +02:00
angryzeroandCopilot 0a178d17b9 feat: full de-Angularization with Bootstrap 5 migration
- Removed AngularJS 1.4.8 completely — no more framework dependency
- Extracted core RCON logic into pure vanilla JS (js/rcon.js)
- Added lightweight hash-based SPA router (js/router.js)
- Rewrote all 6 pages as vanilla JS modules in js/pages/
- Migrated Bootstrap 3 → Bootstrap 5 (cards instead of panels, bootstrap-icons instead of glyphicons)
- Removed jQuery dependency (Bootstrap 5 is vanilla JS)
- Purged all Angular templates from html/
- Removed npm artifacts (package.json, node_modules)
- Added nginx.example.conf for static hosting
- Updated rcon.css dark theme for BS5 variables
- Static file only — no Node.js backend required

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-13 17:51:50 +02:00