feat: startup health check during splash screen (v1.7.20)

- Add ?action=health_check PHP endpoint (early-exit, before rate-limiter)
  Checks: PHP version, required extensions, data/ writability, SQLite DB
  connection + table integrity, .env file, Gemini AI key, Bring! token
- Display animated checklist in splash screen with per-item icons
  (ok/warn/error); critical failures block app launch with clear error
  message and Retry button; optional warnings shown but don't block
- New JS: _runStartupCheck(), _startupRetry(); called first in _initApp()
- New HTML elements in #app-preloader: #preloader-checks, #preloader-error-msg,
  #preloader-retry-btn (hidden until startup check completes)
- New CSS: .preloader-checks, .preloader-check-row, .preloader-error-msg,
  .preloader-retry-btn with state colors (ok=green, warn=amber, error=red)
- Translations: startup.* keys (10 per language) in IT, EN, DE, FR, ES
- Asset version bump: v=20260520a
This commit is contained in:
dadaloop82
2026-05-17 09:40:11 +00:00
parent 8750e44687
commit d3b119c7fe
11 changed files with 294 additions and 6 deletions
+12
View File
@@ -1201,5 +1201,17 @@
"btn_csv": "Scarica CSV",
"btn_pdf": "PDF / Stampa",
"btn_title": "Esporta"
},
"startup": {
"check_php": "PHP",
"check_exts": "Estensioni PHP",
"check_data_dir": "Cartella dati",
"check_db": "Database",
"check_env": "Configurazione (.env)",
"check_gemini": "Chiave Gemini AI",
"check_bring": "Token Bring!",
"critical_error": "Errore critico: impossibile avviare l'app. Controlla i log del server.",
"error_network": "Impossibile contattare il server. Controlla la connessione.",
"retry": "Riprova"
}
}