From bb4fd8b44e713b7095f98310f4fb9eb39a35d789 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 8 May 2026 21:24:27 +0000 Subject: [PATCH] feat: harden billing provisioning and admin service UI workflows Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/6640cb6b-0d5a-4c91-bfaf-86dd1b71f701 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com> --- CHANGELOG.md | 1 + docs/COPILOT_TODO.md | 1 + modules/administration/panel_update.php | 5 +- modules/billing/adminserverlist.php | 193 +++++++++++-- modules/billing/create_servers.php | 344 ++++++++++++++++++++---- modules/billing/login.php | 16 +- modules/billing/timestamp.txt | 2 +- 7 files changed, 481 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f52143b..530024f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## 2026-05-08 +- **Provisioning + billing admin UX reliability pass:** Hardened automatic server provisioning to reserve ports from `arrange_ports` (exact `home_cfg_id`, then `home_cfg_id=0` fallback), prevent duplicate `home_ip_ports` assignment, keep order/invoice/home linkage intact even when install is pending, and apply safe default mod resolution so base installs are not blocked by missing explicit mod choices. Refreshed billing admin service management with row-level save actions, sortable columns (including Game Name enabled-first toggle), clearer save feedback, cleaner unstable-update caution styling, login theme polish, and updated storefront timestamp footer metadata. - **Steam Workshop reliability + UI simplification:** Removed customer CLI/update scripting instructions from Workshop user flow, reduced per-server behavior options to supported modes only, switched remaining Steam Workshop SQL references to prefix helpers (no `OGP_DB_PREFIX` strings), hardened queued-update agent processing (`queued → updating → installed/failed`) with clearer error persistence, and refreshed monitor/support documentation links to open game-specific docs (fallback to docs index) in a new tab. - **Billing docs routing refresh:** Updated docs browser links/icons to root-relative storefront paths (`/docs.php`, `/docs/...`) and removed stale hardcoded panel host guidance from getting-started documentation. diff --git a/docs/COPILOT_TODO.md b/docs/COPILOT_TODO.md index 6986a0b7..08262d02 100644 --- a/docs/COPILOT_TODO.md +++ b/docs/COPILOT_TODO.md @@ -8,3 +8,4 @@ - Add an integration smoke test that exercises paid checkout, free checkout, and add-to-cart on installs with/without `period_start` to prevent billing schema drift regressions. - Add a storefront visual-regression check at 375px and 430px breakpoints covering login, order, and cart pages to prevent mobile overflow regressions. - Complete a full pass over all `modules/billing/docs/*` game guides to standardize OS/Workshop/RCON capability statements against current XML-backed server support. +- Add an automated billing provisioning integration test fixture that verifies arrange_ports exact/fallback allocation, duplicate-port protection, and home_id linkage after paid/free checkout. diff --git a/modules/administration/panel_update.php b/modules/administration/panel_update.php index ed87a164..3e4fb2ad 100644 --- a/modules/administration/panel_update.php +++ b/modules/administration/panel_update.php @@ -1302,8 +1302,9 @@ function gsp_panel_update_section() // ---- GitHub Unstable ----------------------------------------------------- echo "
GitHub Unstable represents the latest development branch and may be unstable.
\n"; - echo "" - . "⚠ Warning: GitHub Unstable may contain bugs or incomplete features. Use with caution in production.
" + . "⚠ Cutting-edge updates may include unfinished changes. Use stable releases for production.