From 81997624d4fee6fbaab4197eb4185bfc9b1d2f9b Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 20 Jan 2023 10:51:52 +0000 Subject: [PATCH] Fix joining rooms by ID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We use this in embedded mode. Regressed by https://github.com/vector-im/element-call/pull/860 Lowercasing room IDs obviously makes them break, so… don't do that. --- src/room/useLoadGroupCall.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/room/useLoadGroupCall.ts b/src/room/useLoadGroupCall.ts index d90e0bc..ae4de80 100644 --- a/src/room/useLoadGroupCall.ts +++ b/src/room/useLoadGroupCall.ts @@ -53,15 +53,21 @@ export const useLoadGroupCall = ( const fetchOrCreateRoom = async (): Promise => { try { // We lowercase the localpart when we create the room, so we must lowercase - // it here too (we just do the whole alias). - const room = await client.joinRoom(roomIdOrAlias.toLowerCase(), { + // it here too (we just do the whole alias). We can't do the same to room IDs + // though. + const sanitisedIdOrAlias = + roomIdOrAlias[0] === "#" + ? roomIdOrAlias.toLowerCase() + : roomIdOrAlias; + + const room = await client.joinRoom(sanitisedIdOrAlias, { viaServers, }); logger.info( - `Joined ${roomIdOrAlias}, waiting room to be ready for group calls` + `Joined ${sanitisedIdOrAlias}, waiting room to be ready for group calls` ); await client.waitUntilRoomReadyForGroupCalls(room.roomId); - logger.info(`${roomIdOrAlias}, is ready for group calls`); + logger.info(`${sanitisedIdOrAlias}, is ready for group calls`); return room; } catch (error) { if (