Update LocalMember.ts

This commit is contained in:
Timo K
2025-12-10 12:08:59 +01:00
parent 7af89b4216
commit 0ebc6078dd

View File

@@ -407,9 +407,7 @@ export const createLocalMembership$ = ({
matrix: matrixError ?? rtcSessionStatus, matrix: matrixError ?? rtcSessionStatus,
media: mediaError ?? mediaState, media: mediaError ?? mediaState,
}; };
else { return TransportState.Waiting;
return TransportState.Waiting;
}
}, },
), ),
), ),
@@ -423,19 +421,21 @@ export const createLocalMembership$ = ({
]) ])
.subscribe(([prev, current]) => { .subscribe(([prev, current]) => {
if (!widget) return; if (!widget) return;
// JOIN prev=false (was left) => current-true (now joiend)
if (!prev && current) { if (!prev && current) {
try { widget.api.transport
void widget.api.transport.send(ElementWidgetActions.JoinCall, {}); .send(ElementWidgetActions.JoinCall, {})
} catch (e) { .catch((e) => {
logger.error("Failed to send join action", e); logger.error("Failed to send join action", e);
} });
} }
// LEAVE prev=false (was joined) => current-true (now left)
if (prev && !current) { if (prev && !current) {
try { widget.api.transport
void widget?.api.transport.send(ElementWidgetActions.HangupCall, {}); .send(ElementWidgetActions.HangupCall, {})
} catch (e) { .catch((e) => {
logger.error("Failed to send hangup action", e); logger.error("Failed to send hangup action", e);
} });
} }
}); });
@@ -575,8 +575,12 @@ export const createLocalMembership$ = ({
tracks$, tracks$,
participant$, participant$,
reconnecting$: scope.behavior( reconnecting$: scope.behavior(
homeserverConnected.rtsSession$.pipe( localMemberState$.pipe(
map((sessionStatus) => sessionStatus === RTCSessionStatus.Reconnecting), map((state) => {
if (typeof state === "object" && "matrix" in state)
return state.matrix === RTCSessionStatus.Reconnecting;
return false;
}),
), ),
), ),
disconnected$: scope.behavior( disconnected$: scope.behavior(