continuwuity/src/service/rooms
ember33 40646eb4ba fix(spaces): wire up enforcement hooks, fix deadlocks, validate spaces
- Add spawn_enforcement methods (handle_state_event_change,
  handle_space_child_change, handle_space_member_join) that run
  enforcement as background tasks to avoid recursive Send issues
- Expand append_pdu hook to trigger enforcement on role events,
  space child changes, and space member joins
- Fix deadlock risk in get_user_power_level and user_qualifies_for_room
  by dropping read guards before acquiring new ones
- Batch room_to_space writes in populate_space with a single write lock
- Add space type validation to all admin commands
- Fix PL rejection check to reject any change (!=) not just lowering (<)
- Fix sync_power_levels to also lower PLs for users who lost their roles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:13:47 +01:00
..
alias fix(rooms): prevent removing admin room alias 2026-03-04 15:05:24 +00:00
auth_chain refactor: Make stream utils generic over the error type 2026-02-23 16:36:46 +00:00
directory run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
event_handler fix: make dropped PDU warning less useless 2026-03-04 14:58:01 +00:00
lazy_loading fix(sync/v3): Further cleanup + improve incremental sync consistency 2025-12-07 19:58:24 +00:00
metadata run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
outlier Post-formatting aesthetic and spacing corrections 2025-07-02 19:17:06 +01:00
pdu_metadata fix: Simplify visibility check code 2025-12-21 17:12:36 +00:00
read_receipt refactor(sync/v3): Split load_joined_room into smaller functions 2025-12-07 19:58:24 +00:00
roles fix(spaces): wire up enforcement hooks, fix deadlocks, validate spaces 2026-03-18 10:13:47 +01:00
search fix: Add aggregations to the search endpoint 2025-12-21 17:12:34 +00:00
short chore: Clippy fixes 2025-12-07 19:58:24 +00:00
spaces fix: Omit children with invalid state from space summary 2025-12-18 19:48:58 +00:00
state fix: Properly sync left rooms 2025-12-07 19:58:24 +00:00
state_accessor feat: Implement a migration to fix busted local invites 2026-02-10 02:29:11 +00:00
state_cache fix: Properly set stripped state for local invites 2026-02-10 02:29:11 +00:00
state_compressor fix(sync/v3): Further cleanup + improve incremental sync consistency 2025-12-07 19:58:24 +00:00
threads refactor: Promote handling unsigned data out of timeline 2025-12-21 17:12:33 +00:00
timeline fix(spaces): wire up enforcement hooks, fix deadlocks, validate spaces 2026-03-18 10:13:47 +01:00
typing feat: Typing notifications in simplified sliding sync 2025-12-07 19:58:24 +00:00
user run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
mod.rs feat(spaces): add space roles service for permission cascading 2026-03-17 16:54:19 +01:00