fix: Update-Hinweis vergleicht gegen den laufenden Build (D45)
Der Hinweis erschien oft für genau die Fassung, die gerade geladen war. Zwei Fehler mit derselben Wurzel — die Prüfung verglich nie mit dem laufenden Stand: - Relais statt Vergleich: der abgerufene Inhalts-Hash wurde gegen den ZULETZT ABGERUFENEN gehalten (localStorage), nicht gegen den laufenden. Beim Deploy antworten CDN-Knoten unterschiedlich; jeder Wechsel schlug an, und der Schlüssel wird von allen Tabs geteilt. - Klebendes Flag: `werkbaum-update-available` entfernte nur „Jetzt laden". Nach F5 oder „Später" blieb es stehen, und der Load-Check zeigte das Banner bei jedem weiteren Laden erneut. Verglichen wird jetzt der Commit aus dem Footer-Versionslink der laufenden Seite gegen den der abgerufenen HTML (D16 spritzt ihn in beiden Deploy-Wegen ein). Kein localStorage dazwischen; beim Laden wird nichts gemeldet, die Prüfung zwei Sekunden später holt es nach. Eine spätere „aktuell"-Meldung sammelt Banner und Footer-Symbol wieder ein. Rückfall auf den Inhalts-Hash für Builds ohne Marker (Dev-Server), Vergleichsstand dort der erste Abruf der Seiten-Sitzung. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
579dfbf789
commit
f1ac57c931
@@ -491,3 +491,16 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
|
||||
Diagramm maximiert. Layout-CSS hängt an `body.mobile`, nicht an einer eigenen
|
||||
`@media`-Regel — beide Seiten müssen denselben 640-px-Schwellwert nutzen
|
||||
(SPEC §9, D17).
|
||||
- **Update-Prüfung (D45):** verglichen wird der Commit aus dem
|
||||
Footer-Versionslink der **laufenden** Seite (`runningBuildId()`, DOM) gegen
|
||||
den aus der abgerufenen HTML (`buildIdFromHtml()`). Kein localStorage
|
||||
dazwischen — `werkbaum-update-available`/`werkbaum-html-hash` werden **nicht
|
||||
mehr geschrieben** (der Reset räumt sie nur noch weg). Wer hier etwas
|
||||
„merken" will: Genau das war der Fehler — ein gemerktes „Update verfügbar"
|
||||
überlebt das Neuladen, das es einspielt, und meldet dieselbe Fassung endlos
|
||||
weiter. Beim Laden wird deshalb **nichts** gemeldet; die Prüfung nach zwei
|
||||
Sekunden holt es nach. Zum Testen: Auf dem Dev-Server steht im Footer der
|
||||
Platzhalter `…/commit/main` (keine Commit-Kennung) — dort läuft der
|
||||
Hash-Rückfall, der Marker-Pfad ist nur zu prüfen, wenn man einen echten
|
||||
`commit/<sha>` in `index.html` einspritzt (danach zurücknehmen!) und
|
||||
`window.fetch` überschreibt.
|
||||
|
||||
Reference in New Issue
Block a user