Fix leave room on app navigation

This commit is contained in:
Robert Long 2021-08-09 17:23:07 -07:00
commit 739b983019

View file

@ -171,18 +171,6 @@ export function useVideoRoom(manager, roomId, timeout = 5000) {
setState((prevState) => ({ ...prevState, loading: false, error: err }));
});
let initialRoom = manager.client.getRoom(roomId);
if (initialRoom) {
setState((prevState) => ({
...prevState,
loading: false,
room: initialRoom,
error: undefined,
}));
return;
}
let timeoutId;
function roomCallback(room) {
@ -198,6 +186,16 @@ export function useVideoRoom(manager, roomId, timeout = 5000) {
}
}
let initialRoom = manager.client.getRoom(roomId);
if (initialRoom) {
setState((prevState) => ({
...prevState,
loading: false,
room: initialRoom,
error: undefined,
}));
} else {
manager.client.on("Room", roomCallback);
timeoutId = setTimeout(() => {
@ -209,6 +207,7 @@ export function useVideoRoom(manager, roomId, timeout = 5000) {
}));
manager.client.removeListener("Room", roomCallback);
}, timeout);
}
return () => {
manager.client.removeListener("Room", roomCallback);