Commit graph

296 commits

Author SHA1 Message Date
copilot-swe-agent[bot]
a6dba7e628
fix: address code review - explicit column list in fallback query, extract raw XML toggle into named function
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/aecffd5d-b644-4e4d-b13e-b392e78d4606

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:47:15 +00:00
copilot-swe-agent[bot]
acbb850e21
fix: add_to_cart SQL mismatch, Browse Servers routing, canonical game dedup, OS-aware locations, XML editor improvements
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/aecffd5d-b644-4e4d-b13e-b392e78d4606

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:45:27 +00:00
copilot-swe-agent[bot]
aed7a4fccf
Refine language fallback warning matcher and legacy editor label text
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b16096ca-4ef7-4bb0-80e8-658767561478

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:03:18 +00:00
copilot-swe-agent[bot]
09acf90004
Finalize validation style consistency fixes
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b16096ca-4ef7-4bb0-80e8-658767561478

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:02:31 +00:00
copilot-swe-agent[bot]
72a06383e0
Polish readability issues from validation feedback
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b16096ca-4ef7-4bb0-80e8-658767561478

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:01:33 +00:00
copilot-swe-agent[bot]
33cbb13d1b
Apply validation feedback cleanup for language and XML/Steam files
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b16096ca-4ef7-4bb0-80e8-658767561478

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 23:00:36 +00:00
copilot-swe-agent[bot]
52dba9447e
Implement settings fallback, XML section editor, and Steam Workshop admin/user fixes
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b16096ca-4ef7-4bb0-80e8-658767561478

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 22:58:47 +00:00
copilot-swe-agent[bot]
d3ba167d41
Fix billing review follow-ups
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1e47877f-c80e-4514-bdff-2bd022c84f13

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 22:46:48 +00:00
copilot-swe-agent[bot]
439e57b333
Fix billing provisioning and admin defaults
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1e47877f-c80e-4514-bdff-2bd022c84f13

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 22:44:53 +00:00
3e70455179 removed .32bit xml files 2026-05-06 18:24:31 -04:00
copilot-swe-agent[bot]
5766b86034
fix: address code review issues - bind_param types, path ltrim, secrets sanitization
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/5bfe8731-c37a-4f7b-a5c7-fbc0393ae134

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:46:32 +00:00
copilot-swe-agent[bot]
0fcdda2ee3
fix: PayPal webhook path, billing table migrations, diagnostics layout, error logging
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/5bfe8731-c37a-4f7b-a5c7-fbc0393ae134

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:44:45 +00:00
copilot-swe-agent[bot]
55feec020d
fix: address code review feedback - billing_dir scope, copy button, lint
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/f974e469-8562-41df-ba37-bc340f5a154c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:17:33 +00:00
copilot-swe-agent[bot]
41a812fdd6
feat: add PayPal sandbox/live credentials, webhook endpoint, and admin diagnostics
- config.inc.php: new sandbox/live credential structure with paypal_mode, separate
  sandbox/live client_id, client_secret, webhook_id, and webhook_path
- config.example.php: updated to match new structure
- config_loader.php: adds defaults and backward compat mapping from old
  $paypal_sandbox/$paypal_client_id variables; adds gsp_paypal_* helper functions
- PayPalGateway.php: fromConfig() uses gsp_paypal_* helpers with fallback
- cart.php: uses gsp_paypal_get_client_id()/gsp_paypal_is_sandbox() helpers
- webhook.php: updated to use gsp_paypal_* helpers for credentials/API base
- paypal/webhook.php: new full-featured webhook receiver with signature
  verification, idempotency log, event processing, provisioning trigger
- admin_config.php: expanded to separate sandbox/live fields, computed webhook URL,
  diagnostics panel showing credential status and recent webhook events
- module.php: bumped to v3.3/db_version 3, adds billing_paypal_webhook_events table

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/f974e469-8562-41df-ba37-bc340f5a154c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:14:47 +00:00
copilot-swe-agent[bot]
f1be97e0ee
fix: address code review feedback on config_loader and admin_config
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/db724497-3491-4f98-a8b5-4e93bd2c8b79

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:02:48 +00:00
copilot-swe-agent[bot]
4dff8d597c
feat: improve billing config system — child-of-panel sync, interactive admin form, backup retention
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/db724497-3491-4f98-a8b5-4e93bd2c8b79

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 16:00:41 +00:00
copilot-swe-agent[bot]
9944b59332
fix: billing cleanup, PayPal guard, docs nav prefix, coupon dark theme, XML guide link
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/52e5015e-f5cf-42e2-bc32-b1c77193a13f

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 15:24:27 +00:00
a45d102845
Update navigation.xml 2026-05-05 19:15:41 -05:00
copilot-swe-agent[bot]
38e14546d7
fix(billing): use INFORMATION_SCHEMA pre-checks in db_version 2 migrations
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/bcf11207-51e4-4c2d-8254-9eddf4f451e0

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-06 00:06:55 +00:00
copilot-swe-agent[bot]
4babef08eb
fix: remove hardcoded Discord webhook URLs, centralize via discordmsg() helper
- Improve discordmsg() in includes/functions.php: add curl_init existence
  check, CURLOPT_TIMEOUT/CONNECTTIMEOUT, safe no-op when webhook is empty,
  correct false-return on curl_init failure
- index.php: replace hardcoded webhook URL + 15-line inline cURL block with
  discordmsg() using $settings['discord_webhook_admin']
- modules/user_admin/edit_user.php: same — role-change notification now
  uses discordmsg() + discord_webhook_admin setting
- modules/tickets/submitTicket.php: add global $settings; replace hardcoded
  webhook URL + inline cURL with discordmsg() using discord_webhook_main
- modules/billing/create_servers.php: replace $settings['webhookurl'] +
  inline cURL blocks (x2) with discordmsg() using discord_webhook_main

All modules now use the centralized discord_webhook_main / discord_webhook_admin
settings already managed in Admin > Settings. No DB migration needed.

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/e4d38343-77ed-4c7a-afac-a2a815a059fd

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 20:21:59 +00:00
copilot-swe-agent[bot]
a0be9ede66
add inline comment explaining service_id=0 sentinel value
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/862c51a7-d835-4eb2-bd0e-2e2a5459036b

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 20:14:02 +00:00
copilot-swe-agent[bot]
e010085347
fix billing+migration: correct migration indexes, table name, column names, webhook URL
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/862c51a7-d835-4eb2-bd0e-2e2a5459036b

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 20:13:08 +00:00
copilot-swe-agent[bot]
2c1f87b54a
fix: address code review feedback — setStatus always defined, prepared stmt in checkout_free, better DB error message
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/d18a8f6c-0715-46c4-9c97-94ec7e2a22fc

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 19:09:23 +00:00
copilot-swe-agent[bot]
73f125ea21
fix: billing checkout — auto-provisioning, zero-dollar flow, duplicate prevention, paid-invoice cart fix
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/d18a8f6c-0715-46c4-9c97-94ec7e2a22fc

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 19:07:21 +00:00
copilot-swe-agent[bot]
e13c00e89d
fix: address code review feedback - spacing and SQL comment
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/439845e0-926e-4b49-9cd0-810457b73c12

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 17:25:36 +00:00
copilot-swe-agent[bot]
5b2162fb28
fix: standardize billing order status values and apply full-day expiry grace rule
- home_handling_functions.php: display expiration as Y-m-d only (not Y-m-d H:i);
  apply full-day grace by comparing date-only (midnight) in PHP so a server
  expiring on today's date remains Active the entire day
- cron-shop.php Step B & C: change server_expiration_date comparisons from
  < DATE_SUB(NOW(), ...) to DATE(server_expiration_date) < DATE_SUB(CURDATE(), ...)
  ensuring the full expiration day is honoured
- user_games/check_expire.php: change all three expiration queries from
  <= time() to < strtotime(date('Y-m-d')) (today-midnight) for full-day grace
- billing/test_integration.php: replace status='paid' (old order status) with
  status IN ('Active','paid') for backward compat during migration
- user_games/billing_integration.php: clarify comment that billing_invoices.status
  uses the payment lifecycle ('paid'/'unpaid'/'due'), separate from billing_orders.status
- Add modules/billing/sql/normalize_billing_order_status.sql migration script
  to convert installed->Active, paid->Active, suspended->Expired in existing rows
- Update CHANGELOG.md

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/439845e0-926e-4b49-9cd0-810457b73c12

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 17:24:41 +00:00
copilot-swe-agent[bot]
cb9c54b858
fix: address code review comments (spelling, add comment to renewable_statuses)
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/c56f04bb-ecce-4f1b-9bbd-c5f83107da1d

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 15:56:26 +00:00
copilot-swe-agent[bot]
2f62bd32c9
fix: standardize billing order status values and fix expiration lookup
- billing_integration.php: admin-created servers now use status='Active' (was 'installed')
- home_handling_functions.php: expiration query uses status IN ('Active','Invoiced') only
- my_account.php: renewable_statuses includes canonical 'active'/'invoiced'; legacy labels updated
- admin_orders.php: add orphaned home_id diagnostics section
- normalize_billing_order_status.sql: new migration to convert installed/paid→Active, suspended→Invoiced

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/c56f04bb-ecce-4f1b-9bbd-c5f83107da1d

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 15:55:39 +00:00
copilot-swe-agent[bot]
c7f1c95a6a
fix: direct billing_orders expiration query with whitelist status filter
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/20ae119c-b626-4e1b-8180-0908d070bf1c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 13:10:42 +00:00
copilot-swe-agent[bot]
f1c96ff1b7
fix: Steam Workshop module issues and modulemanager PHP 8.3 warning
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/773ab9dc-a9f7-463e-8bf1-c37ac01b0b37

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 12:35:39 +00:00
copilot-swe-agent[bot]
1bd34c07a0
fix: use static path hint for agent CLI command in user.php
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/d9a824dc-5568-4604-a1e1-c72ccf240e13

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 12:20:23 +00:00
copilot-swe-agent[bot]
59bd545ab3
feat: replace Steam Workshop with clean rebuild (no adapters/controllers)
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/d9a824dc-5568-4604-a1e1-c72ccf240e13

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 12:18:35 +00:00
copilot-swe-agent[bot]
6e424bee60
fix: server expiration LEFT JOIN and Steam Workshop MySQL 5.7 safe migration
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/fca65480-29f6-4a76-ae4f-442477782a2c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 10:54:48 +00:00
copilot-swe-agent[bot]
2a5dd10181
Fix game monitor billing expiration display
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/0bb2bf91-6e30-4a24-a514-110dfa54397f

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-05 10:13:58 +00:00
copilot-swe-agent[bot]
ade2aabdf0
fix: address code review - add aria-label to jump link, localize optional text, add LANG_optional key
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/7c776773-fa8f-4f5d-afec-ff62cf7b2bba

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 20:35:59 +00:00
copilot-swe-agent[bot]
e30c6ac25d
feat: config_games XML tag descriptions + jump link; support optional fields; steam_workshop remove adapter terminology
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/7c776773-fa8f-4f5d-afec-ff62cf7b2bba

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 20:34:14 +00:00
copilot-swe-agent[bot]
df4f1d1bdc
fix(steam_workshop): address code review feedback
- WorkshopInstaller: rename cachePath/installPath params to sourcePath/targetPath in checkNeedsSync; replace account_placeholder with TODO comment explaining feature is pending
- WorkshopRepository: remove duplicate docblock on insertOrUpdateMod
- module.php: improve install_queries version comments
- user_workshop_mods.php: rename $scriptPath to $requestPath
- profile_form.php: add symlink limitation note to copy method dropdown
- lang/en_US.php: update steamcmd login mode hint to reflect account mode status"

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/e7f0d80d-f775-4794-adbd-cf48b55bc9c1

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 19:52:22 +00:00
copilot-swe-agent[bot]
69f415ad86
feat(steam_workshop): production rewrite with full admin profile page and server settings
- module.php: bump db_version to 2; full v2 schema in install_queries[0]; ALTER TABLE migration in install_queries[2] adding 11 new profile columns plus server_workshop_settings table
- WorkshopRepository: expand saveProfile() with all new fields (steam_app_id, steamcmd_login_mode, steamcmd_path, mod_separator, copy_keys, key paths, pre/post scripts, validation_notes); add nullOrStr helper; add server settings CRUD (getServerSettings, saveServerSettings, recordUpdateResult, setUpdateQueued, listQueuedUpdateHomes); update insertOrUpdateMod with custom_folder; update listAllEnabledMods to select new columns
- WorkshopProfileController: full extractProfileData() with all new fields; validateProfileData with folder template check
- views/admin/profile_form.php: full rewrite – all required fields (steam_app_id, workshop_app_id, login mode, SteamCMD path, OS, cache path, install path, folder naming dropdown, launch params, mod separator, copy method, copy keys with JS show/hide, key paths, pre/per-mod/post bash scripts with DayZ example, validation notes, config file template)
- views/admin/profiles.php: updated list view columns (App IDs, Login, Method)
- WorkshopInstaller.php: full rewrite with %var% template support (+ legacy {var} compat); buildTemplateVars() resolves all 14 variables; pre/post script execution; triggerSteamCmdDownload uses new profile fields; copyKeys helper
- WorkshopModController: add save_settings and queue_update POST actions; handleModsPage loads serverSettings + allProfiles
- views/user_workshop_mods.php: full rewrite – server settings form (enable, profile selector, update mode, restart behavior), update status grid (status/error/time/success time), queue update button, mod table with custom_folder column and toggle/order auto-submit
- lang/en_US.php: ~80 new string keys for all v2 fields
- steam_workshop.css: new v2 styles (3-col grid, script textarea, status grid, server settings card, badges)"

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/e7f0d80d-f775-4794-adbd-cf48b55bc9c1

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 19:49:36 +00:00
copilot-swe-agent[bot]
7377f955fd
Fix PHP 8.3 htmlentities null safety, remove unused themes, rename OGP_LANG_ to LANG_
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/9909a053-0a66-4453-a844-d3b80d727b27

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 17:31:16 +00:00
copilot-swe-agent[bot]
9550cd32b4
fix: billing order flow, steam_workshop lang key, workshop module install queries
- order.php: replace foreach((array)$mysqli_result) with proper fetch_assoc() loop
- order.php: fix hidden service_id field to use $_REQUEST instead of $_POST
- order.php: add safe error messages and error_log() on failed service lookup
- lang/English/global.php: add OGP_LANG_steam_workshop to fix _steam_workshop_ raw key
- steam_workshop/module.php: replace unusable $module_db_create heredoc with
  proper $install_queries[0] array so tables are created during module install
- timestamp.txt: updated

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/70fa0082-93ad-4a4d-a1b3-ea6afa77ee80

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 17:15:07 +00:00
copilot-swe-agent[bot]
86f825e388
feat: rewrite workshop_admin UI – remove adapter terminology, make configurations primary
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/3fc88263-c1c0-46f6-95f1-7070fc6f9d02

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 16:56:38 +00:00
copilot-swe-agent[bot]
47c95bb4e7
fix: PHP 8.3 string interpolation and remove Steam Workshop from main nav
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/ddf9efe5-279d-4197-98e5-b3fc5b28ea0c

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 12:49:21 +00:00
copilot-swe-agent[bot]
c737f0caa7
fix: remove debug output, Steam Workshop menu item, and PHP 8.3 TypeErrors in admin controller
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/b402e67e-690f-4d0c-be37-181af3833298

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 11:40:45 +00:00
copilot-swe-agent[bot]
d0c86926bd
fix: address code review feedback (comment clarity, remove redundant static array, add CSS class)
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/86bb1e0e-2bbd-439b-88cd-7a624ad24761

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 00:13:49 +00:00
copilot-swe-agent[bot]
5c463d381f
fix: FAQ PHP warnings, billing nav, XML fatal-skip, Steam Workshop user menu
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/86bb1e0e-2bbd-439b-88cd-7a624ad24761

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-04 00:12:39 +00:00
copilot-swe-agent[bot]
7391d23487
fix: address code review - add sanitizer comments, fix strrpos false-return edge case
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1afce49e-510d-49a6-9d11-0b7118d3cf85

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-03 23:44:57 +00:00
copilot-swe-agent[bot]
de80f89619
fix: wrap DayZ post_install scripts in CDATA, add XML editor auto-sanitizer
- dayz_arma2co_win32.xml: wrap post_install in CDATA to fix raw '<' breaking
  XML parsing; fix dbPass generation to use portable tr form
- dayz_epoch_mod_win32.xml: same CDATA wrapping; replace &lt; literals so
  bash actually receives real '<' redirect characters
- config_servers.php: add config_games_sanitize_xml_scripts() that wraps bare
  '<' in script-like nodes with CDATA before saving raw XML; add
  config_games_script_node_names() helper; structured-editor save now uses
  createCDATASection() for post_install/pre_start/etc. nodes so shell
  characters survive DOM round-trips intact

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1afce49e-510d-49a6-9d11-0b7118d3cf85

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-03 23:43:41 +00:00
copilot-swe-agent[bot]
d564476d1c
feat: GSP 1.0 baseline – module versions, FAQ refresh, XML editor validation, Obsidian theme
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/40ca313f-3f17-4f62-8f05-ba72540a8d30

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-03 23:31:07 +00:00
copilot-swe-agent[bot]
9740cdd33b
fix: escape service_name in order.php to prevent XSS; modernize admin JS
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/28b4019a-734d-418e-8002-8c1ff0c0f564

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-03 23:04:59 +00:00
copilot-swe-agent[bot]
21bcdac9d7
fix: address review feedback - move JS to script block, use CSS classes
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/28b4019a-734d-418e-8002-8c1ff0c0f564

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-03 23:04:03 +00:00