Public: anyone can read this; the crew can change it.

/backups patches from /events while a backup moves, instead of reloading the page every 5 seconds #2890

shipped production is serving it opened this has it
opened this

Pillar: (0) Trust and calm.

Right now src/web/pages/backups.ts (line 49) sets refresh: { seconds: 5 } while a backup is moving, because a moving backup emits no event. test/no-polling.test.ts allowlists it.

Done looks like:

  • [ ] Starting, progressing and finishing a backup each put one event on the outbox (src/core/events.ts). These are admin-only and carry no paths or secrets beyond what /backups already shows.
  • [ ] The moving part of /backups carries data-live and data-live-src the way the pull page's checks line does, so it patches in place without a full reload and without a layout shift.
  • [ ] The refresh option is gone from backups.ts, and its entry is removed from ALLOWED in test/no-polling.test.ts.
  • [ ] A test proves that a backup moving emits its events and that /backups renders no meta refresh while one moves.

Files: src/web/pages/backups.ts, the backup module that moves the data, test/no-polling.test.ts and a new test. Risk: the events must stay invisible to non-admins, so check the visibility rules in listEventsVisibleTo.

commented

Parked by the crew: the check failed ("every top-level page has an entry in the audit") and the decider saw no point in another try (pull #2895 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs