Add reversible administrator room archiving

Organize closed rooms with archive filters, live-authorized atomic receipts and exact saved retries. Preserve saved games, timestamps, credentials, discussion and AI deadlines. Unarchive leaves play closed; reopen requires unarchive, and removal/restoration preserves both flags.

Verified types, lint, 5379 offline tests, 52 HTTP tests and build. Twenty dedicated administrator HTTP groups and independent privacy/persistence review passed. Desktop/mobile browser QA confirmed a single archive after a lost response and refresh, readable recovery text, mobile unarchive and separate reopening, and saved-seat restoration. All 2,049 baseline rooms, 4,348 seats and related records preserved. Authenticated production admin acceptance awaits authorized QA access; full admin and rules gates remain open.
This commit is contained in:
Quintine committed 2026-09-22 12:55:44 +10:00
1 parent 98b1b3261b
commit e918e2e0c0
35 files changed
+3624 -38

No files matched your search

+3 -2
View File
@@ -44,7 +44,7 @@ available while the table's mutation controls are disabled.
## Other administrator controls
Closed rooms remain in the default directory and can be filtered with
Unarchived closed rooms remain in the default directory and can be filtered with
**Availability → Closed**. **Running** excludes closed rooms. New pause/join and
lobby configuration changes require reopening; prior exact receipts still work.
@@ -56,7 +56,8 @@ available to authorized administrators while it is removed.
Apply additive migration `0013_admin_room_closure.sql` before this revision.
`room_closures` stores current availability independently of pause and removal;
`admin_room_closures` stores durable audit receipts. No existing game or credential
rows are migrated or deleted. Archive, permanent deletion, bulk actions,
rows are migrated or deleted. [Archiving](ADMIN_ROOM_ARCHIVE.md) organizes closed
rooms separately; unarchive before reopening. Permanent deletion, bulk actions,
participant support and backup/restore tools remain unfinished.
## Verification