From a8f01220410cd1084318043fecb2077603791a4c Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Tue, 20 Oct 2026 19:28:17 +0200 Subject: [PATCH] docs(todos): close journal-author-profile-fields; reload-on-deploy progress from Phase 19.4.1 --- .../{pending => done}/journal-author-profile-fields.md | 8 ++++++++ ...-11-reload-open-apps-when-a-new-version-is-deployed.md | 6 ++++++ 2 files changed, 14 insertions(+) rename .planning/todos/{pending => done}/journal-author-profile-fields.md (71%) diff --git a/.planning/todos/pending/journal-author-profile-fields.md b/.planning/todos/done/journal-author-profile-fields.md similarity index 71% rename from .planning/todos/pending/journal-author-profile-fields.md rename to .planning/todos/done/journal-author-profile-fields.md index 1f7bd740..54312356 100644 --- a/.planning/todos/pending/journal-author-profile-fields.md +++ b/.planning/todos/done/journal-author-profile-fields.md @@ -25,3 +25,11 @@ Still open: - an editor for the author description (would fit `metadata.description`); - `subtitle` and `avatar` keys in sm-journal-plugin's `authorProfile`, README and `TestJournalAuthorProfile`; - the author import filling `metadata` and copying avatar file rows. + +## Done (2026-10-20, Phase 19.4.1 plan 03) + +sm-journal-plugin v0.2.1 (fe1bbc2) adds `subtitle`, `description` (`backend_users.metadata`, `""` when unset) and `avatar` (the public URL of the admin avatar, or null) to the author object of `GET /_journal/api/v1/authors/{author}`, with the README and `TestJournalAuthorProfile`'s exact key set; plan 05 (48d6593) adds the only-a-subtitle and odd-metadata cases. The demo shows it: demo:seed creates the SummerCMS Team author with subtitle, description and avatar, and demo.summercms.io renders the author card on posts and on /blog/author/summercms-team. + +Follow-ups, not done here: +- an editor for the author description in the admin (My account writes `metadata.subtitle` only); +- the author import filling `metadata` and copying the avatar file rows. diff --git a/.planning/todos/pending/2026-10-11-reload-open-apps-when-a-new-version-is-deployed.md b/.planning/todos/pending/2026-10-11-reload-open-apps-when-a-new-version-is-deployed.md index f4848ca5..df2d8851 100644 --- a/.planning/todos/pending/2026-10-11-reload-open-apps-when-a-new-version-is-deployed.md +++ b/.planning/todos/pending/2026-10-11-reload-open-apps-when-a-new-version-is-deployed.md @@ -29,3 +29,9 @@ TBD. Ideas: - Catch dynamic-import/chunk-load failures (`vite:preloadError`) and reload once, guarded against loops by a sessionStorage flag. - Nuxt apps: use the built-in `app:manifest:update` / `checkOutdatedBuildInterval` (Nuxt app manifest) and the same banner pattern. - Unit-test the version comparison and the reload-once guard. Document the header or endpoint in the boardwalk README and docs. + +## Progress (Phase 19.4.1) + +The site half shipped in vue-demo-app (demo.summercms.io, plan 03): `app/plugins/manifest-update.client.ts` listens for Nuxt's `app:manifest:update` (the app manifest, checked every 5 minutes) and re-checks `builds/latest.json` on `visibilitychange`; `UpdateBanner` offers the reload and never reloads by itself. `isNewerBuild` (`app/utils/buildUpdate.ts`) is unit-tested in plan 05 (`buildUpdate.test.ts`). Other Nuxt site apps can copy the pattern. + +Still open, so the todo stays pending: the admin half. boardwalk exposes a build version (a header on admin API replies or a `/version` endpoint, from the dist hash), the admin SPA compares it and shows the same non-blocking banner, plus the chunk-load reload-once guard. It needs a framework tag and a changelog post.