- Indikator links unter die Zoom-Regler (rechts verdeckte Legenden-Chips) - Flugmodus bei offener App -> Position raw als Funkloch-Zone (offline-Event) - Ent-Funklochen: Zonen-Liste im Offline-Modal mit X (removeDeadZone) - Warnungs-Aktualitaet: _mergeStore Bbox-Replace (aufgehobene Giftkoeder/ gefundene Hunde verschwinden; Fetch-Kreis deckt Bbox via sqrt2 ab; fresh=null merged nie) + 24h-Refresh im 50km-Umkreis beim Start - Routen offline nutzbar halten: ensureRouteCorridors beim Start-Check (Stichproben-Verify, Re-Download aus preview_track, Region-Dedupe) - Stub-Tests ins Repo: tests/js/ (r1/r3/r4/r5, alle gruen) Bump v1231
747 B
747 B
JS-Logik-Tests (Node, ohne Browser)
Stub-Tests für backend/static/js/map-offline.js (IndexedDB/pmtiles/fetch gemockt):
for f in tests/js/test-map-offline*.js; do node "$f" backend/static/js/map-offline.js; done
- r1: Budget-Download, Korridor, Coverage, Deadzone-Dedupe
- r3: downloadBbox, Zu-groß-Schutz, totalBytes, Prefetch-Throttle, Cap-Guard, persist()
- r4: Minimal-Speicher-Modell (Prune, Netz-Probe, clear behält Zonen, Nähe/Verify, Färbung)
- r5: Bbox-Replace (aufgehobene Warnungen), 24h-Alert-Refresh, removeDeadZone, ensureRouteCorridors
⚠️ Node 21+: eingebautes navigator-Global — Stubs via Object.defineProperty(globalThis, 'navigator', …),
ein einfaches global.navigator = wird still verschluckt.