amber-backend/pb_migrations
Claude 7f6a72dd43 Let the owner tell the family what is broken
AniList disabled their public API with no warning and the family's Anime tab
stopped working. The app had nothing to say: the cause was outside it, no retry
would have helped, and the honest message was "this is broken, it is not your
television, and it is not ours to fix today". Nothing could deliver that.

A `notices` collection the owner writes and every app reads, plus a composer in
the dashboard's Správa view, which already holds a superuser token.

Read is PUBLIC on purpose: a notice has to survive the case where signing in is
itself what is broken, which is exactly when an explanation is worth most. The
cost is that it is world-readable, so both the migration and the composer say in
so many words that nothing sensitive goes in one. Writing stays superuser-only.

`endsAt` exists because the predictable failure is not a wrong notice but a stale
one: the outage ends, the row stays, and within a week everybody has learned to
ignore the banner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 20:12:57 +02:00
..
1752600000_init_accounts_schema.js feat: PocketBase backend + account/profile schema (epic #6, issue #9) 2026-07-15 20:22:45 +02:00
1784250000_sync_fields.js feat(schema): fields the client needs to sync watch state / watchlist / prefs 2026-07-17 16:20:38 +02:00
1785200000_addon_config.js feat(schema): encrypted addon-config collection (issue #20) 2026-07-18 02:14:40 +02:00
1786000000_device_auth.js feat(device-auth): codeless device sign-in backend (#12) 2026-07-19 14:36:15 +02:00
1786500000_releases.js Fix auto-update file gating: mark releases.file protected (#16) 2026-07-20 11:48:07 +02:00
1786500001_releases_protect_file.js Fix auto-update file gating: mark releases.file protected (#16) 2026-07-20 11:48:07 +02:00
1787000000_profile_max_rating.js Add profiles.maxRating for per-profile content tiers (#14) 2026-07-21 20:42:40 +02:00
1787500000_onboarding_template.js Family onboarding site: invite-gated signup, template config, /get/tv 2026-07-22 18:23:05 +02:00
1788000000_client_logs.js Add client_logs collection for background device diagnostics (feedback 2 §4) 2026-07-23 11:49:04 +02:00
1788500000_client_logs_flavor.js client_logs: add flavor, which PocketBase was silently discarding 2026-08-06 06:45:48 +02:00
1789000000_owner_created_accounts.js Accounts are owner-created, and one page manages the whole account 2026-08-07 01:54:25 +02:00
1789000001_users_rating_default.js Accounts are owner-created, and one page manages the whole account 2026-08-07 01:54:25 +02:00
1789500000_client_logs_tester.js client_logs.tester: mark our own sessions, not the family's 2026-08-08 20:54:12 +02:00
1790000000_client_logs_gitsha.js Dashboard: read the reports, and create accounts without the admin UI 2026-08-08 23:29:51 +02:00
1790500000_providers.js Tell a new viewer what to buy before asking them to fill in a form 2026-08-12 18:36:55 +02:00
1790500001_users_onboarding.js Tell a new viewer what to buy before asking them to fill in a form 2026-08-12 18:36:55 +02:00
1791000000_onboarding_template_codes.js The code has to choose the template, not the clock 2026-08-12 21:35:46 +02:00
1791500000_notices.js Let the owner tell the family what is broken 2026-08-15 20:12:57 +02:00