mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
docs(planning): v1.4.38.4 marathon closure addendum
Pro-active stale-shell self-heal — Marc reported the live site "nicht erreichbar" on his pre-v1.4.38.3 PWA shell, even though the server returned 200 on every endpoint. The v1.4.38.3 reactive reload only fires after the running app trips `ChunkLoadError`; users sitting on a page with no lazy-load trigger never recovered. v1.4.38.4 closes that gap with `<VersionPoller>` + SW `CACHE_VERSION` per-release + `NEXT_PUBLIC_APP_VERSION` injection, so every future deploy heals itself within 60 s of the user opening the app.
This commit is contained in:
1 parent
96e7442bab
commit
e1528952bc
1 file changed
+3
-2
@@ -1,6 +1,6 @@
|
||||
# v1.4.34.4 → v1.4.38.3 — Audit-Marathon Closure (extended)
|
||||
# v1.4.34.4 → v1.4.38.4 — Audit-Marathon Closure (extended)
|
||||
|
||||
Shipped: 2026-05-17 → 2026-05-18 (twelve consecutive releases capped by the v1.4.38.x iOS-coord chain — PR #190 admin-merge, six-axis QA, mood-reminder hotfix bundle, CI green-up + chunk-load auto-recover).
|
||||
Shipped: 2026-05-17 → 2026-05-18 (thirteen consecutive releases — capped by v1.4.38.4 making the post-deploy stale-shell self-healing so users no longer need a manual pull-to-refresh after every release).
|
||||
|
||||
| Tag | Highlights | Release |
|
||||
| --- | --- | --- |
|
||||
@@ -15,6 +15,7 @@ Shipped: 2026-05-17 → 2026-05-18 (twelve consecutive releases capped by the v1
|
||||
| v1.4.38.1 | iOS v0.5.4 push-notification coord — admin-merge of PR #190 (APNs `MEDICATION_REMINDER` category for iOS action-buttons + opt-in `MOOD_REMINDER` daily 22:00 event with per-user ledger). Migration `0069_v054_mood_reminder` applied cleanly; iOS v0.5.4 connected on first deploy. Unit suite 4524 → 4565. | [v1.4.38.1](https://github.com/MBombeck/HealthLog/releases/tag/v1.4.38.1) |
|
||||
| v1.4.38.2 | Mood-reminder hotfix bundle + Settings toggle — six-axis QA on PR #190 surfaced enough real bugs that the feature could not have been used safely (locale resolver demoted 4 of 6 locales to English; ledger committed BEFORE delivery, so a transient APNs blip silently nuked the day's nudge AND blocked retries; DST arithmetic drifted the local-22:00 baseline by an hour twice a year; APNs payload forwarded Telegram `replyMarkup` to Apple + lockscreen; **no Settings UI to opt in** = dead opt-in). v1.4.38.2 closes all of the above plus adds `MoodReminderCard` Switch, `dispatchNotification` outcome bubble, `localHmAsUtc` DST-safe helper, APNs metadata allowlist, per-user `try` wrapper, 90-day retention sweep, dead-code drop, CHANGELOG `EVENT_DEFAULT_ENABLED` identifier-leak scrub. Unit suite 4565 → 4551 (mood-reminder.test.ts rewrite for new contract, not coverage loss). | [v1.4.38.2](https://github.com/MBombeck/HealthLog/releases/tag/v1.4.38.2) |
|
||||
| v1.4.38.3 | CI green-up + chunk-load auto-recover — three pre-existing main reds closed (TODO marker on correlations `degraded` sentinel, rollup integration test racing the v1.4.37.1 fire-and-forget rollup populator, e2e drift after the v1.4.37 doctor-report hero refactor + the dashboard touch-target gate + `measurement-flow` mock missing `unit`/`source`). Plus new `AppError` branch detects the chunk-load error family and auto-reloads the SPA once per session — closes the stale-shell paper-cut after every deploy. Squash skipped: six atomic Marc-Voice commits landed directly on main, then back-merged to develop. | [v1.4.38.3](https://github.com/MBombeck/HealthLog/releases/tag/v1.4.38.3) |
|
||||
| v1.4.38.4 | Pro-active stale-shell self-heal — Marc reported `healthlog.bombeck.io` "nicht erreichbar" on the v1.4.38.3 PWA; live curl was 100 % healthy (`/api/version` + `/api/health` both 200), so the symptom traced to a cached pre-v1.4.38.3 shell that never tripped the new `AppError` reload path. v1.4.38.4 layers three fixes so future deploys self-heal without user action: `<VersionPoller>` client component mounted in `<Providers>` polls `/api/version` every 60 s and on mismatch unregisters every SW, wipes CacheStorage, and `window.location.reload()`s (sessionStorage-gated to once per session); `next.config.ts` injects `NEXT_PUBLIC_APP_VERSION` from `package.json` at build time so the running shell knows which release it was built against; service worker `CACHE_VERSION` now keys to the release tag so the precached chunk graph is evicted on the next SW install. Tag re-pushed once after the editor-race dropped the `package.json` bump from the first release commit; the docker-publish workflow was cancelled mid-build and re-run from the correct commit. | [v1.4.38.4](https://github.com/MBombeck/HealthLog/releases/tag/v1.4.38.4) |
|
||||
|
||||
## Audit waves
|
||||
|
||||
|
||||
Reference in new issue
Block a user