feat(parcel-sync): eTerra health check + maintenance detection

- New eterra-health.ts service: pings eTerra periodically (3min),
  detects maintenance (503, keywords), tracks consecutive failures
- New /api/eterra/health endpoint for explicit health queries
- Session route blocks login when eTerra is in maintenance (503 response)
- GET /api/eterra/session now includes eterraAvailable/eterraMaintenance
- ConnectionPill shows amber 'Mentenanță' state with AlertTriangle icon
  instead of confusing red error when eTerra is down
- Auto-connect skips when maintenance detected, retries when back online
- 30s session poll auto-detects recovery and re-enables auto-connect
This commit is contained in:
AI Assistant
2026-03-08 10:28:30 +02:00
parent 6557cd5374
commit b7a236c45a
5 changed files with 362 additions and 27 deletions
@@ -32,6 +32,12 @@ export type SessionStatus = {
activeJobCount: number;
/** First running job's phase (for UI hint) */
activeJobPhase?: string;
/** eTerra platform health */
eterraAvailable?: boolean;
/** True if eTerra is detected as being in maintenance */
eterraMaintenance?: boolean;
/** Human-readable health message */
eterraHealthMessage?: string;
};
/* ------------------------------------------------------------------ */