fix: back room with latus for HMR

This commit is contained in:
cha0s 2021-03-25 00:20:50 -05:00
parent 32bb00b2df
commit c4bde402c0

View File

@ -10,19 +10,23 @@ export default () => {
const latus = useLatus();
const socket = useSocket();
const synchronizer = latus.get('%synchronizer');
if (latus.get('%room') !== room) {
setRoom(latus.get('%room'));
}
useEffect(() => {
if (!room) {
return undefined;
}
const onDisconnect = () => {
synchronizer.destroySynchronized(room.constructor.resourceId, room.s13nId);
latus.set('%room', undefined);
setRoom(undefined);
};
socket.on('disconnect', onDisconnect);
return () => {
socket.off('disconnect', onDisconnect);
};
}, [room, socket, synchronizer]);
}, [latus, room, socket, synchronizer]);
useEffect(() => {
if (!synchronizer) {
return undefined;
@ -32,6 +36,7 @@ export default () => {
switch (created.constructor.resourceId) {
// Track room.
case Room.resourceId: {
latus.set('%room', created);
setRoom(created);
break;
}