copilot-swe-agent[bot]
bb4fd8b44e
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>
2026-05-08 21:24:27 +00:00
copilot-swe-agent[bot]
cc306ca355
Polish workshop helper ordering and docs wording consistency
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 13:01:48 +00:00
copilot-swe-agent[bot]
fff379edd8
Refine workshop validation checks and table-name sanitization
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 13:00:18 +00:00
copilot-swe-agent[bot]
72668cdfbe
Finalize docs title consistency and steamcmd executable validation
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 12:59:06 +00:00
copilot-swe-agent[bot]
079da1990e
Apply validation feedback for docs title and workshop migration notes
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 12:57:59 +00:00
copilot-swe-agent[bot]
93677ea5b3
Address review nits for steamcmd checks and docs wording
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 12:56:53 +00:00
copilot-swe-agent[bot]
01ad93a11a
Simplify Steam Workshop UX and wire panel docs links
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1575c81b-f8a7-433a-8f3b-e068c0992c18
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-08 12:55:27 +00:00
copilot-swe-agent[bot]
e0b843897d
Fix README, storefront mobile layout, and cart pricing consistency
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/5e161382-08ef-43a9-8cb3-d6fadad18c00
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-07 12:43:41 +00:00
copilot-swe-agent[bot]
c9cf3ac298
Fix billing cart schema/pricing and storefront OS grouping
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/0b6f5123-e13c-4bf7-94c0-339760fe3034
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-07 00:35:58 +00:00
copilot-swe-agent[bot]
f1b5ae3807
fix: minor formatting issues from code review
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/ee35e671-8ff2-43fb-a365-f7a4f9263ca7
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-07 00:23:39 +00:00
copilot-swe-agent[bot]
bf44b618e4
feat: add Workshop behavior settings UI + fix billing period_start migration
...
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/ee35e671-8ff2-43fb-a365-f7a4f9263ca7
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-07 00:22:45 +00:00
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