Skip to content

feat: tell administrators when a new release is out - #27

Open
d3vyce wants to merge 3 commits into
mainfrom
admin-update-notification-check
Open

d3vyce wants to merge 3 commits into
mainfrom
admin-update-notification-check

Conversation

@d3vyce

@d3vyce d3vyce commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

What and why

image

Checklist

  • Tests for the change; cargo test --workspace passes
  • cargo fmt --all and cargo clippy --workspace --all-targets -- -D warnings are clean
  • .sqlx/, web/openapi.json and web/src/api/schema.d.ts regenerated if queries or the API changed
  • Behaviour changes described for the docs (CI behaviour, configuration, UI)
  • Commits signed off (git commit -s, see CONTRIBUTING.md)

@d3vyce d3vyce self-assigned this Nov 13, 2026
Signed-off-by: d3vyce <44915747+d3vyce@users.noreply.github.com>
@d3vyce
d3vyce force-pushed the admin-update-notification-check branch from 6b4b60b to 84c7c04 Compare November 13, 2026 15:10
@d3vyce
d3vyce requested a review from BlaalV8 November 13, 2026 15:12
BlaalV8 and others added 2 commits November 14, 2026 20:31
…e and an empty release_check_url

- The update notice is withdrawn once it no longer holds (signed out, the
  check turned off, a newer release) and kept apart from the outcome toasts,
  which go back to keeping the last few. Dismissals are remembered per
  release. announce/withdraw replace notice, which main now uses for the inbox.
- Admin > Settings keeps what was saved when opened again, and asks for the
  update status once more after turning the check on, once it has answered.
- An empty server.release_check_url hides what an earlier check found, as
  turning the check off in Admin > Settings does.
- Saving the settings locks the row: a switch left out keeps what the last
  save wrote.
- CI's e2e server and the bench run without the release check.
- A quiet release check failure logs its causes.
- Admin > Jobs lists the release check among the scheduled tasks.
- UpdateCheck::request() builds the queued job; newer() returns a bool; the
  dead serde defaults and the single-column getter are gone, so mcp_enabled
  and update_check_enabled are required in the API schema.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20261113000000 sorted before main's 20261114000000_in_app_notifications.sql
and is also the version of the ssh-key-commit-signing branch's migration.
sqlx does not detect duplicate versions, so with both merged the server
would not start (a primary key violation on a new database, VersionMismatch
on one that ran either).

A database that already ran this migration under its old version:
UPDATE _sqlx_migrations SET version = 20261114193156 WHERE version = 20261113000000;
(the file is unchanged, so its checksum still matches).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants