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 }));
|
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;
|
let timeoutId;
|
||||||
|
|
||||||
function roomCallback(room) {
|
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);
|
manager.client.on("Room", roomCallback);
|
||||||
|
|
||||||
timeoutId = setTimeout(() => {
|
timeoutId = setTimeout(() => {
|
||||||
|
|
@ -209,6 +207,7 @@ export function useVideoRoom(manager, roomId, timeout = 5000) {
|
||||||
}));
|
}));
|
||||||
manager.client.removeListener("Room", roomCallback);
|
manager.client.removeListener("Room", roomCallback);
|
||||||
}, timeout);
|
}, timeout);
|
||||||
|
}
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
manager.client.removeListener("Room", roomCallback);
|
manager.client.removeListener("Room", roomCallback);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue