Poll for devices when joining a group call
This commit is contained in:
parent
377cdb3281
commit
ed222fee9a
3 changed files with 17 additions and 17 deletions
|
@ -672,12 +672,12 @@ export class CallingClass {
|
|||
return outerGroupCall;
|
||||
}
|
||||
|
||||
public joinGroupCall(
|
||||
public async joinGroupCall(
|
||||
conversationId: string,
|
||||
hasLocalAudio: boolean,
|
||||
hasLocalVideo: boolean,
|
||||
shouldRing: boolean
|
||||
): void {
|
||||
): Promise<void> {
|
||||
const conversation = window.ConversationController.get(
|
||||
conversationId
|
||||
)?.format();
|
||||
|
@ -697,6 +697,8 @@ export class CallingClass {
|
|||
return;
|
||||
}
|
||||
|
||||
await this.startDeviceReselectionTimer();
|
||||
|
||||
const groupCall = this.connectGroupCall(conversationId, {
|
||||
groupId: conversation.groupId,
|
||||
publicParams: conversation.publicParams,
|
||||
|
|
|
@ -538,7 +538,7 @@ function acceptCall(
|
|||
await calling.acceptDirectCall(conversationId, asVideoCall);
|
||||
break;
|
||||
case CallMode.Group:
|
||||
calling.joinGroupCall(conversationId, true, asVideoCall, false);
|
||||
await calling.joinGroupCall(conversationId, true, asVideoCall, false);
|
||||
break;
|
||||
default:
|
||||
throw missingCaseError(call);
|
||||
|
@ -1104,7 +1104,7 @@ function showCallLobby(payload: ShowCallLobbyType): CallLobbyActionType {
|
|||
function startCall(
|
||||
payload: StartCallType
|
||||
): ThunkAction<void, RootStateType, unknown, StartDirectCallActionType> {
|
||||
return (dispatch, getState) => {
|
||||
return async (dispatch, getState) => {
|
||||
switch (payload.callMode) {
|
||||
case CallMode.Direct:
|
||||
calling.startOutgoingDirectCall(
|
||||
|
@ -1134,7 +1134,7 @@ function startCall(
|
|||
outgoingRing = false;
|
||||
}
|
||||
|
||||
calling.joinGroupCall(
|
||||
await calling.joinGroupCall(
|
||||
payload.conversationId,
|
||||
payload.hasLocalAudio,
|
||||
payload.hasLocalVideo,
|
||||
|
|
|
@ -336,10 +336,9 @@ describe('calling duck', () => {
|
|||
this.callingServiceAccept = this.sandbox
|
||||
.stub(callingService, 'acceptDirectCall')
|
||||
.resolves();
|
||||
this.callingServiceJoin = this.sandbox.stub(
|
||||
callingService,
|
||||
'joinGroupCall'
|
||||
);
|
||||
this.callingServiceJoin = this.sandbox
|
||||
.stub(callingService, 'joinGroupCall')
|
||||
.resolves();
|
||||
});
|
||||
|
||||
describe('accepting a direct call', () => {
|
||||
|
@ -1858,15 +1857,14 @@ describe('calling duck', () => {
|
|||
callingService,
|
||||
'startOutgoingDirectCall'
|
||||
);
|
||||
this.callingJoinGroupCall = this.sandbox.stub(
|
||||
callingService,
|
||||
'joinGroupCall'
|
||||
);
|
||||
this.callingJoinGroupCall = this.sandbox
|
||||
.stub(callingService, 'joinGroupCall')
|
||||
.resolves();
|
||||
});
|
||||
|
||||
it('asks the calling service to start an outgoing direct call', function test() {
|
||||
it('asks the calling service to start an outgoing direct call', async function test() {
|
||||
const dispatch = sinon.spy();
|
||||
startCall({
|
||||
await startCall({
|
||||
callMode: CallMode.Direct,
|
||||
conversationId: '123',
|
||||
hasLocalAudio: true,
|
||||
|
@ -1884,9 +1882,9 @@ describe('calling duck', () => {
|
|||
sinon.assert.notCalled(this.callingJoinGroupCall);
|
||||
});
|
||||
|
||||
it('asks the calling service to join a group call', function test() {
|
||||
it('asks the calling service to join a group call', async function test() {
|
||||
const dispatch = sinon.spy();
|
||||
startCall({
|
||||
await startCall({
|
||||
callMode: CallMode.Group,
|
||||
conversationId: '123',
|
||||
hasLocalAudio: true,
|
||||
|
|
Loading…
Add table
Reference in a new issue