v1.8.1: Alignement upload offline sur le flow online (UX + self-heal)

L'upload offline avait deux defauts vs l'update online:
- pas de self-heal des services (pas de Step 3c equivalent)
- ancienne UX synchrone (spinner sans feedback pendant 60-90s)

Maintenant:
- update_firmware_from_file.sh: nouveau Step 4c qui appelle
  setup_services.sh (alignement avec online)
- launcher.php upload_firmware: lance le script en background et
  reutilise le mecanisme log/done de l'update online
- admin.html uploadFirmware: apres l'upload du ZIP, bascule sur
  le meme systeme de polling/progress que l'online (avec mapping
  d'etapes specifique au script offline)
- Detection de fin par substring 'completed successfully!' (matche
  les 2 markers finaux differents)

Fix au passage: le bouton 'Upload & Install' restait bloque sur
'Installing...' apres succes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-05-12 18:00:10 +02:00
parent 7338381c98
commit 11ac2b184a
5 changed files with 158 additions and 49 deletions

View File

@@ -144,6 +144,21 @@ if [ "${APACHE_CHANGED:-false}" = true ]; then
print_status "✓ Apache reloaded"
fi
# Step 4c: Reconcile systemd services with the repo (self-heal)
# Same logic as update_firmware.sh: re-run setup_services.sh so any missing,
# masked, or newly-added service in the canonical setup script is installed.
# git config core.fileMode=false strips +x, so chmod first.
print_status ""
print_status "Step 4c: Reconciling systemd services with setup_services.sh..."
SETUP_SERVICES="$TARGET_DIR/services/setup_services.sh"
if [ -f "$SETUP_SERVICES" ]; then
chmod +x "$SETUP_SERVICES"
"$SETUP_SERVICES"
check_status "Setup services reconciliation"
else
print_status "⚠ setup_services.sh not found, skipping"
fi
# Step 5: Restart critical services
print_status ""
print_status "Step 5: Managing system services..."