diff --git a/lib/pangea/course_plans/courses/course_plan_room_extension.dart b/lib/pangea/course_plans/courses/course_plan_room_extension.dart index 1915e2792..6101fc31c 100644 --- a/lib/pangea/course_plans/courses/course_plan_room_extension.dart +++ b/lib/pangea/course_plans/courses/course_plan_room_extension.dart @@ -38,6 +38,23 @@ extension CoursePlanRoomExtension on Room { } Future addCourseToSpace(String courseId) async { + // Ensure students in course can launch activity rooms + final powerLevels = Map.from( + getState(EventTypes.RoomPowerLevels)?.content ?? {}, + ); + powerLevels['events'] ??= {}; + final events = Map.from(powerLevels['events']); + if (events["m.space.child"] != 0) { + events["m.space.child"] = 0; + powerLevels['events'] = events; + await client.setRoomStateWithKey( + id, + EventTypes.RoomPowerLevels, + '', + powerLevels, + ); + } + if (coursePlan?.uuid == courseId) return; final future = waitForRoomInSync(); await client.setRoomStateWithKey(