From 350cb52751c08463268f7df63b8bcbbbb3772f74 Mon Sep 17 00:00:00 2001 From: Jonathan Ma Date: Tue, 17 Feb 2026 16:04:36 -0800 Subject: [PATCH 1/2] include calling power level overrides when creating voice chats --- commet/lib/client/matrix/matrix_client.dart | 23 ++++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/commet/lib/client/matrix/matrix_client.dart b/commet/lib/client/matrix/matrix_client.dart index fba2ee803..7871b0e36 100644 --- a/commet/lib/client/matrix/matrix_client.dart +++ b/commet/lib/client/matrix/matrix_client.dart @@ -443,6 +443,7 @@ class MatrixClient extends Client { @override Future createRoom(CreateRoomArgs args) async { var creationContent = null; + Map? powerLevelContentOverride = {}; List? initialState; if (args.roomType == RoomType.photoAlbum) { @@ -451,6 +452,12 @@ class MatrixClient extends Client { if (args.roomType == RoomType.voipRoom) { creationContent = {"type": "org.matrix.msc3417.call"}; + powerLevelContentOverride = { + "events": { + "org.matrix.msc3401.call": 0, + "org.matrix.msc3401.call.member": 0 + } + }; } if (args.roomType == RoomType.calendar) { @@ -486,14 +493,14 @@ class MatrixClient extends Client { } var id = await _matrixClient.createRoom( - creationContent: creationContent, - name: args.name, - initialState: initialState, - topic: args.topic, - visibility: args.visibility == RoomVisibility.private - ? matrix.Visibility.private - : matrix.Visibility.public, - ); + creationContent: creationContent, + name: args.name, + initialState: initialState, + topic: args.topic, + visibility: args.visibility == RoomVisibility.private + ? matrix.Visibility.private + : matrix.Visibility.public, + powerLevelContentOverride: powerLevelContentOverride); await _matrixClient.waitForRoomInSync(id); From 3bf884a8000994feb1310abf6212de8e72e055d6 Mon Sep 17 00:00:00 2001 From: Jonathan Ma Date: Tue, 17 Feb 2026 17:56:46 -0800 Subject: [PATCH 2/2] reset voip room view after ending call --- commet/lib/ui/organisms/voip_room_view/voip_room_view.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/commet/lib/ui/organisms/voip_room_view/voip_room_view.dart b/commet/lib/ui/organisms/voip_room_view/voip_room_view.dart index d1d381976..663e32f16 100644 --- a/commet/lib/ui/organisms/voip_room_view/voip_room_view.dart +++ b/commet/lib/ui/organisms/voip_room_view/voip_room_view.dart @@ -65,6 +65,12 @@ class _VoipRoomViewState extends State { var color = Theme.of(context).colorScheme.surfaceContainer; if (currentSession == null) return unjoinedView(color); + if (currentSession?.state == VoipState.ended) { + setState(() { + joining = false; + }); + return unjoinedView(color); + } return CallWidget(currentSession!); }