Don't ring incoming call for a large group
This commit is contained in:
parent
ef05937782
commit
dda61b37b2
1 changed files with 9 additions and 3 deletions
|
@ -41,6 +41,7 @@ import type {
|
||||||
} from '../state/ducks/calling';
|
} from '../state/ducks/calling';
|
||||||
import type { LocalizerType, ThemeType } from '../types/Util';
|
import type { LocalizerType, ThemeType } from '../types/Util';
|
||||||
import { missingCaseError } from '../util/missingCaseError';
|
import { missingCaseError } from '../util/missingCaseError';
|
||||||
|
import { isConversationTooBigToRing } from '../conversations/isConversationTooBigToRing';
|
||||||
|
|
||||||
const GROUP_CALL_RING_DURATION = 60 * 1000;
|
const GROUP_CALL_RING_DURATION = 60 * 1000;
|
||||||
|
|
||||||
|
@ -197,7 +198,7 @@ function ActiveCallManager({
|
||||||
let groupMembers:
|
let groupMembers:
|
||||||
| undefined
|
| undefined
|
||||||
| Array<Pick<ConversationType, 'id' | 'firstName' | 'title'>>;
|
| Array<Pick<ConversationType, 'id' | 'firstName' | 'title'>>;
|
||||||
let isConversationTooBigToRing = false;
|
let isConvoTooBigToRing = false;
|
||||||
|
|
||||||
switch (activeCall.callMode) {
|
switch (activeCall.callMode) {
|
||||||
case CallMode.Direct: {
|
case CallMode.Direct: {
|
||||||
|
@ -223,7 +224,7 @@ function ActiveCallManager({
|
||||||
case CallMode.Group: {
|
case CallMode.Group: {
|
||||||
showCallLobby = activeCall.joinState !== GroupCallJoinState.Joined;
|
showCallLobby = activeCall.joinState !== GroupCallJoinState.Joined;
|
||||||
isCallFull = activeCall.deviceCount >= activeCall.maxDevices;
|
isCallFull = activeCall.deviceCount >= activeCall.maxDevices;
|
||||||
isConversationTooBigToRing = activeCall.isConversationTooBigToRing;
|
isConvoTooBigToRing = activeCall.isConversationTooBigToRing;
|
||||||
({ groupMembers } = activeCall);
|
({ groupMembers } = activeCall);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -244,7 +245,7 @@ function ActiveCallManager({
|
||||||
isGroupCall={activeCall.callMode === CallMode.Group}
|
isGroupCall={activeCall.callMode === CallMode.Group}
|
||||||
isGroupCallOutboundRingEnabled={isGroupCallOutboundRingEnabled}
|
isGroupCallOutboundRingEnabled={isGroupCallOutboundRingEnabled}
|
||||||
isCallFull={isCallFull}
|
isCallFull={isCallFull}
|
||||||
isConversationTooBigToRing={isConversationTooBigToRing}
|
isConversationTooBigToRing={isConvoTooBigToRing}
|
||||||
me={me}
|
me={me}
|
||||||
onCallCanceled={cancelActiveCall}
|
onCallCanceled={cancelActiveCall}
|
||||||
onJoinCall={joinActiveCall}
|
onJoinCall={joinActiveCall}
|
||||||
|
@ -456,6 +457,11 @@ function getShouldRing({
|
||||||
incomingCall,
|
incomingCall,
|
||||||
}: Readonly<Pick<PropsType, 'activeCall' | 'incomingCall'>>): boolean {
|
}: Readonly<Pick<PropsType, 'activeCall' | 'incomingCall'>>): boolean {
|
||||||
if (incomingCall) {
|
if (incomingCall) {
|
||||||
|
// don't ring a large group
|
||||||
|
if (isConversationTooBigToRing(incomingCall.conversation)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return !activeCall;
|
return !activeCall;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue