#!/bin/bash # App Updater Commands Header # Shows available `libreportal updater` subcommands. cliShowUpdaterHelp() { echo "" echo "Available App Updater Commands:" echo "" echo " libreportal updater check [auto] - Refresh per-app version & vulnerability data" echo " (auto = background mode: only scans when the data is" echo " older than CFG_UPDATER_SCAN_INTERVAL minutes)" echo " libreportal updater apply - Update one app (snapshots it first; auto-rollback on failure)" echo " libreportal updater apply-all [a,b] - Update a comma-list of apps (each snapshotted first)" echo " libreportal updater upgrade - Move an app BETWEEN release lines, one version at a" echo " time (31→32→33→34). Snapshots and verifies every step," echo " and stops at the first doubt. Add --dry-run to just see" echo " the plan, or a version to stop short of the newest." echo " libreportal updater rollback - Restore an app's most recent pre-update snapshot" echo "" echo "Every update takes a recovery snapshot via the Backup engine before" echo "touching the app, so any update is reversible. These commands back the" echo "WebUI Updates page (features/updater); actions run through the task system." echo "" echo "Automatic updates: each check enqueues the update for every app set to" echo "CFG__UPDATE_TYPE=auto (the default) — the same snapshot-first apply" echo "as pressing Update, recorded in History as automatic. They install only" echo "inside CFG_UPDATER_WINDOW (default 06:00-08:00 host time, right after" echo "the nightly backups); checks still run all day. Set an app to 'manual'" echo "on its Configure page to hold it back, or CFG_UPDATER_AUTO=false to" echo "hold back every app. A build that fails is never auto-retried." echo "" }