Cleanup boolean logic

This commit is contained in:
Will Hunt
2025-09-11 14:11:56 +01:00
parent c0576741ec
commit 63ebb1d868

View File

@@ -276,34 +276,28 @@ export const GroupCallView: FC<Props> = ({
}; };
if (skipLobby) { if (skipLobby) {
if (widget) { if (widget && preload) {
if (preload) { // In preload mode without lobby we wait for a join action before entering
// In preload mode without lobby we wait for a join action before entering const onJoin = (ev: CustomEvent<IWidgetApiRequest>): void => {
const onJoin = (ev: CustomEvent<IWidgetApiRequest>): void => {
(async (): Promise<void> => {
await defaultDeviceSetup(
ev.detail.data as unknown as JoinCallData,
);
await enterRTCSessionOrError(rtcSession);
widget.api.transport.reply(ev.detail, {});
})().catch((e) => {
logger.error("Error joining RTC session", e);
});
};
widget.lazyActions.on(ElementWidgetActions.JoinCall, onJoin);
return (): void => {
widget.lazyActions.off(ElementWidgetActions.JoinCall, onJoin);
};
} else {
// No lobby and no preload: we enter the rtc session right away
(async (): Promise<void> => { (async (): Promise<void> => {
await defaultDeviceSetup(ev.detail.data as unknown as JoinCallData);
await enterRTCSessionOrError(rtcSession); await enterRTCSessionOrError(rtcSession);
widget.api.transport.reply(ev.detail, {});
})().catch((e) => { })().catch((e) => {
logger.error("Error joining RTC session", e); logger.error("Error joining RTC session on preload", e);
}); });
} };
widget.lazyActions.on(ElementWidgetActions.JoinCall, onJoin);
return (): void => {
widget.lazyActions.off(ElementWidgetActions.JoinCall, onJoin);
};
} else { } else {
void enterRTCSessionOrError(rtcSession); // No lobby and no preload: we enter the rtc session right away
(async (): Promise<void> => {
await enterRTCSessionOrError(rtcSession);
})().catch((e) => {
logger.error("Error joining RTC session immediately", e);
});
} }
} }
}, [ }, [
@@ -494,6 +488,7 @@ export const GroupCallView: FC<Props> = ({
// Left in widget mode: // Left in widget mode:
body = returnToLobby ? lobbyView : null; body = returnToLobby ? lobbyView : null;
} else if (preload || skipLobby) { } else if (preload || skipLobby) {
// The RTC session is not joined to yet (`isJoined`), but enterRTCSessionOrError should have been called.
body = null; body = null;
} else { } else {
body = lobbyView; body = lobbyView;