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.
synctv/migrations
zijiren 52b004bab2
feat: add personal user blocking (#429)
## Summary

- add idempotent block, unblock, and paginated block-list APIs across
HTTP, gRPC, service, and repository layers
- hide blocked creators from authenticated personal discovery while
leaving anonymous discovery unchanged
- preserve joined, favorited, and directly accessed rooms with a
creator_blocked marker
- filter blocked users from message history, search, context, pinned
messages, replay, unread counts, live events, and reconnect replay
- add the user_blocks migration, SQLx offline metadata, and
repository/API coverage

## Behavior

Blocking is private to the current account. It does not alter the
blocked account or public anonymous discovery. Detailed personal room
lists remain complete and expose creator_blocked so clients can label
the creator. Observer-specific realtime filtering advances event cursors
and fails closed when block-state lookup is unavailable.

## Verification

- make check
- make fmt-check
- cargo test --workspace: 5222 passed
- synctv-api-common library tests: 638 passed, 165 ignored
- PostgreSQL favorite-room creator_blocked integration test
- SQLx prepare across the workspace
- real two-account HTTP, realtime, and room-flow integration test

Client: https://github.com/synctv-org/synctv-app/pull/47
1 month ago
..
20260425999_create_file_storage.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426000_create_room_resource_events.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426001_create_users.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426002_create_auth_password_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426003_create_auth_webauthn_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426004_create_auth_oauth2_identities.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426005_create_auth_email_tokens.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426006_create_user_registration_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426007_create_user_bans.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426008_create_auth_token_blacklist.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426009_create_auth_email_identities.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426010_create_rooms.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426011_create_room_members.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426012_create_media_provider_instances.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426013_create_playlists.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426014_create_media.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426015_create_chat_messages.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426016_create_room_settings.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426017_create_room_playback_state.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426018_create_room_creation_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426019_create_room_join_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426020_create_room_bans.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426021_create_room_password_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426022_create_user_media_provider_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426030_create_audit_logs.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426031_create_notifications.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426032_create_settings.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426033_create_user_preferences.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426034_create_realtime_outbox.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426035_create_room_member_kick_cooldowns.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426036_create_room_member_versions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426037_create_auth_email_bind_requests.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426039_create_chat_message_reactions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426040_create_user_account_profiles.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426041_create_auth_email_registration_tokens.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426042_create_content_reports.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426043_create_chat_message_mentions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426044_create_playback_source_metadata.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426045_create_chat_message_pins.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426046_create_file_object_variants.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426047_create_room_favorites.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426048_create_provider_playback_sessions.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426049_create_auth_totp_credentials.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260426050_create_email_outbox.sql chore: replace synctv-org backend with SyncTV v1.0.0 2 months ago
20260808001_resource_lifecycle.sql feat: add recoverable resource deletion lifecycle (#394) 2 months ago
20260818001_add_room_visibility.sql feat: separate room visibility from guest settings (#419) 1 month ago
20260818002_add_playlist_browse_access_mode.sql feat(playlist): add browse access controls (#423) 1 month ago
20260821001_create_user_blocks.sql feat: add personal user blocking (#429) 1 month ago