Fix leave room on app navigation
This commit is contained in:
parent
54e527fd07
commit
739b983019
1 changed files with 17 additions and 18 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue