fix activeRoom not beeing early enough

This commit is contained in:
Timo
2024-04-11 19:25:25 +02:00
committed by Andrew Ferrazzutti
parent 6a79bf03c1
commit 6eb3ba4181

View File

@@ -154,6 +154,8 @@ export const useLoadGroupCall = (
client.on(
RoomEvent.MyMembership,
async (room, membership, prevMembership) => {
if (roomId !== room.roomId) return;
activeRoom.current = room;
if (membership === KnownMembership.Invite) {
await client.joinRoom(room.roomId, { viaServers });
joinedRoom = room;
@@ -179,6 +181,7 @@ export const useLoadGroupCall = (
const alias = roomIdOrAlias;
// The call uses a room alias
room = await getRoomByAlias(alias);
activeRoom.current = room;
} else {
// The call uses a room_id
const roomId = roomIdOrAlias;
@@ -187,6 +190,7 @@ export const useLoadGroupCall = (
// - in widget mode
// - in SPA mode if the user already joined the room
room = client.getRoom(roomId);
activeRoom.current = room ?? undefined;
if (room?.getMyMembership() === KnownMembership.Join) {
// room already joined so we are done here already.
return room!;
@@ -203,6 +207,7 @@ export const useLoadGroupCall = (
roomId,
viaServers,
)) as unknown as RoomSummary;
if (room?.getMyMembership() === KnownMembership.Ban) {
throw BannedError();
} else {