v1.8.0: Refonte UX update firmware (progress bar live + streaming logs)
L'ancien flow etait un AJAX bloquant qui attendait ~90s sans aucun retour visuel autre qu'un spinner. Nouveau flow: - Backend: launcher.php lance update_firmware.sh en background (route update_firmware_start) et expose une route de polling incremental (update_firmware_progress) avec offset. - Frontend: progress bar Bootstrap animee + label de l'etape en cours + timer mm:ss / estimation, plus streaming des logs toutes les 700ms. - Sous-etape Step 3c (la plus longue): interpolation fine de la progression en comptant les 'Started X' (services demarres). - Logs techniques masques par defaut dans <details>, ouverts automatiquement en cas d'echec pour faciliter le debug. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,27 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.8.0",
|
||||
"date": "2026-05-12",
|
||||
"changes": {
|
||||
"features": [
|
||||
"Update firmware: nouvelle UX avec progress bar dynamique, label de l'étape en cours, et timer mm:ss / estimation",
|
||||
"Update firmware: streaming live des logs (polling 700ms) — plus de fenêtre 'qui bloque' pendant 90s",
|
||||
"Update firmware: bloc de statut final (succès vert / échec rouge) avec message explicite",
|
||||
"Update firmware: logs techniques masqués par défaut dans une section repliable, ouverts automatiquement en cas d'échec"
|
||||
],
|
||||
"improvements": [
|
||||
"Backend: 2 nouvelles routes launcher.php — update_firmware_start (lance en background, retour immédiat) et update_firmware_progress (polling incrémental avec offset)",
|
||||
"Sous-étape Step 3c (setup_services.sh, le plus long): interpolation de la progression via comptage des 'Started X' (npm, envea, sara, etc.)",
|
||||
"Sous-étape Step 4 (restart services): interpolation via comptage des 'Restarting enabled service:'"
|
||||
],
|
||||
"fixes": [],
|
||||
"compatibility": [
|
||||
"L'ancienne route update_firmware (synchronous) est conservée pour rétrocompatibilité"
|
||||
]
|
||||
},
|
||||
"notes": "Refonte UX du process de mise à jour: l'utilisateur voit maintenant en temps réel où on en est (étape, %, temps écoulé) au lieu de fixer un spinner pendant 1-2 minutes. Les logs bruts restent accessibles pour debug pro via une section repliable."
|
||||
},
|
||||
{
|
||||
"version": "1.7.7",
|
||||
"date": "2026-05-12",
|
||||
|
||||
Reference in New Issue
Block a user