small fixes

This commit is contained in:
Frank Harris 2026-06-17 09:15:42 -05:00
parent bd3875743e
commit 28533be24d
9 changed files with 310 additions and 524 deletions

View file

@ -20,7 +20,7 @@ The active update page is intentionally narrow:
- shows the installed Panel version
- shows the current git branch and commit when available
- exposes editable repository settings for the Panel update only
- exposes a reduced set of commonly changed repository settings for the Panel update only
- can create a Panel backup
- can update the Panel from the configured repository and branch
- can roll back to an existing Panel backup
@ -43,6 +43,22 @@ The admin page stores these settings in the Panel settings table:
- `gsp_update_panel_post_update_command`
- `gsp_update_backup_before`
The active UI now exposes these commonly changed settings directly:
- Repository URL / Path
- Branch / Channel
- Repository Root
- Backup Path
- Backup Retention
- Backup Before Update
The active UI now treats these as derived or advanced:
- Panel Path is derived as `Repository Root + /Panel`
- Panel Source Folder is fixed to `Panel`
- Git Executable is hidden and defaults to `git`
- Post-update Command remains available under Advanced Settings
Defaults:
- Repository URL / Path: `http://forge.runlevelsystems.com/dev/GSP.git`
@ -66,20 +82,25 @@ Retention is enforced after each successful backup.
If retention is `5`, the newest five managed backups are kept and older managed backups are pruned automatically.
Current backup counters on the admin page:
- `Managed Backups Stored` counts all managed updater snapshots returned by `gsp_get_managed_backup_entries()`, including full and component-style entries when present
- `Rollback Backups Available` counts only full timestamped backups returned by `gsp_get_available_backups()` that the restore flow can actually use
## Implementation Notes
- `gsp_update_settings()` and `gsp_validate_update_settings()` remain top-level in `Panel/modules/administration/panel_update.php`.
- `gsp_checkout_update_source()` remains a top-level compatibility helper for the configured repository checkout.
- `gsp_do_configured_git_update()` now applies only the Panel source folder into the configured Panel path.
- `gsp_do_configured_git_update()` now applies only the fixed `Panel` source folder into the derived Panel path.
- The page no longer depends on website or agent update settings.
## Update Flow
1. Save or submit repository settings.
2. Validate repository URL, branch, repo root, Panel path, and backup settings.
2. Validate repository URL, branch, repo root, and backup settings.
3. Create a backup when enabled.
4. Clone the configured repository source and branch into a temporary checkout.
5. Copy only the configured Panel source folder into the configured Panel path.
5. Copy only the fixed `Panel` source folder into the derived Panel path.
6. Preserve `Panel/includes/config.inc.php`.
7. Run module updates/post-update hooks.
8. Write version metadata and `LAST_UPDATE.txt`.