diff --git a/src/app/features/create-room/CreateRoomModal.tsx b/src/app/features/create-room/CreateRoomModal.tsx index 4fa5e77..a68b658 100644 --- a/src/app/features/create-room/CreateRoomModal.tsx +++ b/src/app/features/create-room/CreateRoomModal.tsx @@ -64,6 +64,26 @@ function CreateRoomModal({ state }: CreateRoomModalProps) { parentSubRoomId ); + // Set m.space.child on the parent room pointing to this sub-room + await mx.sendStateEvent( + parentSubRoomId, + StateEvent.SpaceChild, + { via: viaServers }, + newRoomId + ); + + // Copy parent's join_rules to the sub-room + const parentJoinRulesEvent = parentRoom.currentState.getStateEvents(StateEvent.RoomJoinRules, ''); + if (parentJoinRulesEvent) { + const joinRulesContent = parentJoinRulesEvent.getContent(); + await mx.sendStateEvent( + newRoomId, + StateEvent.RoomJoinRules, + joinRulesContent, + '' + ); + } + // Add new room to parent's sub-rooms list const stateEvent = parentRoom.currentState.getStateEvents(StateEvent.PaarrotSubRooms, ''); const currentContent = stateEvent?.getContent() as PaarrotSubRoomsContent | undefined;