Updates
Maintenance note: keep this file updated whenever the panel updater routes, source selection behavior, dry-run/update rules, or protected path logic changes.
Panel Route
GET /panel/updateautomatically checks the configured source on page load.POST /panel/update/actionpersists the selected source configuration and runs one updater action.
Key Files
private/sys/Controller/Panel/UpdateController.phpprivate/sys/Router/Panel/UpdateRouter.phpprivate/tpl/panel/update.php
Source Selection
Raven persists updater source settings in update.source.*:
update.source.modegithub_mirrorgithub_customrepo_customupdate.source.github_repoupdate.source.repo_url
Defaults:
- mode:
github_mirror - github repo:
noveltylanterns/raven - repo url: empty
Page Behavior
The updater page shows:
- local git revision and branch
- selected source revision and resolved default branch
- local/source commit timestamps
- update state (
Up To Date,Update Available,Local Ahead, orDiverged)
Buttons:
Check For UpdatesDry RunUpdate Now
Dry Run And Update Rules
The updater clones the selected source into a temporary directory and plans an overlay onto the local working tree.
Protected paths are skipped and never overwritten or deleted:
- anything matched by local
.gitignore - custom themes under
public/theme/{slug}/ - custom extensions under
private/ext/{slug}/
Managed package content is updated from source:
- Raven core files
- stock themes
- stock extensions
- bundled stock extensions such as
repo
When managed local files have local changes, Raven reports them in Dry Run.
- default update behavior blocks those overwrites
Allow overwrite of local core changesletsUpdate Nowreplace them anyway- Dry-run action rows use future-tense wording because they describe planned changes; completed
Update Now rows use past-tense wording because the file operations have already run.
Current Scope
The updater works directly on the local tree rather than running git pull in place. It uses a fetched source checkout and copies/deletes managed files to match that source while preserving protected paths.