server status fix

This commit is contained in:
Frank Harris 2026-06-17 08:28:31 -05:00
parent bb02be7daa
commit bd3875743e
8 changed files with 555 additions and 306 deletions

View file

@ -9,6 +9,7 @@ Main landing dashboard with widgets and quick server overview.
## Current Status
- Functional
- Uses the existing collapsible widget layout for customer-facing quick actions
## Dependencies
@ -39,12 +40,12 @@ Main landing dashboard with widgets and quick server overview.
## Known Issues
- some default widgets are legacy
- some default widget IDs are legacy and limit how far the collapsible layout can be expanded without a schema change
## Missing Functionality
- richer status and alert surfaces
- clear separation between support requests and custom project work
- deeper async server-status embedding without adding remote checks to normal dashboard loads
## Suggested Future Improvements
@ -59,6 +60,8 @@ Main landing dashboard with widgets and quick server overview.
- Dashboard render file: `Panel/modules/dashboard/dashboard.php`
- Dashboard styles: `Panel/modules/dashboard/dashboard.css`
- Shared Panel project URL helper: `Panel/includes/functions.php`
- Shared Discord invite helper: `Panel/includes/functions.php`
- Shared server-status route helper: `Panel/includes/functions.php`
Current project request URL:
@ -66,5 +69,17 @@ Current project request URL:
Dashboard behavior:
- retained collapsible sections:
- `Account Overview`
- `Custom Server Code`
- `Support`
- removed duplicate standalone sections:
- `Custom Server Development`
- `Support and Troubleshooting`
- support remains the path for routine troubleshooting, service issues, and existing features
- the custom-development CTA is separate and points users at Runlevel Systems for project work such as custom scripts, mods, integrations, automation, migrations, dashboards, and advanced server tooling
- the custom-development CTA points users at Runlevel Systems for project work such as custom scripts, mods, integrations, automation, migrations, dashboards, and advanced server tooling
- the Discord support invite should use:
- `https://discord.gg/qt9Hnkj6cv`
- `Custom Server Code` should open the Runlevel project request in a new tab
- `Support` should keep ticketing and Discord support separate from paid project work
- `Server Status` stays available from the dashboard, but remote checks are intentionally deferred to the separate status page so normal dashboard loads do not block on agent/network timeouts

View file

@ -8,8 +8,8 @@ Admin status page for server/node state.
## Current Status
- Experimental
- Alpha
- Functional standalone page
- Kept separate from the dashboard request path on purpose
## Dependencies
@ -22,11 +22,13 @@ Admin status page for server/node state.
## Agent Interaction
- may read status summaries
- reads configured remote servers from the active Panel database
- performs live agent availability checks when the status page is opened
## User Workflow
- not a primary customer workflow
- open `Panel/server_status.php` from the dashboard when status information is needed
- refresh manually when a new check is required
## Admin Workflow
@ -38,17 +40,43 @@ Admin status page for server/node state.
## Known Issues
- alpha-grade module
- live remote checks may wait on agent/network timeouts, so the page must not be loaded as part of the normal dashboard request
## Missing Functionality
- stable dashboard integration
- async dashboard embedding if a future implementation can safely avoid blocking dashboard render
## Current Architecture
- Render file: `Panel/server_status.php`
- Dashboard entry point: `Panel/modules/dashboard/dashboard.php`
- Data source: `$db->getRemoteServers()` plus `OGPRemoteLibrary::status_chk()`
- Dashboard architecture decision: keep status checks on the separate page so the main dashboard remains responsive even when one or more remote servers are slow or unavailable
## Display Rules
- Removed the old `Hostname` column
- Keep:
- `Server Name`
- `Location / IP`
- `Status`
- `Agent Status`
- `Panel-to-server latency`
- `Last Checked`
- Latency wording must remain truthful:
- current label: `Panel-to-server latency`
- this is a server-side connectivity check from the Panel host
- it is not customer-browser latency and must not be presented as the player's ping
## Theme Notes
- The status page should visually match the active dark Panel theme
- Use responsive table wrapping for mobile widths instead of forcing a wide desktop table into the viewport
## Suggested Future Improvements
- replace with a proper node health/status dashboard
- optional browser-side latency testing only if each location has a safe public health endpoint and the implementation can remain honest about what is being measured
## Recommendation
- Rewrite / Deprecate
- Keep / Improve