bvandeusen and Claude Opus 5.5
9d324ab2d0
release / web (push) Failing after 15s
release / govulncheck (push) Successful in 16s
release / go (push) Failing after 41s
release / integration (push) Failing after 3m29s
release / android (push) Successful in 4m7s
release / Attach APK to the Release (tag releases only) (push) Canceled after 0s
release / Build + push container image (push) Canceled after 0s
release / Verify release artifacts (tag releases only) (push) Canceled after 0s
release / Build signed APK (push) Canceled after 5m34s
feat: Minstrel backs itself up nightly to a folder or an S3 bucket, off until an admin switches it on ( #6773 )
...
Admin › Backups shows a verdict first (off, not set up, waiting, backed up,
overdue, failing since when), Back up now, Test destination and the latest
runs, with the settings beside them.
- backup.Service: one run at a time, bounded at 30 minutes; the schedule
ticks every 5 minutes, catches up a slot missed while the server was down,
and retries a failure after an hour and then after as long as it has been
failing. Runs are recorded in backup_runs, pruned after 90 days; a run cut
off by a shutdown is marked failed at the next start.
- A folder destination writes database/minstrel-<UTC stamp>.tar and refuses
a folder that isn't there. An S3 destination stages the file, hashes it,
and uploads it under database/ through a throttled reader (4 MiB/s by
default, 0 for no limit).
- Test destination checks the form as typed and only lists.
- The bucket secret is sealed like every stored credential; backup_settings
and backup_runs are left out of the backup itself.
- The panel polls only while a run is going, capped at the run limit plus
five minutes.
The music switch named in the task is left to #6774 , so no control ships
that does nothing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-02 14:50:55 -05:00
..
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-11-02 14:50:55 -05:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-07 07:59:40 -04:00
2026-05-07 20:10:18 -04:00
2026-05-16 18:41:21 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-08 21:49:37 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-07 12:01:16 -04:00
2026-05-08 10:46:43 -04:00
2026-10-23 12:23:58 -04:00
2026-08-16 11:48:45 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-08 07:48:22 -04:00
2026-10-23 12:23:58 -04:00
2026-10-11 13:48:20 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-07-03 09:29:33 -04:00
2026-10-23 12:23:58 -04:00
2026-07-03 09:22:03 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-04 20:13:31 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-07 12:43:44 -04:00
2026-11-02 13:23:19 -05:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-08 21:49:37 -04:00
2026-10-23 12:23:58 -04:00
2026-07-13 22:24:28 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-17 20:22:30 -04:00
2026-10-06 09:42:35 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-11-02 14:50:55 -05:00
2026-10-06 09:32:10 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-07 12:49:30 -04:00
2026-10-06 08:32:39 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-26 07:46:01 -04:00
2026-10-26 07:46:01 -04:00
2026-04-21 23:02:20 -04:00
2026-10-23 12:23:58 -04:00
2026-06-30 16:33:01 -04:00
2026-05-07 19:48:25 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-08 11:29:36 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-13 20:41:44 -04:00
2026-10-23 12:23:58 -04:00
2026-10-06 19:31:07 -04:00
2026-10-23 12:23:58 -04:00
2026-05-01 18:00:59 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-04-28 09:27:06 -04:00
2026-10-23 13:05:03 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-06 13:54:05 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-08 10:40:03 -04:00
2026-10-23 12:23:58 -04:00
2026-04-28 09:27:06 -04:00
2026-11-02 13:23:19 -05:00
2026-10-11 13:48:20 -04:00
2026-05-08 08:44:50 -04:00
2026-10-06 14:29:40 -04:00
2026-10-23 12:23:58 -04:00
2026-10-08 07:27:29 -04:00
2026-10-23 12:23:58 -04:00
2026-05-07 12:38:48 -04:00
2026-10-06 08:32:39 -04:00
2026-05-07 12:38:48 -04:00
2026-10-23 13:05:03 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-08-05 09:17:40 -04:00
2026-11-02 13:23:19 -05:00
2026-11-02 13:23:19 -05:00
2026-05-04 18:13:13 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-17 20:22:30 -04:00
2026-10-23 12:23:58 -04:00
2026-10-06 09:42:35 -04:00
2026-10-06 09:42:35 -04:00
2026-10-23 12:23:58 -04:00
2026-05-04 15:21:24 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-19 22:44:19 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-05-17 20:22:30 -04:00
2026-04-30 20:19:39 -04:00
2026-10-23 12:23:58 -04:00
2026-05-08 11:05:25 -04:00
2026-10-23 12:23:58 -04:00
2026-10-06 13:54:05 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00
2026-10-11 13:48:20 -04:00
2026-05-07 22:18:40 -04:00
2026-05-07 21:28:20 -04:00
2026-04-21 08:29:28 -04:00
2026-10-23 12:23:58 -04:00
2026-10-06 08:32:39 -04:00
2026-06-03 11:34:02 -04:00
2026-10-23 12:23:58 -04:00
2026-05-01 06:23:08 -04:00
2026-10-23 12:23:58 -04:00
2026-10-23 12:23:58 -04:00