mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
## Summary - Add recoverable soft deletion for users, rooms, playlists, media, and chat messages, with retention-based physical cleanup. - Hide deleted users and owned resources from active API, room, playback, messaging, and realtime paths while preserving restoration metadata. - Add user lifecycle administration across HTTP, gRPC, management runtime, and SyncTV CLI, including deleted-user listing and restore operations. - Add lifecycle migration, cleanup orchestration, audit fields, resource-change events, and refreshed SQLx offline metadata. ## Design - Model account, administrator, system, room, and user deletion sources explicitly so cascade ownership and audit history remain deterministic. - Release email and OAuth identity occupancy during deletion; restoration reclaims available identities and reports conflicts according to restore options. - Preserve recoverable aggregate rows during the retention window, remove ephemeral membership and playback state immediately, and purge expired data in dependency order. - Wait for realtime observation acknowledgements before publishing lifecycle changes to avoid subscription registration races. ## Verification - `make nextest`: 6707 passed, 0 skipped - `make clippy`: passed for the workspace and all targets - `make clippy-check`: passed - `cargo fmt --all -- --check`: passed - `git diff --check`: passed |
2 months ago | |
|---|---|---|
| .. | ||
| src | 2 months ago | |
| Cargo.toml | 2 months ago | |