Frontend: "Neue Version verfügbar"-Banner nach Deploy
Die Cache-Header waren schon optimal (index.html no-store, Assets immutable) – aber eine bereits laufende SPA holt sich nach einem Deploy keinen neuen Code, bis der Nutzer neu lädt. Das fängt kein Cache-Header ab. useVersionCheck holt die (server-seitig no-store) index.html periodisch (5 min) + beim Zurückkehren zum Tab, extrahiert die Menge der referenzierten Vite-Asset-Hashes als Signatur und vergleicht sie mit dem Startstand. Ändert sie sich (= neuer Build deployt), zeigt UpdateBanner oben im Layout einen dezenten Hinweis mit "Jetzt neu laden". Kein Backend-/Build-Change; im Dev-Modus No-op (Vite-Dev liefert keine /assets/<hash>-Dateien → leere Signatur → kein Alarm). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,17 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🔄 „Neue Version verfügbar"-Banner (offener-Tab-Problem)**
|
||||
- Cache-Header waren schon optimal (index.html `no-store`, Assets
|
||||
`immutable`) – aber eine laufende SPA holt sich nach einem Deploy
|
||||
nicht von selbst neuen Code. Neuer `useVersionCheck`-Hook holt die
|
||||
(immer frische) index.html periodisch + beim Zurückkehren zum Tab,
|
||||
vergleicht die Vite-Asset-Hash-Signatur mit dem Startstand. Bei
|
||||
Änderung erscheint ein dezentes Banner „Neue Version verfügbar →
|
||||
Jetzt neu laden" (`UpdateBanner`, oben im Layout).
|
||||
- Kein Backend-/Build-Change nötig; im Dev-Modus automatisch No-op
|
||||
(keine `/assets/<hash>`-Dateien → leere Signatur).
|
||||
|
||||
- [x] **👁 Kundenportal: Toggle „Deaktivierte Verträge anzeigen"**
|
||||
- Der Admin-/Mitarbeiter-Blick (CustomerDetail) hatte den Toggle schon;
|
||||
jetzt auch in der Kundenportal-Vertragsübersicht (`ContractList`,
|
||||
|
||||
Reference in New Issue
Block a user