feat: changelog, What's New and admin entries (sub-project 6b) #6

Merged
eliott merged 1 commit from feat/changelog into main 2026-10-16 13:43:09 +02:00
Owner

Sub-project 6b.

  • What's New sheet on launch: the shell asks /changelog/since once per session when online and shows the unseen entries; "Got it" and "See all" mark them seen on the API, so the web and the app share the marker.
  • Changelog page under Account > About, paginated; the first page is kept in changelog_cache so it reads offline, with the date it was fetched.
  • Admin (users with isAdmin): entries list including scheduled ones, and a form with title, version, publication day and typed items; create, edit, delete. A form bumps a change signal so the list beneath it reloads.
  • Fix: the session refresh now bypasses the API's cookie cache, which every sync call keeps fresh and which otherwise never returned updated user fields.
  • Version 0.7.0.

Verified on the emulator: the sheet with the seeded entry, the page, admin rows after making the test user an admin, and an entry created from the form landing in the database. The admin list could not be exercised locally because the sync API branch predates GET /admin/changelog; the client targets develop's contract and the test covers it.

Sub-project 6b. - What's New sheet on launch: the shell asks `/changelog/since` once per session when online and shows the unseen entries; "Got it" and "See all" mark them seen on the API, so the web and the app share the marker. - Changelog page under Account > About, paginated; the first page is kept in `changelog_cache` so it reads offline, with the date it was fetched. - Admin (users with `isAdmin`): entries list including scheduled ones, and a form with title, version, publication day and typed items; create, edit, delete. A form bumps a change signal so the list beneath it reloads. - Fix: the session refresh now bypasses the API's cookie cache, which every sync call keeps fresh and which otherwise never returned updated user fields. - Version 0.7.0. Verified on the emulator: the sheet with the seeded entry, the page, admin rows after making the test user an admin, and an entry created from the form landing in the database. The admin list could not be exercised locally because the sync API branch predates `GET /admin/changelog`; the client targets `develop`'s contract and the test covers it.
feat(changelog): what's new sheet, changelog page with offline cache, admin entries (sub-project 6b)
All checks were successful
tests / test (pull_request) Successful in 1m33s
4c37eb7823
What's New: the shell asks /changelog/since once per session when online and
shows the unseen entries in a sheet; dismissing marks them seen on the API,
so the web and the app share the marker. The changelog page under About
pages through the entries; its first page is kept in changelog_cache, so
offline it still reads, with the date it was fetched.

Admins get the entries list (scheduled ones included) and a form: title,
version, publication day and the items with their type. A form bumps a
change signal so the list beneath it, kept mounted by the native stack,
fetches again.

The session refresh now skips the API's cookie cache, which every sync call
keeps fresh and which otherwise answers with the user as of the sign-in.
eliott merged commit fae2bc4aac into main 2026-10-16 13:43:09 +02:00
eliott deleted branch feat/changelog 2026-10-16 13:43:10 +02:00
Sign in to join this conversation.
No reviewers
No labels
run-ci
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
RollNote/rollnote-app!6
No description provided.