bvandeusen and Claude Opus 5.5
1f5e963c35
CI & Build / Plugin hooks (push) Successful in 10s
CI & Build / Python lint (push) Successful in 1s
CI & Build / TypeScript typecheck (push) Successful in 32s
CI & Build / Python tests (push) Successful in 1m42s
CI & Build / integration (push) Successful in 1m48s
CI & Build / Build & push image (push) Canceled after 22s
feat(6848): Settings restore rolls back, from the destination or a file, after a preview
...
The web restore no longer copies a backup in beside the live data.
- GET /api/admin/restore/sources lists the backups at the backup destination,
newest first.
- POST /api/admin/restore/preview says what a restore would do, changing
nothing: fresh or rollback, when the backup was taken, and counts now and
after per kind. A backup that cannot apply here gets a 409 with the reason.
- POST /api/admin/restore?confirm=rollback runs backup_job.rollback_to_backup:
safety backup, replace, then search rebuilt in the background.
Each takes ?source=<name> (a backup at the destination) or an upload. The
destination path exists because uploads are held to the request-size limit,
and a real instance's backup is far over it. backup_s3.get_file downloads
from a bucket. backup_destination.list_backups/open_backup only accept names
the scheduled backup writes, so a request cannot reach any other file.
Settings -> Data -> Restore from Backup opens RestoreBackupDialog. The dialog:
1. Pick a backup at the destination or a file.
2. Read the preview.
3. Type "roll back".
4. Run it. The dialog then says where the replaced state was saved, and sends
the user to sign in again.
Closes #6840 . Milestone 582, step 4.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-04 20:06:07 -05:00
..
2026-05-27 22:39:50 -04:00
2026-03-08 18:46:54 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-26 16:26:15 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 19:51:58 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
docs(6209): forty test files — design cascade and stylesheet, embeddings, family canon, forge, backup round trips, inception, placement, platforms, moments, rule move and verification, search scope, facets
2026-10-21 21:40:25 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 16:13:43 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 11:27:40 -04:00
2026-10-21 21:46:57 -04:00
2026-10-06 09:58:41 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 13:29:00 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-05-27 22:39:50 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-11-04 19:59:48 -05:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-11-04 19:53:45 -05:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 19:20:32 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 16:21:19 -04:00
2026-10-22 10:50:45 -04:00
2026-10-26 16:29:40 -04:00
2026-10-22 19:59:02 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-26 17:41:21 -04:00
2026-10-22 15:07:32 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 19:20:32 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-21 21:44:58 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 13:29:00 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 19:56:17 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 15:07:32 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 11:01:11 -04:00
2026-11-04 19:37:28 -05:00
2026-10-22 10:50:45 -04:00
2026-10-22 16:13:43 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 19:56:17 -04:00
2026-10-22 19:51:58 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 18:32:09 -04:00
2026-10-22 18:32:09 -04:00
2026-10-22 19:28:29 -04:00
2026-10-22 10:50:45 -04:00
2026-11-04 20:06:07 -05:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 18:32:09 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-26 16:29:40 -04:00
2026-10-26 16:29:40 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 18:42:14 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-11-04 20:06:07 -05:00
2026-10-22 10:50:45 -04:00
2026-11-04 20:02:26 -05:00
2026-11-04 20:06:07 -05:00
2026-11-04 19:59:48 -05:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 13:29:00 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 13:29:00 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 19:28:29 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 19:20:32 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 11:01:11 -04:00
2026-10-22 18:32:09 -04:00
2026-10-26 16:26:15 -04:00
2026-10-22 10:50:45 -04:00
2026-10-26 20:05:09 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-22 10:50:45 -04:00
2026-10-21 21:46:57 -04:00
2026-10-22 10:52:55 -04:00
2026-10-22 18:42:14 -04:00
2026-10-22 20:14:41 -04:00