Fix adding group call history with no ring

This commit is contained in:
Jamie Kyle 2023-08-23 10:07:29 -07:00 committed by GitHub
parent da05b32f4f
commit d3a18a197b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 12 deletions

View file

@ -2261,7 +2261,7 @@ export class CallingClass {
public async updateCallHistoryForGroupCall( public async updateCallHistoryForGroupCall(
conversationId: string, conversationId: string,
joinState: GroupCallJoinState, joinState: GroupCallJoinState | null,
peekInfo: PeekInfo | null peekInfo: PeekInfo | null
): Promise<void> { ): Promise<void> {
const groupCallMeta = getGroupCallMeta(peekInfo); const groupCallMeta = getGroupCallMeta(peekInfo);

View file

@ -372,13 +372,14 @@ const doGroupCallPeek = (
`doGroupCallPeek/groupv2(${conversation.groupId}): Found ${peekInfo.deviceCount} devices` `doGroupCallPeek/groupv2(${conversation.groupId}): Found ${peekInfo.deviceCount} devices`
); );
if (existingCall?.callMode === CallMode.Group) { const joinState =
await calling.updateCallHistoryForGroupCall( existingCall?.callMode === CallMode.Group ? existingCall.joinState : null;
conversationId,
existingCall.joinState, await calling.updateCallHistoryForGroupCall(
peekInfo conversationId,
); joinState,
} peekInfo
);
const formattedPeekInfo = calling.formatGroupCallPeekInfoForRedux(peekInfo); const formattedPeekInfo = calling.formatGroupCallPeekInfoForRedux(peekInfo);

View file

@ -352,20 +352,20 @@ export function getLocalCallEventFromRingUpdate(
} }
export function getLocalCallEventFromJoinState( export function getLocalCallEventFromJoinState(
joinState: GroupCallJoinState, joinState: GroupCallJoinState | null,
groupCallMeta: GroupCallMeta groupCallMeta: GroupCallMeta
): LocalCallEvent | null { ): LocalCallEvent | null {
const direction = getCallDirectionFromRingerId(groupCallMeta.ringerId); const direction = getCallDirectionFromRingerId(groupCallMeta.ringerId);
log.info( log.info(
'getLocalCallEventFromGroupCall', 'getLocalCallEventFromGroupCall',
direction, direction,
GroupCallJoinState[joinState] joinState != null ? GroupCallJoinState[joinState] : null
); );
if (direction === CallDirection.Incoming) { if (direction === CallDirection.Incoming) {
if (joinState === GroupCallJoinState.Joined) { if (joinState === GroupCallJoinState.Joined) {
return LocalCallEvent.Accepted; return LocalCallEvent.Accepted;
} }
if (joinState === GroupCallJoinState.NotJoined) { if (joinState === GroupCallJoinState.NotJoined || joinState == null) {
return LocalCallEvent.Started; return LocalCallEvent.Started;
} }
if ( if (
@ -376,7 +376,7 @@ export function getLocalCallEventFromJoinState(
} }
throw missingCaseError(joinState); throw missingCaseError(joinState);
} else { } else {
if (joinState === GroupCallJoinState.NotJoined) { if (joinState === GroupCallJoinState.NotJoined || joinState == null) {
return LocalCallEvent.Started; return LocalCallEvent.Started;
} }
return LocalCallEvent.Ringing; return LocalCallEvent.Ringing;