@azure/communication-react 1.5.1-alpha-202302010014 → 1.5.1-alpha-202302030014
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +43 -2
- package/dist/dist-cjs/communication-react/index.js +306 -189
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +28 -11
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +1 -0
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +25 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +24 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +23 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +45 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +3 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +9 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +39 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/package.json +8 -8
@@ -159,7 +159,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
159
159
|
// Copyright (c) Microsoft Corporation.
|
160
160
|
// Licensed under the MIT license.
|
161
161
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
162
|
-
var telemetryVersion = '1.5.1-alpha-
|
162
|
+
var telemetryVersion = '1.5.1-alpha-202302030014';
|
163
163
|
|
164
164
|
// Copyright (c) Microsoft Corporation.
|
165
165
|
/**
|
@@ -375,7 +375,7 @@ const getEnvironmentInfo = (state) => {
|
|
375
375
|
|
376
376
|
// Copyright (c) Microsoft Corporation.
|
377
377
|
// Licensed under the MIT license.
|
378
|
-
var __awaiter$
|
378
|
+
var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
379
379
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
380
380
|
return new (P || (P = Promise))(function (resolve, reject) {
|
381
381
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -413,7 +413,7 @@ const _isPreviewOn = (deviceManager) => {
|
|
413
413
|
*
|
414
414
|
* @private
|
415
415
|
*/
|
416
|
-
const disposeAllLocalPreviewViews = (callClient) => __awaiter$
|
416
|
+
const disposeAllLocalPreviewViews = (callClient) => __awaiter$D(void 0, void 0, void 0, function* () {
|
417
417
|
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
418
418
|
for (const view of unparentedViews) {
|
419
419
|
yield callClient.disposeView(undefined, undefined, view);
|
@@ -546,7 +546,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
|
|
546
546
|
|
547
547
|
// Copyright (c) Microsoft Corporation.
|
548
548
|
// Licensed under the MIT license.
|
549
|
-
var __awaiter$
|
549
|
+
var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
550
550
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
551
551
|
return new (P || (P = Promise))(function (resolve, reject) {
|
552
552
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -567,7 +567,7 @@ const areStreamsEqual = (prevStream, newStream) => {
|
|
567
567
|
* @private
|
568
568
|
*/
|
569
569
|
const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callClient, deviceManager, call) => {
|
570
|
-
const onStartLocalVideo = () => __awaiter$
|
570
|
+
const onStartLocalVideo = () => __awaiter$C(void 0, void 0, void 0, function* () {
|
571
571
|
// Before the call object creates a stream, dispose of any local preview streams.
|
572
572
|
// @TODO: is there any way to parent the unparented view to the call object instead
|
573
573
|
// of disposing and creating a new stream?
|
@@ -587,7 +587,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
587
587
|
yield call.startVideo(stream);
|
588
588
|
}
|
589
589
|
});
|
590
|
-
const onStopLocalVideo = (stream) => __awaiter$
|
590
|
+
const onStopLocalVideo = (stream) => __awaiter$C(void 0, void 0, void 0, function* () {
|
591
591
|
const callId = call === null || call === void 0 ? void 0 : call.id;
|
592
592
|
if (!callId) {
|
593
593
|
return;
|
@@ -600,7 +600,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
600
600
|
});
|
601
601
|
}
|
602
602
|
});
|
603
|
-
const onToggleCamera = (options) => __awaiter$
|
603
|
+
const onToggleCamera = (options) => __awaiter$C(void 0, void 0, void 0, function* () {
|
604
604
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
605
605
|
if (previewOn && call && call.state === 'Connecting') {
|
606
606
|
// This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
@@ -648,19 +648,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
648
648
|
}
|
649
649
|
}
|
650
650
|
});
|
651
|
-
const onSelectMicrophone = (device) => __awaiter$
|
651
|
+
const onSelectMicrophone = (device) => __awaiter$C(void 0, void 0, void 0, function* () {
|
652
652
|
if (!deviceManager) {
|
653
653
|
return;
|
654
654
|
}
|
655
655
|
return deviceManager.selectMicrophone(device);
|
656
656
|
});
|
657
|
-
const onSelectSpeaker = (device) => __awaiter$
|
657
|
+
const onSelectSpeaker = (device) => __awaiter$C(void 0, void 0, void 0, function* () {
|
658
658
|
if (!deviceManager) {
|
659
659
|
return;
|
660
660
|
}
|
661
661
|
return deviceManager.selectSpeaker(device);
|
662
662
|
});
|
663
|
-
const onSelectCamera = (device, options) => __awaiter$
|
663
|
+
const onSelectCamera = (device, options) => __awaiter$C(void 0, void 0, void 0, function* () {
|
664
664
|
if (!deviceManager) {
|
665
665
|
return;
|
666
666
|
}
|
@@ -683,19 +683,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
683
683
|
}, options);
|
684
684
|
}
|
685
685
|
});
|
686
|
-
const onToggleMicrophone = () => __awaiter$
|
686
|
+
const onToggleMicrophone = () => __awaiter$C(void 0, void 0, void 0, function* () {
|
687
687
|
if (!call || !_isInCall(call.state)) {
|
688
688
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
689
689
|
}
|
690
690
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
691
691
|
});
|
692
|
-
const onStartScreenShare = () => __awaiter$
|
693
|
-
const onStopScreenShare = () => __awaiter$
|
694
|
-
const onToggleScreenShare = () => __awaiter$
|
695
|
-
const onHangUp = (forEveryone) => __awaiter$
|
692
|
+
const onStartScreenShare = () => __awaiter$C(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
693
|
+
const onStopScreenShare = () => __awaiter$C(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
694
|
+
const onToggleScreenShare = () => __awaiter$C(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
695
|
+
const onHangUp = (forEveryone) => __awaiter$C(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
696
696
|
/* @conditional-compile-remove(PSTN-calls) */
|
697
|
-
const onToggleHold = () => __awaiter$
|
698
|
-
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$
|
697
|
+
const onToggleHold = () => __awaiter$C(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
|
698
|
+
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$C(void 0, void 0, void 0, function* () {
|
699
699
|
var _a;
|
700
700
|
if (!call || call.localVideoStreams.length === 0) {
|
701
701
|
return;
|
@@ -711,7 +711,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
711
711
|
const { view } = (_a = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _a !== void 0 ? _a : {};
|
712
712
|
return view ? { view } : undefined;
|
713
713
|
});
|
714
|
-
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$
|
714
|
+
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$C(void 0, void 0, void 0, function* () {
|
715
715
|
if (!call) {
|
716
716
|
return;
|
717
717
|
}
|
@@ -739,7 +739,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
739
739
|
}
|
740
740
|
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
741
741
|
});
|
742
|
-
const onDisposeRemoteStreamView = (userId) => __awaiter$
|
742
|
+
const onDisposeRemoteStreamView = (userId) => __awaiter$C(void 0, void 0, void 0, function* () {
|
743
743
|
if (!call) {
|
744
744
|
return;
|
745
745
|
}
|
@@ -760,7 +760,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
760
760
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
761
761
|
}
|
762
762
|
});
|
763
|
-
const onDisposeLocalStreamView = () => __awaiter$
|
763
|
+
const onDisposeLocalStreamView = () => __awaiter$C(void 0, void 0, void 0, function* () {
|
764
764
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
765
765
|
const callState = call && callClient.getState().calls[call.id];
|
766
766
|
const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
@@ -773,12 +773,12 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
773
773
|
yield disposeAllLocalPreviewViews(callClient);
|
774
774
|
});
|
775
775
|
/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
|
776
|
-
const onSendDtmfTone = (dtmfTone) => __awaiter$
|
776
|
+
const onSendDtmfTone = (dtmfTone) => __awaiter$C(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
|
777
777
|
const notImplemented = () => {
|
778
778
|
throw new Error('Not implemented, cannot call a method from an abstract object');
|
779
779
|
};
|
780
780
|
/* @conditional-compile-remove(call-readiness) */
|
781
|
-
const askDevicePermission = (constrain) => __awaiter$
|
781
|
+
const askDevicePermission = (constrain) => __awaiter$C(void 0, void 0, void 0, function* () {
|
782
782
|
if (deviceManager) {
|
783
783
|
yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
|
784
784
|
}
|
@@ -812,7 +812,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
812
812
|
|
813
813
|
// Copyright (c) Microsoft Corporation.
|
814
814
|
// Licensed under the MIT license.
|
815
|
-
var __awaiter$
|
815
|
+
var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
816
816
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
817
817
|
return new (P || (P = Promise))(function (resolve, reject) {
|
818
818
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -839,7 +839,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
839
839
|
return callAgent ? callAgent.startCall(participants, options) : undefined;
|
840
840
|
},
|
841
841
|
/* @conditional-compile-remove(PSTN-calls) */
|
842
|
-
onAddParticipant: (userId, options) => __awaiter$
|
842
|
+
onAddParticipant: (userId, options) => __awaiter$B(void 0, void 0, void 0, function* () {
|
843
843
|
const participant = _toCommunicationIdentifier(userId);
|
844
844
|
if (communicationCommon.isPhoneNumberIdentifier(participant)) {
|
845
845
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
|
@@ -847,7 +847,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
847
847
|
else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
|
848
848
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
849
849
|
}
|
850
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
850
|
+
}), onRemoveParticipant: (userId) => __awaiter$B(void 0, void 0, void 0, function* () {
|
851
851
|
const participant = _toCommunicationIdentifier(userId);
|
852
852
|
yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
|
853
853
|
}) });
|
@@ -855,7 +855,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
855
855
|
|
856
856
|
// Copyright (c) Microsoft Corporation.
|
857
857
|
// Licensed under the MIT license.
|
858
|
-
var __awaiter$
|
858
|
+
var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
859
859
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
860
860
|
return new (P || (P = Promise))(function (resolve, reject) {
|
861
861
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -887,7 +887,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
887
887
|
},
|
888
888
|
/* @conditional-compile-remove(teams-identity-support) */
|
889
889
|
/* @conditional-compile-remove(PSTN-calls) */
|
890
|
-
onAddParticipant: (userId, options) => __awaiter$
|
890
|
+
onAddParticipant: (userId, options) => __awaiter$A(void 0, void 0, void 0, function* () {
|
891
891
|
const participant = _toCommunicationIdentifier(userId);
|
892
892
|
/* @conditional-compile-remove(teams-identity-support) */
|
893
893
|
const threadId = options === null || options === void 0 ? void 0 : options.threadId;
|
@@ -900,7 +900,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
900
900
|
}
|
901
901
|
/* @conditional-compile-remove(teams-identity-support) */
|
902
902
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
903
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
903
|
+
}), onRemoveParticipant: (userId) => __awaiter$A(void 0, void 0, void 0, function* () {
|
904
904
|
const participant = _toCommunicationIdentifier(userId);
|
905
905
|
if (communicationCommon.isCommunicationUserIdentifier(participant)) {
|
906
906
|
throw new Error('CommunicationIdentifier in Teams call is not supported!');
|
@@ -912,7 +912,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
912
912
|
|
913
913
|
// Copyright (c) Microsoft Corporation.
|
914
914
|
// Licensed under the MIT license.
|
915
|
-
var __awaiter$
|
915
|
+
var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
916
916
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
917
917
|
return new (P || (P = Promise))(function (resolve, reject) {
|
918
918
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -961,13 +961,13 @@ class ProxyDeviceManager {
|
|
961
961
|
this.selectCamera = (videoDeviceInfo) => {
|
962
962
|
this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
|
963
963
|
};
|
964
|
-
this.videoDevicesUpdated = () => __awaiter$
|
964
|
+
this.videoDevicesUpdated = () => __awaiter$z(this, void 0, void 0, function* () {
|
965
965
|
// Device Manager always has a camera with '' name if there are no real camera devices available.
|
966
966
|
// We don't want to show that in the UI.
|
967
967
|
const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
|
968
968
|
this._context.setDeviceManagerCameras(dedupeById(realCameras));
|
969
969
|
});
|
970
|
-
this.audioDevicesUpdated = () => __awaiter$
|
970
|
+
this.audioDevicesUpdated = () => __awaiter$z(this, void 0, void 0, function* () {
|
971
971
|
this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
|
972
972
|
this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
|
973
973
|
});
|
@@ -1176,7 +1176,7 @@ class CallIdHistory {
|
|
1176
1176
|
|
1177
1177
|
// Copyright (c) Microsoft Corporation.
|
1178
1178
|
// Licensed under the MIT license.
|
1179
|
-
var __awaiter$
|
1179
|
+
var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1180
1180
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1181
1181
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1182
1182
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1716,7 +1716,7 @@ class CallContext$2 {
|
|
1716
1716
|
* @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
|
1717
1717
|
*/
|
1718
1718
|
withAsyncErrorTeedToState(action, target) {
|
1719
|
-
return (...args) => __awaiter$
|
1719
|
+
return (...args) => __awaiter$y(this, void 0, void 0, function* () {
|
1720
1720
|
try {
|
1721
1721
|
return yield action(...args);
|
1722
1722
|
}
|
@@ -1993,7 +1993,7 @@ class RemoteVideoStreamSubscriber {
|
|
1993
1993
|
|
1994
1994
|
// Copyright (c) Microsoft Corporation.
|
1995
1995
|
// Licensed under the MIT license.
|
1996
|
-
var __awaiter$
|
1996
|
+
var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1997
1997
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1998
1998
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1999
1999
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2003,7 +2003,7 @@ var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
2003
2003
|
});
|
2004
2004
|
};
|
2005
2005
|
function createViewRemoteVideo(context, internalContext, callId, participantId, stream, options) {
|
2006
|
-
return __awaiter$
|
2006
|
+
return __awaiter$x(this, void 0, void 0, function* () {
|
2007
2007
|
// Render RemoteVideoStream that is part of a Call
|
2008
2008
|
const streamId = stream.id;
|
2009
2009
|
let participantKey;
|
@@ -2128,7 +2128,7 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
|
|
2128
2128
|
});
|
2129
2129
|
}
|
2130
2130
|
function createViewLocalVideo(context, internalContext, callId, options) {
|
2131
|
-
return __awaiter$
|
2131
|
+
return __awaiter$x(this, void 0, void 0, function* () {
|
2132
2132
|
_logEvent(callingStatefulLogger, {
|
2133
2133
|
name: EventNames.START_LOCAL_STREAM_RENDERING,
|
2134
2134
|
level: 'info',
|
@@ -2246,7 +2246,7 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
2246
2246
|
});
|
2247
2247
|
}
|
2248
2248
|
function createViewUnparentedVideo(context, internalContext, stream, options) {
|
2249
|
-
return __awaiter$
|
2249
|
+
return __awaiter$x(this, void 0, void 0, function* () {
|
2250
2250
|
const renderInfo = internalContext.getUnparentedRenderInfo(stream);
|
2251
2251
|
if (renderInfo && renderInfo.status === 'Rendered') {
|
2252
2252
|
console.warn('Unparented LocalVideoStream is already rendered');
|
@@ -2518,7 +2518,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
|
|
2518
2518
|
// Render LocalVideoStream that is not part of a Call
|
2519
2519
|
// Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).
|
2520
2520
|
// We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
|
2521
|
-
return context.withAsyncErrorTeedToState(() => __awaiter$
|
2521
|
+
return context.withAsyncErrorTeedToState(() => __awaiter$x(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
|
2522
2522
|
}
|
2523
2523
|
else {
|
2524
2524
|
_logEvent(callingStatefulLogger, {
|
@@ -2945,7 +2945,7 @@ class CallSubscriber {
|
|
2945
2945
|
|
2946
2946
|
// Copyright (c) Microsoft Corporation.
|
2947
2947
|
// Licensed under the MIT license.
|
2948
|
-
var __awaiter$
|
2948
|
+
var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2949
2949
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
2950
2950
|
return new (P || (P = Promise))(function (resolve, reject) {
|
2951
2951
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2965,14 +2965,14 @@ class ProxyIncomingCall {
|
|
2965
2965
|
switch (prop) {
|
2966
2966
|
case 'accept': {
|
2967
2967
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2968
|
-
return __awaiter$
|
2968
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
2969
2969
|
return yield target.accept(...args);
|
2970
2970
|
});
|
2971
2971
|
}, 'IncomingCall.accept');
|
2972
2972
|
}
|
2973
2973
|
case 'reject': {
|
2974
2974
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2975
|
-
return __awaiter$
|
2975
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
2976
2976
|
return yield target.reject(...args);
|
2977
2977
|
});
|
2978
2978
|
}, 'IncomingCall.reject');
|
@@ -3209,7 +3209,7 @@ const clearCallRelatedState = (context, internalContext) => {
|
|
3209
3209
|
|
3210
3210
|
// Copyright (c) Microsoft Corporation.
|
3211
3211
|
// Licensed under the MIT license.
|
3212
|
-
var __awaiter$
|
3212
|
+
var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3213
3213
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3214
3214
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3215
3215
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3235,56 +3235,56 @@ class ProxyCallCommon {
|
|
3235
3235
|
switch (prop) {
|
3236
3236
|
case 'mute': {
|
3237
3237
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3238
|
-
return __awaiter$
|
3238
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3239
3239
|
return yield target.mute(...args);
|
3240
3240
|
});
|
3241
3241
|
}, 'Call.mute');
|
3242
3242
|
}
|
3243
3243
|
case 'unmute': {
|
3244
3244
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3245
|
-
return __awaiter$
|
3245
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3246
3246
|
return yield target.unmute(...args);
|
3247
3247
|
});
|
3248
3248
|
}, 'Call.unmute');
|
3249
3249
|
}
|
3250
3250
|
case 'startVideo': {
|
3251
3251
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3252
|
-
return __awaiter$
|
3252
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3253
3253
|
return yield target.startVideo(...args);
|
3254
3254
|
});
|
3255
3255
|
}, 'Call.startVideo');
|
3256
3256
|
}
|
3257
3257
|
case 'stopVideo': {
|
3258
3258
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3259
|
-
return __awaiter$
|
3259
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3260
3260
|
return yield target.stopVideo(...args);
|
3261
3261
|
});
|
3262
3262
|
}, 'Call.stopVideo');
|
3263
3263
|
}
|
3264
3264
|
case 'startScreenSharing': {
|
3265
3265
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3266
|
-
return __awaiter$
|
3266
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3267
3267
|
return yield target.startScreenSharing(...args);
|
3268
3268
|
});
|
3269
3269
|
}, 'Call.startScreenSharing');
|
3270
3270
|
}
|
3271
3271
|
case 'stopScreenSharing': {
|
3272
3272
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3273
|
-
return __awaiter$
|
3273
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3274
3274
|
return yield target.stopScreenSharing(...args);
|
3275
3275
|
});
|
3276
3276
|
}, 'Call.stopScreenSharing');
|
3277
3277
|
}
|
3278
3278
|
case 'hold': {
|
3279
3279
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3280
|
-
return __awaiter$
|
3280
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3281
3281
|
return yield target.hold(...args);
|
3282
3282
|
});
|
3283
3283
|
}, 'Call.hold');
|
3284
3284
|
}
|
3285
3285
|
case 'resume': {
|
3286
3286
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3287
|
-
return __awaiter$
|
3287
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
3288
3288
|
return yield target.resume(...args);
|
3289
3289
|
});
|
3290
3290
|
}, 'Call.resume');
|
@@ -3297,7 +3297,7 @@ class ProxyCallCommon {
|
|
3297
3297
|
|
3298
3298
|
// Copyright (c) Microsoft Corporation.
|
3299
3299
|
// Licensed under the MIT license.
|
3300
|
-
var __awaiter$
|
3300
|
+
var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3301
3301
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3302
3302
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3303
3303
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3311,7 +3311,7 @@ class ProxyCall extends ProxyCallCommon {
|
|
3311
3311
|
switch (prop) {
|
3312
3312
|
case 'addParticipant': {
|
3313
3313
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3314
|
-
return __awaiter$
|
3314
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3315
3315
|
return yield target.addParticipant(...args);
|
3316
3316
|
});
|
3317
3317
|
}, 'Call.addParticipant');
|
@@ -3508,7 +3508,7 @@ class InternalCallContext {
|
|
3508
3508
|
|
3509
3509
|
// Copyright (c) Microsoft Corporation.
|
3510
3510
|
// Licensed under the MIT license.
|
3511
|
-
var __awaiter$
|
3511
|
+
var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3512
3512
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3513
3513
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3514
3514
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3523,7 +3523,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
|
|
3523
3523
|
switch (prop) {
|
3524
3524
|
case 'addParticipant': {
|
3525
3525
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3526
|
-
return __awaiter$
|
3526
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3527
3527
|
return yield target.addParticipant(...args);
|
3528
3528
|
});
|
3529
3529
|
}, 'TeamsCall.addParticipant');
|
@@ -3638,7 +3638,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
|
|
3638
3638
|
|
3639
3639
|
// Copyright (c) Microsoft Corporation.
|
3640
3640
|
// Licensed under the MIT license.
|
3641
|
-
var __awaiter$
|
3641
|
+
var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3642
3642
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3643
3643
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3644
3644
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3660,7 +3660,7 @@ class ProxyVideoStreamRendererView {
|
|
3660
3660
|
get(target, prop) {
|
3661
3661
|
switch (prop) {
|
3662
3662
|
case 'updateScalingMode': {
|
3663
|
-
return (...args) => __awaiter$
|
3663
|
+
return (...args) => __awaiter$s(this, void 0, void 0, function* () {
|
3664
3664
|
yield target.updateScalingMode(...args);
|
3665
3665
|
this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
|
3666
3666
|
});
|
@@ -3681,7 +3681,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
|
|
3681
3681
|
|
3682
3682
|
// Copyright (c) Microsoft Corporation.
|
3683
3683
|
// Licensed under the MIT license.
|
3684
|
-
var __awaiter$
|
3684
|
+
var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3685
3685
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3686
3686
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3687
3687
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3703,7 +3703,7 @@ class ProxyCallClient {
|
|
3703
3703
|
get(target, prop) {
|
3704
3704
|
switch (prop) {
|
3705
3705
|
case 'createCallAgent': {
|
3706
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3706
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
|
3707
3707
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3708
3708
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3709
3709
|
// callAgent if the createCallAgent succeeds.
|
@@ -3716,7 +3716,7 @@ class ProxyCallClient {
|
|
3716
3716
|
}), 'CallClient.createCallAgent');
|
3717
3717
|
}
|
3718
3718
|
case 'createTeamsCallAgent': {
|
3719
|
-
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3719
|
+
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
|
3720
3720
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3721
3721
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3722
3722
|
// callAgent if the createCallAgent succeeds.
|
@@ -3729,7 +3729,7 @@ class ProxyCallClient {
|
|
3729
3729
|
}), 'CallClient.createTeamsCallAgent');
|
3730
3730
|
}
|
3731
3731
|
case 'getDeviceManager': {
|
3732
|
-
return this._context.withAsyncErrorTeedToState(() => __awaiter$
|
3732
|
+
return this._context.withAsyncErrorTeedToState(() => __awaiter$r(this, void 0, void 0, function* () {
|
3733
3733
|
// As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
|
3734
3734
|
// DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
|
3735
3735
|
// throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
|
@@ -3758,7 +3758,7 @@ class ProxyCallClient {
|
|
3758
3758
|
/**
|
3759
3759
|
* add to this object if we want to proxy anything else off the DebugInfo feature object.
|
3760
3760
|
*/
|
3761
|
-
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$
|
3761
|
+
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$r(this, void 0, void 0, function* () {
|
3762
3762
|
const environmentInfo = yield feature.getEnvironmentInfo();
|
3763
3763
|
this._context.setEnvironmentInfo(environmentInfo);
|
3764
3764
|
return environmentInfo;
|
@@ -3811,7 +3811,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
|
|
3811
3811
|
});
|
3812
3812
|
Object.defineProperty(callClient, 'createView', {
|
3813
3813
|
configurable: false,
|
3814
|
-
value: (callId, participantId, stream, options) => __awaiter$
|
3814
|
+
value: (callId, participantId, stream, options) => __awaiter$r(void 0, void 0, void 0, function* () {
|
3815
3815
|
const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
|
3816
3816
|
const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
|
3817
3817
|
// We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
|
@@ -4040,7 +4040,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
4040
4040
|
wordBreak: 'break-word'
|
4041
4041
|
});
|
4042
4042
|
|
4043
|
-
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$d={label:"Leave",tooltipContent:"Leave call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$d={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$d={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$d={participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneSitePermissionsRequest={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$1={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$1={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$d={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$d={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton$d,videoTile:videoTile$d,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest,CameraSitePermissionsRequest:CameraSitePermissionsRequest,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck,CameraSitePermissionsCheck:CameraSitePermissionsCheck,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari,CameraSitePermissionsDenied:CameraSitePermissionsDenied,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
4043
|
+
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$d={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$d={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$d={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$d={label:"Leave",tooltipContent:"Leave call"};var cameraButton$d={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$d={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$d={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$d={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$d={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$d={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$d={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",startScreenSharingGeneric:"There was an issue starting screen share."};var videoGallery$d={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}"};var dialpad$d={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$d={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$d={participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneSitePermissionsRequest={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$1={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$1={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$d={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$d={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var en_US$1 = {participantItem:participantItem$d,typingIndicator:typingIndicator$d,sendBox:sendBox$d,messageStatusIndicator:messageStatusIndicator$d,endCallButton:endCallButton$d,cameraButton:cameraButton$d,microphoneButton:microphoneButton$d,devicesButton:devicesButton$d,participantsButton:participantsButton$d,screenShareButton:screenShareButton$d,messageThread:messageThread$d,errorBar:errorBar$d,videoGallery:videoGallery$d,dialpad:dialpad$d,holdButton:holdButton$d,videoTile:videoTile$d,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest,CameraSitePermissionsRequest:CameraSitePermissionsRequest,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck,CameraSitePermissionsCheck:CameraSitePermissionsCheck,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari,CameraSitePermissionsDenied:CameraSitePermissionsDenied,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
4044
4044
|
|
4045
4045
|
var participantItem$c={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var typingIndicator$c={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$c={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var messageStatusIndicator$c={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$c={label:"Leave",tooltipContent:"Leave call"};var cameraButton$c={onLabel:"Turn off",offLabel:"Turn on",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off"};var microphoneButton$c={onLabel:"Mute",offLabel:"Unmute",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off"};var devicesButton$c={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$c={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link"};var screenShareButton$c={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var messageThread$c={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Submit",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadFile:"Download file"};var errorBar$c={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"Failed to start screen sharing",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link."};var videoGallery$c={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant"};var dialpad$c={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$c={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$c={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var SitePermissions$c={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Allow Access"};var UnsupportedBrowser$d={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLink:"More help"};var BrowserPermissionDenied$c={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$c={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var en_GB$1 = {participantItem:participantItem$c,typingIndicator:typingIndicator$c,sendBox:sendBox$c,messageStatusIndicator:messageStatusIndicator$c,endCallButton:endCallButton$c,cameraButton:cameraButton$c,microphoneButton:microphoneButton$c,devicesButton:devicesButton$c,participantsButton:participantsButton$c,screenShareButton:screenShareButton$c,messageThread:messageThread$c,errorBar:errorBar$c,videoGallery:videoGallery$c,dialpad:dialpad$c,holdButton:holdButton$c,videoTile:videoTile$c,SitePermissions:SitePermissions$c,UnsupportedBrowser:UnsupportedBrowser$d,BrowserPermissionDenied:BrowserPermissionDenied$c,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$c};
|
4046
4046
|
|
@@ -4503,6 +4503,7 @@ const messageBarType = (errorType) => {
|
|
4503
4503
|
case 'callVideoRecoveredBySystem':
|
4504
4504
|
case 'callMacOsCameraAccessDenied':
|
4505
4505
|
case 'callMacOsScreenShareAccessDenied':
|
4506
|
+
case 'startScreenSharingGeneric':
|
4506
4507
|
return react.MessageBarType.warning;
|
4507
4508
|
default:
|
4508
4509
|
return react.MessageBarType.error;
|
@@ -6624,7 +6625,7 @@ const chatMessageActionMenuProps = (menuProps) => {
|
|
6624
6625
|
return actionMenuProps;
|
6625
6626
|
};
|
6626
6627
|
|
6627
|
-
var __awaiter$
|
6628
|
+
var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6628
6629
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6629
6630
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6630
6631
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -6649,7 +6650,7 @@ const _FileDownloadCards = (props) => {
|
|
6649
6650
|
var _a, _b;
|
6650
6651
|
return (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile) !== null && _b !== void 0 ? _b : localeStrings.downloadFile;
|
6651
6652
|
}, [(_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile, localeStrings.downloadFile]);
|
6652
|
-
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$
|
6653
|
+
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$q(void 0, void 0, void 0, function* () {
|
6653
6654
|
if (!props.downloadHandler) {
|
6654
6655
|
window.open(file.url, '_blank', 'noopener,noreferrer');
|
6655
6656
|
}
|
@@ -6797,7 +6798,7 @@ const ChatMessageComponentAsMessageBubble = React__default['default'].memo(Messa
|
|
6797
6798
|
|
6798
6799
|
// Copyright (c) Microsoft Corporation.
|
6799
6800
|
// Licensed under the MIT license.
|
6800
|
-
var __awaiter$
|
6801
|
+
var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6801
6802
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6802
6803
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6803
6804
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -6831,7 +6832,7 @@ const ChatMessageComponent = (props) => {
|
|
6831
6832
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
6832
6833
|
}
|
6833
6834
|
else if (isEditing) {
|
6834
|
-
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$
|
6835
|
+
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$p(void 0, void 0, void 0, function* () {
|
6835
6836
|
props.onUpdateMessage &&
|
6836
6837
|
props.message.messageId &&
|
6837
6838
|
(yield props.onUpdateMessage(props.message.messageId, text, metadata, options));
|
@@ -6930,7 +6931,7 @@ const getParticipantsWhoHaveReadMessage = (message, readReceiptsBySenderId) => {
|
|
6930
6931
|
|
6931
6932
|
// Copyright (c) Microsoft Corporation.
|
6932
6933
|
// Licensed under the MIT license.
|
6933
|
-
var __awaiter$
|
6934
|
+
var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6934
6935
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6935
6936
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6936
6937
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -7158,7 +7159,7 @@ const MessageThread = (props) => {
|
|
7158
7159
|
setChatMessagesInitialized(chatMessagesInitialized);
|
7159
7160
|
};
|
7160
7161
|
// we try to only send those message status if user is scrolled to the bottom.
|
7161
|
-
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$
|
7162
|
+
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$o(void 0, void 0, void 0, function* () {
|
7162
7163
|
if (!isAtBottomOfScrollRef.current ||
|
7163
7164
|
!document.hasFocus() ||
|
7164
7165
|
!messagesRef.current ||
|
@@ -7209,7 +7210,7 @@ const MessageThread = (props) => {
|
|
7209
7210
|
setIsAtBottomOfScrollRef(atBottom);
|
7210
7211
|
}, [scrollToBottom, sendMessageStatusIfAtBottom]);
|
7211
7212
|
// Infinite scrolling + threadInitialize function
|
7212
|
-
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$
|
7213
|
+
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$o(void 0, void 0, void 0, function* () {
|
7213
7214
|
if (!isLoadingChatMessagesRef.current) {
|
7214
7215
|
if (onLoadPreviousChatMessages) {
|
7215
7216
|
isLoadingChatMessagesRef.current = true;
|
@@ -10963,7 +10964,7 @@ const DevicesButton = (props) => {
|
|
10963
10964
|
|
10964
10965
|
// Copyright (c) Microsoft Corporation.
|
10965
10966
|
// Licensed under the MIT license.
|
10966
|
-
var __awaiter$
|
10967
|
+
var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10967
10968
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10968
10969
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10969
10970
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -11001,7 +11002,7 @@ const CameraButton = (props) => {
|
|
11001
11002
|
const toggleAnnouncerString = React.useCallback((isCameraOn) => {
|
11002
11003
|
setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
|
11003
11004
|
}, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
|
11004
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
11005
|
+
const onToggleClick = React.useCallback(() => __awaiter$n(void 0, void 0, void 0, function* () {
|
11005
11006
|
// Throttle click on camera, need to await onToggleCamera then allow another click
|
11006
11007
|
if (onToggleCamera) {
|
11007
11008
|
setWaitForCamera(true);
|
@@ -11133,7 +11134,7 @@ const lightThemeCallButtonStyles = {
|
|
11133
11134
|
|
11134
11135
|
// Copyright (c) Microsoft Corporation.
|
11135
11136
|
// Licensed under the MIT license.
|
11136
|
-
var __awaiter$
|
11137
|
+
var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
11137
11138
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
11138
11139
|
return new (P || (P = Promise))(function (resolve, reject) {
|
11139
11140
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -11174,7 +11175,7 @@ const MicrophoneButton = (props) => {
|
|
11174
11175
|
const toggleAnnouncerString = React.useCallback((isMicOn) => {
|
11175
11176
|
setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
|
11176
11177
|
}, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
|
11177
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
11178
|
+
const onToggleClick = React.useCallback(() => __awaiter$m(void 0, void 0, void 0, function* () {
|
11178
11179
|
if (onToggleMicrophone) {
|
11179
11180
|
try {
|
11180
11181
|
yield onToggleMicrophone();
|
@@ -12035,7 +12036,7 @@ const formatPhoneNumber = (phoneNumber) => {
|
|
12035
12036
|
|
12036
12037
|
// Copyright (c) Microsoft Corporation.
|
12037
12038
|
// Licensed under the MIT license.
|
12038
|
-
var __awaiter$
|
12039
|
+
var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12039
12040
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
12040
12041
|
return new (P || (P = Promise))(function (resolve, reject) {
|
12041
12042
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -12077,10 +12078,10 @@ const DialpadButton = (props) => {
|
|
12077
12078
|
const theme = react.useTheme();
|
12078
12079
|
const { digit, index, onClick, onLongPress, isMobile = false } = props;
|
12079
12080
|
const useLongPressProps = React__default['default'].useMemo(() => ({
|
12080
|
-
onClick: () => __awaiter$
|
12081
|
+
onClick: () => __awaiter$l(void 0, void 0, void 0, function* () {
|
12081
12082
|
onClick(digit, index);
|
12082
12083
|
}),
|
12083
|
-
onLongPress: () => __awaiter$
|
12084
|
+
onLongPress: () => __awaiter$l(void 0, void 0, void 0, function* () {
|
12084
12085
|
onLongPress(digit, index);
|
12085
12086
|
}),
|
12086
12087
|
touchEventsOnly: isMobile
|
@@ -12832,7 +12833,7 @@ const useSelector$4 = (selector, selectorProps) => {
|
|
12832
12833
|
* @public
|
12833
12834
|
*/
|
12834
12835
|
const errorBarSelector$1 = reselect.createSelector([getLatestErrors$1, getDiagnostics, getDeviceManager$1, getEnvironmentInfo], (latestErrors, diagnostics, deviceManager, environmentInfo) => {
|
12835
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
12836
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
12836
12837
|
// The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.
|
12837
12838
|
// There are several options for the ordering:
|
12838
12839
|
// - Sorted by when the errors happened (latest first / oldest first).
|
@@ -12842,9 +12843,13 @@ const errorBarSelector$1 = reselect.createSelector([getLatestErrors$1, getDiagno
|
|
12842
12843
|
// have timestamps for errors.
|
12843
12844
|
const activeErrorMessages = [];
|
12844
12845
|
const isSafari = () => {
|
12845
|
-
/* @conditional-compile-remove(
|
12846
|
+
/* @conditional-compile-remove(calling-environment-info) */
|
12846
12847
|
return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
|
12847
12848
|
};
|
12849
|
+
const isMacOS = () => {
|
12850
|
+
/* @conditional-compile-remove(calling-environment-info) */
|
12851
|
+
return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.platform) === 'mac';
|
12852
|
+
};
|
12848
12853
|
// Errors reported via diagnostics are more reliable than from API method failures, so process those first.
|
12849
12854
|
if (((_a = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _a === void 0 ? void 0 : _a.value) === communicationCalling.DiagnosticQuality.Bad ||
|
12850
12855
|
((_b = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) === communicationCalling.DiagnosticQuality.Poor) {
|
@@ -12862,9 +12867,12 @@ const errorBarSelector$1 = reselect.createSelector([getLatestErrors$1, getDiagno
|
|
12862
12867
|
if (((_f = deviceManager.deviceAccess) === null || _f === void 0 ? void 0 : _f.audio) === false && !isSafari()) {
|
12863
12868
|
activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });
|
12864
12869
|
}
|
12865
|
-
if (((_g = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _g === void 0 ? void 0 : _g.value) === true) {
|
12870
|
+
if (((_g = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _g === void 0 ? void 0 : _g.value) === true && isMacOS()) {
|
12866
12871
|
activeErrorMessages.push({ type: 'callMacOsMicrophoneAccessDenied' });
|
12867
12872
|
}
|
12873
|
+
else if (((_h = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _h === void 0 ? void 0 : _h.value) === true) {
|
12874
|
+
activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });
|
12875
|
+
}
|
12868
12876
|
const microphoneMuteUnexpectedlyDiagnostic = (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneMuteUnexpectedly) || (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneNotFunctioning);
|
12869
12877
|
if (microphoneMuteUnexpectedlyDiagnostic) {
|
12870
12878
|
if (microphoneMuteUnexpectedlyDiagnostic.value === communicationCalling.DiagnosticQuality.Bad) {
|
@@ -12887,38 +12895,47 @@ const errorBarSelector$1 = reselect.createSelector([getLatestErrors$1, getDiagno
|
|
12887
12895
|
activeErrorMessages.push({ type: 'callVideoRecoveredBySystem' });
|
12888
12896
|
}
|
12889
12897
|
}
|
12890
|
-
if (((
|
12898
|
+
if (((_j = deviceManager.deviceAccess) === null || _j === void 0 ? void 0 : _j.video) === false && isSafari()) {
|
12891
12899
|
activeErrorMessages.push({ type: 'callCameraAccessDeniedSafari' });
|
12892
12900
|
}
|
12893
|
-
else if (((
|
12901
|
+
else if (((_k = deviceManager.deviceAccess) === null || _k === void 0 ? void 0 : _k.video) === false) {
|
12894
12902
|
activeErrorMessages.push({ type: 'callCameraAccessDenied' });
|
12895
12903
|
}
|
12896
12904
|
else {
|
12897
|
-
if (((
|
12905
|
+
if (((_l = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraFreeze) === null || _l === void 0 ? void 0 : _l.value) === true) {
|
12898
12906
|
activeErrorMessages.push({ type: 'callCameraAlreadyInUse' });
|
12899
12907
|
}
|
12900
12908
|
}
|
12901
|
-
|
12909
|
+
/**
|
12910
|
+
* show the Mac specific strings if the platform is detected as mac
|
12911
|
+
*/
|
12912
|
+
if (((_m = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraPermissionDenied) === null || _m === void 0 ? void 0 : _m.value) === true && isMacOS()) {
|
12902
12913
|
activeErrorMessages.push({ type: 'callMacOsCameraAccessDenied' });
|
12903
12914
|
}
|
12904
|
-
|
12915
|
+
/**
|
12916
|
+
* This UFD only works on mac still so we should only see it fire on mac.
|
12917
|
+
*/
|
12918
|
+
if (((_o = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _o === void 0 ? void 0 : _o.value) === true && isMacOS()) {
|
12905
12919
|
activeErrorMessages.push({ type: 'callMacOsScreenShareAccessDenied' });
|
12906
12920
|
}
|
12921
|
+
else if (((_p = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _p === void 0 ? void 0 : _p.value) === true) {
|
12922
|
+
activeErrorMessages.push({ type: 'startScreenSharingGeneric' });
|
12923
|
+
}
|
12907
12924
|
// Prefer to show errors with privacy implications.
|
12908
12925
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');
|
12909
12926
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');
|
12910
12927
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');
|
12911
|
-
if (((
|
12928
|
+
if (((_q = latestErrors['Call.startVideo']) === null || _q === void 0 ? void 0 : _q.message) === 'Call.startVideo: Video operation failure SourceUnavailableError') {
|
12912
12929
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');
|
12913
12930
|
}
|
12914
|
-
else if (((
|
12931
|
+
else if (((_r = latestErrors['Call.startVideo']) === null || _r === void 0 ? void 0 : _r.message) === 'Call.startVideo: Video operation failure permissionDeniedError') {
|
12915
12932
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');
|
12916
12933
|
}
|
12917
12934
|
else {
|
12918
12935
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');
|
12919
12936
|
}
|
12920
12937
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');
|
12921
|
-
if (((
|
12938
|
+
if (((_s = latestErrors['CallAgent.join']) === null || _s === void 0 ? void 0 : _s.message) === 'CallAgent.join: Invalid meeting link') {
|
12922
12939
|
appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');
|
12923
12940
|
}
|
12924
12941
|
else {
|
@@ -12995,7 +13012,7 @@ const findConditionalCompiledSelector = (component) => {
|
|
12995
13012
|
|
12996
13013
|
// Copyright (c) Microsoft Corporation.
|
12997
13014
|
// Licensed under the MIT license.
|
12998
|
-
var __awaiter$
|
13015
|
+
var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12999
13016
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13000
13017
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13001
13018
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -13018,35 +13035,35 @@ const createDefaultChatHandlers = memoizeOne__default['default']((chatClient, ch
|
|
13018
13035
|
let messageIterator = undefined;
|
13019
13036
|
let readReceiptIterator = undefined;
|
13020
13037
|
return {
|
13021
|
-
onSendMessage: (content, options) => __awaiter$
|
13038
|
+
onSendMessage: (content, options) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13022
13039
|
const sendMessageRequest = {
|
13023
13040
|
content,
|
13024
13041
|
senderDisplayName: chatClient.getState().displayName
|
13025
13042
|
};
|
13026
13043
|
yield chatThreadClient.sendMessage(sendMessageRequest, options);
|
13027
13044
|
}),
|
13028
|
-
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$
|
13045
|
+
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13029
13046
|
const updatedMetadata = metadata ? Object.assign({}, metadata) : {};
|
13030
13047
|
updatedMetadata['fileSharingMetadata'] = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachedFilesMetadata) || []);
|
13031
13048
|
yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
|
13032
13049
|
}),
|
13033
|
-
onDeleteMessage: (messageId) => __awaiter$
|
13050
|
+
onDeleteMessage: (messageId) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13034
13051
|
yield chatThreadClient.deleteMessage(messageId);
|
13035
13052
|
}),
|
13036
13053
|
// This handler is designed for chatThread to consume
|
13037
|
-
onMessageSeen: (chatMessageId) => __awaiter$
|
13054
|
+
onMessageSeen: (chatMessageId) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13038
13055
|
yield chatThreadClient.sendReadReceipt({ chatMessageId });
|
13039
13056
|
}),
|
13040
|
-
onTyping: () => __awaiter$
|
13057
|
+
onTyping: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
13041
13058
|
yield chatThreadClient.sendTypingNotification();
|
13042
13059
|
}),
|
13043
|
-
onRemoveParticipant: (userId) => __awaiter$
|
13060
|
+
onRemoveParticipant: (userId) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13044
13061
|
yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
|
13045
13062
|
}),
|
13046
|
-
updateThreadTopicName: (topicName) => __awaiter$
|
13063
|
+
updateThreadTopicName: (topicName) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13047
13064
|
yield chatThreadClient.updateTopic(topicName);
|
13048
13065
|
}),
|
13049
|
-
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$
|
13066
|
+
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$k(void 0, void 0, void 0, function* () {
|
13050
13067
|
var _a, _b, _c;
|
13051
13068
|
if (messageIterator === undefined) {
|
13052
13069
|
// Lazy definition so that errors in the method call are reported correctly.
|
@@ -13783,7 +13800,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
|
|
13783
13800
|
|
13784
13801
|
// Copyright (c) Microsoft Corporation.
|
13785
13802
|
// Licensed under the MIT license.
|
13786
|
-
var __awaiter$
|
13803
|
+
var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
13787
13804
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13788
13805
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13789
13806
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14058,7 +14075,7 @@ class ChatContext$1 {
|
|
14058
14075
|
* @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
|
14059
14076
|
*/
|
14060
14077
|
withAsyncErrorTeedToState(f, target) {
|
14061
|
-
return (...args) => __awaiter$
|
14078
|
+
return (...args) => __awaiter$j(this, void 0, void 0, function* () {
|
14062
14079
|
try {
|
14063
14080
|
return yield f(...args);
|
14064
14081
|
}
|
@@ -14165,7 +14182,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
|
14165
14182
|
|
14166
14183
|
// Copyright (c) Microsoft Corporation.
|
14167
14184
|
// Licensed under the MIT license.
|
14168
|
-
var __awaiter$
|
14185
|
+
var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14169
14186
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14170
14187
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14171
14188
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14249,7 +14266,7 @@ class EventSubscriber {
|
|
14249
14266
|
this.fetchLastParticipantMessage(event.threadId, 'participantAdded');
|
14250
14267
|
};
|
14251
14268
|
// This is a hot fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK
|
14252
|
-
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$
|
14269
|
+
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$i(this, void 0, void 0, function* () {
|
14253
14270
|
var e_1, _a;
|
14254
14271
|
try {
|
14255
14272
|
for (var _b = __asyncValues$1(this.chatClient
|
@@ -14335,7 +14352,7 @@ class EventSubscriber {
|
|
14335
14352
|
|
14336
14353
|
// Copyright (c) Microsoft Corporation.
|
14337
14354
|
// Licensed under the MIT license.
|
14338
|
-
var __awaiter$
|
14355
|
+
var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14339
14356
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14340
14357
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14341
14358
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14357,7 +14374,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
14357
14374
|
const threadsIterator = iteratorCreator(...args);
|
14358
14375
|
return {
|
14359
14376
|
next() {
|
14360
|
-
return __awaiter$
|
14377
|
+
return __awaiter$h(this, void 0, void 0, function* () {
|
14361
14378
|
const result = yield threadsIterator.next();
|
14362
14379
|
if (!result.done && result.value) {
|
14363
14380
|
decorateFn(result.value, context);
|
@@ -14372,7 +14389,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
14372
14389
|
const pages = threadsIterator.byPage(settings);
|
14373
14390
|
return {
|
14374
14391
|
next() {
|
14375
|
-
return __awaiter$
|
14392
|
+
return __awaiter$h(this, void 0, void 0, function* () {
|
14376
14393
|
const result = yield pages.next();
|
14377
14394
|
const page = result.value;
|
14378
14395
|
if (!result.done && result.value) {
|
@@ -14456,7 +14473,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
|
|
14456
14473
|
|
14457
14474
|
// Copyright (c) Microsoft Corporation.
|
14458
14475
|
// Licensed under the MIT license.
|
14459
|
-
var __awaiter$
|
14476
|
+
var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14460
14477
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14461
14478
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14462
14479
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14475,14 +14492,14 @@ class ProxyChatThreadClient {
|
|
14475
14492
|
return createDecoratedListMessages(chatThreadClient, this._context);
|
14476
14493
|
}
|
14477
14494
|
case 'getMessage': {
|
14478
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14495
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14479
14496
|
const message = yield chatThreadClient.getMessage(...args);
|
14480
14497
|
this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
|
14481
14498
|
return message;
|
14482
14499
|
}), 'ChatThreadClient.getMessage');
|
14483
14500
|
}
|
14484
14501
|
case 'sendMessage': {
|
14485
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14502
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14486
14503
|
// Retry logic?
|
14487
14504
|
const [request, options] = args;
|
14488
14505
|
const { content } = request;
|
@@ -14522,7 +14539,7 @@ class ProxyChatThreadClient {
|
|
14522
14539
|
}), 'ChatThreadClient.sendMessage');
|
14523
14540
|
}
|
14524
14541
|
case 'addParticipants': {
|
14525
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14542
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14526
14543
|
const result = yield chatThreadClient.addParticipants(...args);
|
14527
14544
|
const [addRequest] = args;
|
14528
14545
|
const participantsToAdd = addRequest.participants;
|
@@ -14531,7 +14548,7 @@ class ProxyChatThreadClient {
|
|
14531
14548
|
}), 'ChatThreadClient.addParticipants');
|
14532
14549
|
}
|
14533
14550
|
case 'deleteMessage': {
|
14534
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14551
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14535
14552
|
// DeleteMessage is able to either delete local one(for failed message) or synced message
|
14536
14553
|
const [messageId] = args;
|
14537
14554
|
if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
|
@@ -14549,12 +14566,12 @@ class ProxyChatThreadClient {
|
|
14549
14566
|
return createDecoratedListReadReceipts(chatThreadClient, this._context);
|
14550
14567
|
}
|
14551
14568
|
case 'sendTypingNotification': {
|
14552
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14569
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14553
14570
|
return yield chatThreadClient.sendTypingNotification(...args);
|
14554
14571
|
}), 'ChatThreadClient.sendTypingNotification');
|
14555
14572
|
}
|
14556
14573
|
case 'removeParticipant': {
|
14557
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14574
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14558
14575
|
const result = yield chatThreadClient.removeParticipant(...args);
|
14559
14576
|
const [removeIdentifier] = args;
|
14560
14577
|
this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
|
@@ -14562,7 +14579,7 @@ class ProxyChatThreadClient {
|
|
14562
14579
|
}), 'ChatThreadClient.removeParticipant');
|
14563
14580
|
}
|
14564
14581
|
case 'updateMessage': {
|
14565
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14582
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14566
14583
|
const result = yield chatThreadClient.updateMessage(...args);
|
14567
14584
|
const [messageId, updateOption] = args;
|
14568
14585
|
this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
|
@@ -14570,7 +14587,7 @@ class ProxyChatThreadClient {
|
|
14570
14587
|
}), 'ChatThreadClient.updateMessage');
|
14571
14588
|
}
|
14572
14589
|
case 'updateTopic': {
|
14573
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14590
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14574
14591
|
const result = yield chatThreadClient.updateTopic(...args);
|
14575
14592
|
const [topic] = args;
|
14576
14593
|
this._context.updateThreadTopic(chatThreadClient.threadId, topic);
|
@@ -14578,7 +14595,7 @@ class ProxyChatThreadClient {
|
|
14578
14595
|
}), 'ChatThreadClient.updateTopic');
|
14579
14596
|
}
|
14580
14597
|
case 'getProperties': {
|
14581
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14598
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$g(this, void 0, void 0, function* () {
|
14582
14599
|
const result = yield chatThreadClient.getProperties(...args);
|
14583
14600
|
this._context.updateThread(chatThreadClient.threadId, result);
|
14584
14601
|
return result;
|
@@ -14615,7 +14632,7 @@ const createDecoratedListThreads = (chatClient, context) => {
|
|
14615
14632
|
|
14616
14633
|
// Copyright (c) Microsoft Corporation.
|
14617
14634
|
// Licensed under the MIT license.
|
14618
|
-
var __awaiter$
|
14635
|
+
var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14619
14636
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14620
14637
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14621
14638
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14634,7 +14651,7 @@ const proxyChatClient = {
|
|
14634
14651
|
switch (prop) {
|
14635
14652
|
case 'createChatThread': {
|
14636
14653
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14637
|
-
return __awaiter$
|
14654
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
14638
14655
|
const result = yield chatClient.createChatThread(...args);
|
14639
14656
|
const thread = result.chatThread;
|
14640
14657
|
if (thread) {
|
@@ -14647,7 +14664,7 @@ const proxyChatClient = {
|
|
14647
14664
|
}
|
14648
14665
|
case 'deleteChatThread': {
|
14649
14666
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14650
|
-
return __awaiter$
|
14667
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
14651
14668
|
const result = yield chatClient.deleteChatThread(...args);
|
14652
14669
|
context.deleteThread(args[0]);
|
14653
14670
|
return result;
|
@@ -14667,7 +14684,7 @@ const proxyChatClient = {
|
|
14667
14684
|
}
|
14668
14685
|
case 'startRealtimeNotifications': {
|
14669
14686
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14670
|
-
return __awaiter$
|
14687
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
14671
14688
|
const ret = yield chatClient.startRealtimeNotifications(...args);
|
14672
14689
|
if (!receiver.eventSubscriber) {
|
14673
14690
|
receiver.eventSubscriber = new EventSubscriber(chatClient, context);
|
@@ -14678,7 +14695,7 @@ const proxyChatClient = {
|
|
14678
14695
|
}
|
14679
14696
|
case 'stopRealtimeNotifications': {
|
14680
14697
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14681
|
-
return __awaiter$
|
14698
|
+
return __awaiter$f(this, void 0, void 0, function* () {
|
14682
14699
|
const ret = yield chatClient.stopRealtimeNotifications(...args);
|
14683
14700
|
if (receiver.eventSubscriber) {
|
14684
14701
|
receiver.eventSubscriber.unsubscribe();
|
@@ -15285,7 +15302,7 @@ const END_CALL_PAGES = [
|
|
15285
15302
|
|
15286
15303
|
// Copyright (c) Microsoft Corporation.
|
15287
15304
|
// Licensed under the MIT license.
|
15288
|
-
var __awaiter$
|
15305
|
+
var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15289
15306
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15290
15307
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15291
15308
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15508,7 +15525,7 @@ const isDisabled$2 = (option) => {
|
|
15508
15525
|
/**
|
15509
15526
|
* @returns Permissions state for the camera.
|
15510
15527
|
*/
|
15511
|
-
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$
|
15528
|
+
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$e(void 0, void 0, void 0, function* () {
|
15512
15529
|
try {
|
15513
15530
|
return (yield navigator.permissions.query({ name: 'camera' })).state;
|
15514
15531
|
}
|
@@ -15521,7 +15538,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$d(void 0, void 0
|
|
15521
15538
|
/**
|
15522
15539
|
* @returns Permissions state for the microphone.
|
15523
15540
|
*/
|
15524
|
-
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$
|
15541
|
+
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$e(void 0, void 0, void 0, function* () {
|
15525
15542
|
try {
|
15526
15543
|
return (yield navigator.permissions.query({ name: 'microphone' })).state;
|
15527
15544
|
}
|
@@ -15538,7 +15555,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$d(void 0, vo
|
|
15538
15555
|
* If permission API is not supported on this browser, permission state is set to unsupported.
|
15539
15556
|
* @private
|
15540
15557
|
*/
|
15541
|
-
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$
|
15558
|
+
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$e(void 0, void 0, void 0, function* () {
|
15542
15559
|
const [cameraResult, microphoneResult] = yield Promise.all([
|
15543
15560
|
queryCameraPermissionFromPermissionsAPI(),
|
15544
15561
|
queryMicrophonePermissionFromPermissionsAPI()
|
@@ -15573,10 +15590,49 @@ const _isSafari = (environmentInfo) => {
|
|
15573
15590
|
/* @conditional-compile-remove(unsupported-browser) */
|
15574
15591
|
return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
|
15575
15592
|
};
|
15593
|
+
/**
|
15594
|
+
* @private
|
15595
|
+
* This is the util function to create a participant modifier for remote participantList
|
15596
|
+
* It memoize previous original participant items and only update the changed participant
|
15597
|
+
* It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified
|
15598
|
+
*/
|
15599
|
+
const createParticipantModifier = (createModifiedParticipant) => {
|
15600
|
+
let previousParticipantState = undefined;
|
15601
|
+
let modifiedParticipants = {};
|
15602
|
+
const memoizedParticipants = {};
|
15603
|
+
return (state) => {
|
15604
|
+
var _a, _b, _c, _d;
|
15605
|
+
// if root state is the same, we don't need to update the participants
|
15606
|
+
if (((_a = state.call) === null || _a === void 0 ? void 0 : _a.remoteParticipants) !== previousParticipantState) {
|
15607
|
+
modifiedParticipants = {};
|
15608
|
+
const originalParticipants = (_b = state.call) === null || _b === void 0 ? void 0 : _b.remoteParticipants;
|
15609
|
+
for (const key in originalParticipants) {
|
15610
|
+
const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);
|
15611
|
+
if (modifiedParticipant === undefined) {
|
15612
|
+
modifiedParticipants[key] = originalParticipants[key];
|
15613
|
+
continue;
|
15614
|
+
}
|
15615
|
+
// Generate the new item if original cached item has been changed
|
15616
|
+
if (((_c = memoizedParticipants[key]) === null || _c === void 0 ? void 0 : _c.originalRef) !== originalParticipants[key]) {
|
15617
|
+
memoizedParticipants[key] = {
|
15618
|
+
newParticipant: modifiedParticipant,
|
15619
|
+
originalRef: originalParticipants[key]
|
15620
|
+
};
|
15621
|
+
}
|
15622
|
+
// the modified participant is always coming from the memoized cache, whether is was refreshed
|
15623
|
+
// from the previous closure or not
|
15624
|
+
modifiedParticipants[key] = memoizedParticipants[key].newParticipant;
|
15625
|
+
}
|
15626
|
+
previousParticipantState = (_d = state.call) === null || _d === void 0 ? void 0 : _d.remoteParticipants;
|
15627
|
+
}
|
15628
|
+
return Object.assign(Object.assign({}, state), { call: state.call
|
15629
|
+
? Object.assign(Object.assign({}, state.call), { remoteParticipants: modifiedParticipants }) : undefined });
|
15630
|
+
};
|
15631
|
+
};
|
15576
15632
|
|
15577
15633
|
// Copyright (c) Microsoft Corporation.
|
15578
15634
|
// Licensed under the MIT license.
|
15579
|
-
var __awaiter$
|
15635
|
+
var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15580
15636
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15581
15637
|
return new (P || (P = Promise))(function (resolve, reject) {
|
15582
15638
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -15702,9 +15758,9 @@ class AzureCommunicationChatAdapter {
|
|
15702
15758
|
this.unsubscribeAllEvents();
|
15703
15759
|
}
|
15704
15760
|
fetchInitialData() {
|
15705
|
-
return __awaiter$
|
15761
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15706
15762
|
// If get properties fails we dont want to try to get the participants after.
|
15707
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15763
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15708
15764
|
var e_1, _a;
|
15709
15765
|
yield this.chatThreadClient.getProperties();
|
15710
15766
|
try {
|
@@ -15738,8 +15794,8 @@ class AzureCommunicationChatAdapter {
|
|
15738
15794
|
this.context.offStateChange(handler);
|
15739
15795
|
}
|
15740
15796
|
sendMessage(content, options = {}) {
|
15741
|
-
return __awaiter$
|
15742
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15797
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15798
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15743
15799
|
/* @conditional-compile-remove(file-sharing) */
|
15744
15800
|
options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
|
15745
15801
|
/* @conditional-compile-remove(file-sharing) */
|
@@ -15756,51 +15812,51 @@ class AzureCommunicationChatAdapter {
|
|
15756
15812
|
});
|
15757
15813
|
}
|
15758
15814
|
sendReadReceipt(chatMessageId) {
|
15759
|
-
return __awaiter$
|
15760
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15815
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15816
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15761
15817
|
yield this.handlers.onMessageSeen(chatMessageId);
|
15762
15818
|
}));
|
15763
15819
|
});
|
15764
15820
|
}
|
15765
15821
|
sendTypingIndicator() {
|
15766
|
-
return __awaiter$
|
15767
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15822
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15823
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15768
15824
|
yield this.handlers.onTyping();
|
15769
15825
|
}));
|
15770
15826
|
});
|
15771
15827
|
}
|
15772
15828
|
removeParticipant(userId) {
|
15773
|
-
return __awaiter$
|
15774
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15829
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15830
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15775
15831
|
yield this.handlers.onRemoveParticipant(userId);
|
15776
15832
|
}));
|
15777
15833
|
});
|
15778
15834
|
}
|
15779
15835
|
setTopic(topicName) {
|
15780
|
-
return __awaiter$
|
15781
|
-
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15836
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15837
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15782
15838
|
yield this.handlers.updateThreadTopicName(topicName);
|
15783
15839
|
}));
|
15784
15840
|
});
|
15785
15841
|
}
|
15786
15842
|
loadPreviousChatMessages(messagesToLoad) {
|
15787
|
-
return __awaiter$
|
15788
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15843
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15844
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15789
15845
|
return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
|
15790
15846
|
}));
|
15791
15847
|
});
|
15792
15848
|
}
|
15793
15849
|
updateMessage(messageId, content, metadata, options) {
|
15794
|
-
return __awaiter$
|
15795
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15850
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15851
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15796
15852
|
/* @conditional-compile-remove(file-sharing) */
|
15797
15853
|
return yield this.handlers.onUpdateMessage(messageId, content, metadata, options);
|
15798
15854
|
}));
|
15799
15855
|
});
|
15800
15856
|
}
|
15801
15857
|
deleteMessage(messageId) {
|
15802
|
-
return __awaiter$
|
15803
|
-
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$
|
15858
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15859
|
+
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$d(this, void 0, void 0, function* () {
|
15804
15860
|
return yield this.handlers.onDeleteMessage(messageId);
|
15805
15861
|
}));
|
15806
15862
|
});
|
@@ -15881,7 +15937,7 @@ class AzureCommunicationChatAdapter {
|
|
15881
15937
|
this.emitter.off(event, listener);
|
15882
15938
|
}
|
15883
15939
|
asyncTeeErrorToEventEmitter(f) {
|
15884
|
-
return __awaiter$
|
15940
|
+
return __awaiter$d(this, void 0, void 0, function* () {
|
15885
15941
|
try {
|
15886
15942
|
return yield f();
|
15887
15943
|
}
|
@@ -15923,7 +15979,7 @@ const convertEventType = (type) => {
|
|
15923
15979
|
*
|
15924
15980
|
* @public
|
15925
15981
|
*/
|
15926
|
-
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$
|
15982
|
+
const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter$d(void 0, void 0, void 0, function* () {
|
15927
15983
|
if (!isValidIdentifier(userId)) {
|
15928
15984
|
throw new Error('Provided userId is invalid. Please provide valid identifier object.');
|
15929
15985
|
}
|
@@ -15989,7 +16045,7 @@ beforeDispose) => {
|
|
15989
16045
|
if (!credential || !displayName || !endpoint || !threadId || !userId) {
|
15990
16046
|
return;
|
15991
16047
|
}
|
15992
|
-
(() => __awaiter$
|
16048
|
+
(() => __awaiter$d(void 0, void 0, void 0, function* () {
|
15993
16049
|
if (adapterRef.current) {
|
15994
16050
|
// Dispose the old adapter when a new one is created.
|
15995
16051
|
//
|
@@ -16021,7 +16077,7 @@ beforeDispose) => {
|
|
16021
16077
|
// Dispose any existing adapter when the component unmounts.
|
16022
16078
|
React.useEffect(() => {
|
16023
16079
|
return () => {
|
16024
|
-
(() => __awaiter$
|
16080
|
+
(() => __awaiter$d(void 0, void 0, void 0, function* () {
|
16025
16081
|
if (adapterRef.current) {
|
16026
16082
|
if (beforeDisposeRef.current) {
|
16027
16083
|
yield beforeDisposeRef.current(adapterRef.current);
|
@@ -16042,7 +16098,7 @@ beforeDispose) => {
|
|
16042
16098
|
*
|
16043
16099
|
* @public
|
16044
16100
|
*/
|
16045
|
-
const createAzureCommunicationChatAdapterFromClient = (chatClient, chatThreadClient) => __awaiter$
|
16101
|
+
const createAzureCommunicationChatAdapterFromClient = (chatClient, chatThreadClient) => __awaiter$d(void 0, void 0, void 0, function* () {
|
16046
16102
|
return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
|
16047
16103
|
});
|
16048
16104
|
const isChatError = (e) => {
|
@@ -16253,7 +16309,7 @@ const sendboxContainerStyles = {
|
|
16253
16309
|
|
16254
16310
|
// Copyright (c) Microsoft Corporation.
|
16255
16311
|
// Licensed under the MIT license.
|
16256
|
-
var __awaiter$
|
16312
|
+
var __awaiter$c = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16257
16313
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16258
16314
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16259
16315
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16274,7 +16330,7 @@ const AvatarPersona = (props) => {
|
|
16274
16330
|
const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
|
16275
16331
|
const [data, setData] = React.useState();
|
16276
16332
|
React.useEffect(() => {
|
16277
|
-
(() => __awaiter$
|
16333
|
+
(() => __awaiter$c(void 0, void 0, void 0, function* () {
|
16278
16334
|
if (dataProvider && userId) {
|
16279
16335
|
const newData = yield dataProvider(userId);
|
16280
16336
|
if (avatarDeepDifferenceCheck(data, newData)) {
|
@@ -16848,7 +16904,7 @@ const adaptCompositeState = (compositeState) => {
|
|
16848
16904
|
|
16849
16905
|
// Copyright (c) Microsoft Corporation.
|
16850
16906
|
// Licensed under the MIT license.
|
16851
|
-
var __awaiter$
|
16907
|
+
var __awaiter$b = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
16852
16908
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16853
16909
|
return new (P || (P = Promise))(function (resolve, reject) {
|
16854
16910
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -16867,76 +16923,76 @@ _component) => {
|
|
16867
16923
|
return createCompositeHandlers(useAdapter());
|
16868
16924
|
};
|
16869
16925
|
const createCompositeHandlers = memoizeOne__default['default']((adapter) => ({
|
16870
|
-
onCreateLocalStreamView: (options) => __awaiter$
|
16926
|
+
onCreateLocalStreamView: (options) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16871
16927
|
return yield adapter.createStreamView(undefined, options);
|
16872
16928
|
}),
|
16873
|
-
onCreateRemoteStreamView: (userId, options) => __awaiter$
|
16929
|
+
onCreateRemoteStreamView: (userId, options) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16874
16930
|
return yield adapter.createStreamView(userId, options);
|
16875
16931
|
}),
|
16876
|
-
onHangUp: (forEveryone) => __awaiter$
|
16932
|
+
onHangUp: (forEveryone) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16877
16933
|
yield adapter.leaveCall(forEveryone);
|
16878
16934
|
}),
|
16879
16935
|
/* @conditional-compile-remove(PSTN-calls) */
|
16880
|
-
onToggleHold: () => __awaiter$
|
16936
|
+
onToggleHold: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16881
16937
|
var _a;
|
16882
16938
|
return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
16883
16939
|
}),
|
16884
16940
|
/* @conditional-compile-remove(PSTN-calls) */
|
16885
|
-
onAddParticipant: (participant, options) => __awaiter$
|
16941
|
+
onAddParticipant: (participant, options) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16886
16942
|
return yield adapter.addParticipant(participant, options);
|
16887
16943
|
}),
|
16888
16944
|
/* @conditional-compile-remove(PSTN-calls) */
|
16889
|
-
onSendDtmfTone: (dtmfTone) => __awaiter$
|
16945
|
+
onSendDtmfTone: (dtmfTone) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16890
16946
|
yield adapter.sendDtmfTone(dtmfTone);
|
16891
16947
|
}),
|
16892
|
-
onRemoveParticipant: (userId) => __awaiter$
|
16948
|
+
onRemoveParticipant: (userId) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16893
16949
|
yield adapter.removeParticipant(userId);
|
16894
16950
|
}),
|
16895
|
-
onSelectCamera: (deviceInfo, options) => __awaiter$
|
16951
|
+
onSelectCamera: (deviceInfo, options) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16896
16952
|
yield adapter.setCamera(deviceInfo, options);
|
16897
16953
|
}),
|
16898
|
-
onSelectMicrophone: (deviceInfo) => __awaiter$
|
16954
|
+
onSelectMicrophone: (deviceInfo) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16899
16955
|
yield adapter.setMicrophone(deviceInfo);
|
16900
16956
|
}),
|
16901
|
-
onSelectSpeaker: (deviceInfo) => __awaiter$
|
16957
|
+
onSelectSpeaker: (deviceInfo) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16902
16958
|
yield adapter.setSpeaker(deviceInfo);
|
16903
16959
|
}),
|
16904
16960
|
onStartCall: (participants, options) => {
|
16905
16961
|
const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
|
16906
16962
|
return adapter.startCall(rawIds, options);
|
16907
16963
|
},
|
16908
|
-
onStartScreenShare: () => __awaiter$
|
16964
|
+
onStartScreenShare: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16909
16965
|
yield adapter.startScreenShare();
|
16910
16966
|
}),
|
16911
|
-
onStopScreenShare: () => __awaiter$
|
16967
|
+
onStopScreenShare: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16912
16968
|
yield adapter.stopScreenShare();
|
16913
16969
|
}),
|
16914
|
-
onToggleCamera: (options) => __awaiter$
|
16970
|
+
onToggleCamera: (options) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16915
16971
|
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
16916
16972
|
}),
|
16917
|
-
onToggleMicrophone: () => __awaiter$
|
16973
|
+
onToggleMicrophone: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16918
16974
|
var _b;
|
16919
16975
|
return ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
16920
16976
|
}),
|
16921
|
-
onToggleScreenShare: () => __awaiter$
|
16977
|
+
onToggleScreenShare: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16922
16978
|
var _c;
|
16923
16979
|
return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isScreenSharingOn)
|
16924
16980
|
? yield adapter.stopScreenShare()
|
16925
16981
|
: yield adapter.startScreenShare();
|
16926
16982
|
}),
|
16927
|
-
onStartLocalVideo: () => __awaiter$
|
16983
|
+
onStartLocalVideo: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16928
16984
|
if (adapter.getState().call) {
|
16929
16985
|
return adapter.startCamera();
|
16930
16986
|
}
|
16931
16987
|
}),
|
16932
|
-
onDisposeLocalStreamView: () => __awaiter$
|
16988
|
+
onDisposeLocalStreamView: () => __awaiter$b(void 0, void 0, void 0, function* () {
|
16933
16989
|
return adapter.disposeStreamView();
|
16934
16990
|
}),
|
16935
|
-
onDisposeRemoteStreamView: (userId) => __awaiter$
|
16991
|
+
onDisposeRemoteStreamView: (userId) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16936
16992
|
return adapter.disposeStreamView(userId);
|
16937
16993
|
}),
|
16938
16994
|
/* @conditional-compile-remove(call-readiness) */
|
16939
|
-
askDevicePermission: (constrain) => __awaiter$
|
16995
|
+
askDevicePermission: (constrain) => __awaiter$b(void 0, void 0, void 0, function* () {
|
16940
16996
|
return adapter.askDevicePermission(constrain);
|
16941
16997
|
})
|
16942
16998
|
}));
|
@@ -18290,7 +18346,7 @@ const AddPeopleButton = (props) => {
|
|
18290
18346
|
|
18291
18347
|
// Copyright (c) Microsoft Corporation.
|
18292
18348
|
// Licensed under the MIT license.
|
18293
|
-
var __awaiter$
|
18349
|
+
var __awaiter$a = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
18294
18350
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
18295
18351
|
return new (P || (P = Promise))(function (resolve, reject) {
|
18296
18352
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -18326,7 +18382,7 @@ const PeoplePaneContent = (props) => {
|
|
18326
18382
|
setDrawerMenuItems
|
18327
18383
|
]);
|
18328
18384
|
const participantListProps = React.useMemo(() => {
|
18329
|
-
const onRemoveAParticipant = (participantId) => __awaiter$
|
18385
|
+
const onRemoveAParticipant = (participantId) => __awaiter$a(void 0, void 0, void 0, function* () { return onRemoveParticipant(participantId); });
|
18330
18386
|
return Object.assign(Object.assign({}, participantListDefaultProps), {
|
18331
18387
|
// Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked
|
18332
18388
|
onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,
|
@@ -18525,7 +18581,7 @@ const useMinMaxDragPosition = (modalLayerHostId, rtl) => {
|
|
18525
18581
|
return { minDragPosition: minDragPosition, maxDragPosition: maxDragPosition };
|
18526
18582
|
};
|
18527
18583
|
|
18528
|
-
var __awaiter$
|
18584
|
+
var __awaiter$9 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
18529
18585
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
18530
18586
|
return new (P || (P = Promise))(function (resolve, reject) {
|
18531
18587
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -18555,11 +18611,11 @@ const CallPane = (props) => {
|
|
18555
18611
|
/**
|
18556
18612
|
* In a Call Composite when a participant is removed, we must remove them from the call.
|
18557
18613
|
*/
|
18558
|
-
const removeParticipantFromCall = (participantId) => __awaiter$
|
18614
|
+
const removeParticipantFromCall = (participantId) => __awaiter$9(void 0, void 0, void 0, function* () {
|
18559
18615
|
yield props.callAdapter.removeParticipant(participantId);
|
18560
18616
|
});
|
18561
18617
|
/* @conditional-compile-remove(PSTN-calls) */
|
18562
|
-
const addParticipantToCall = (participant, options) => __awaiter$
|
18618
|
+
const addParticipantToCall = (participant, options) => __awaiter$9(void 0, void 0, void 0, function* () {
|
18563
18619
|
yield props.callAdapter.addParticipant(participant, options);
|
18564
18620
|
});
|
18565
18621
|
const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId, props.rtl);
|
@@ -18791,10 +18847,10 @@ const useParticipantChangedAnnouncement = () => {
|
|
18791
18847
|
const whoJoined = currentParticipants.filter((p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
18792
18848
|
const whoLeft = previousParticipants.current.filter((p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
|
18793
18849
|
if (whoJoined.length > 0) {
|
18794
|
-
resetAnnoucement(
|
18850
|
+
resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));
|
18795
18851
|
}
|
18796
18852
|
if (whoLeft.length > 0) {
|
18797
|
-
resetAnnoucement(
|
18853
|
+
resetAnnoucement(createAnnouncementString('left', whoLeft, strings));
|
18798
18854
|
}
|
18799
18855
|
// Update cached value at the end.
|
18800
18856
|
previousParticipants.current = currentParticipants;
|
@@ -18804,7 +18860,7 @@ const useParticipantChangedAnnouncement = () => {
|
|
18804
18860
|
/**
|
18805
18861
|
* Generates the announcement string for when a participant joins or leaves a call.
|
18806
18862
|
*/
|
18807
|
-
const
|
18863
|
+
const createAnnouncementString = (direction, participants, strings) => {
|
18808
18864
|
var _a, _b, _c;
|
18809
18865
|
/**
|
18810
18866
|
* If there are no participants return empty string.
|
@@ -19477,7 +19533,7 @@ const localPreviewTileStyle = {
|
|
19477
19533
|
|
19478
19534
|
// Copyright (c) Microsoft Corporation.
|
19479
19535
|
// Licensed under the MIT license.
|
19480
|
-
var __awaiter$
|
19536
|
+
var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
19481
19537
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
19482
19538
|
return new (P || (P = Promise))(function (resolve, reject) {
|
19483
19539
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -19497,7 +19553,7 @@ const LocalPreview = (props) => {
|
|
19497
19553
|
const { audio: microphonePermissionGranted, video: cameraPermissionGranted } = useSelector$1(devicePermissionSelector);
|
19498
19554
|
const isLocalMicrophoneEnabled = useSelector$1(getLocalMicrophoneEnabled);
|
19499
19555
|
const adapter = useAdapter();
|
19500
|
-
const onToggleMic = React.useCallback(() => __awaiter$
|
19556
|
+
const onToggleMic = React.useCallback(() => __awaiter$8(void 0, void 0, void 0, function* () {
|
19501
19557
|
isLocalMicrophoneEnabled ? adapter.mute() : adapter.unmute();
|
19502
19558
|
}), [adapter, isLocalMicrophoneEnabled]);
|
19503
19559
|
const hasNoDevices = devicesButtonProps.cameras.length === 0 &&
|
@@ -20267,7 +20323,7 @@ const holdPaneContentStyles = {
|
|
20267
20323
|
|
20268
20324
|
// Copyright (c) Microsoft Corporation.
|
20269
20325
|
// Licensed under the MIT license.
|
20270
|
-
var __awaiter$
|
20326
|
+
var __awaiter$7 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20271
20327
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20272
20328
|
return new (P || (P = Promise))(function (resolve, reject) {
|
20273
20329
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -20302,7 +20358,7 @@ const HoldPane = () => {
|
|
20302
20358
|
React__default['default'].createElement(react.Stack, { horizontal: true, styles: holdPaneContentStyles },
|
20303
20359
|
React__default['default'].createElement(react.Text, { styles: holdPaneTimerStyles }, elapsedTime),
|
20304
20360
|
React__default['default'].createElement(react.Text, { styles: holdPaneLabelStyles }, strings.holdScreenLabel),
|
20305
|
-
React__default['default'].createElement(react.PrimaryButton, { text: !resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel, ariaLabel: !resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel, styles: resumeButtonStyles, disabled: resumingCall, onClick: () => __awaiter$
|
20361
|
+
React__default['default'].createElement(react.PrimaryButton, { text: !resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel, ariaLabel: !resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel, styles: resumeButtonStyles, disabled: resumingCall, onClick: () => __awaiter$7(void 0, void 0, void 0, function* () {
|
20306
20362
|
setResumingCall(true);
|
20307
20363
|
try {
|
20308
20364
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
@@ -20420,7 +20476,7 @@ const containerStyles = {
|
|
20420
20476
|
|
20421
20477
|
// Copyright (c) Microsoft Corporation.
|
20422
20478
|
// Licensed under the MIT license.
|
20423
|
-
var __awaiter$
|
20479
|
+
var __awaiter$6 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20424
20480
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20425
20481
|
return new (P || (P = Promise))(function (resolve, reject) {
|
20426
20482
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -20522,7 +20578,7 @@ const CallComposite = (props) => {
|
|
20522
20578
|
/* @conditional-compile-remove(rooms) */
|
20523
20579
|
const roleHint = adapter.getState().roleHint;
|
20524
20580
|
React.useEffect(() => {
|
20525
|
-
(() => __awaiter$
|
20581
|
+
(() => __awaiter$6(void 0, void 0, void 0, function* () {
|
20526
20582
|
const constrain = getQueryOptions({
|
20527
20583
|
/* @conditional-compile-remove(rooms) */ role: roleHint
|
20528
20584
|
});
|
@@ -20663,6 +20719,50 @@ const createHandlers = (callClient, callAgent, deviceManager, call) => {
|
|
20663
20719
|
throw new Error('Unhandled agent type');
|
20664
20720
|
};
|
20665
20721
|
|
20722
|
+
// Copyright (c) Microsoft Corporation.
|
20723
|
+
// Licensed under the MIT license.
|
20724
|
+
var __awaiter$5 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
20725
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
20726
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
20727
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
20728
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
20729
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
20730
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
20731
|
+
});
|
20732
|
+
};
|
20733
|
+
/**
|
20734
|
+
* @private
|
20735
|
+
*/
|
20736
|
+
const createProfileStateModifier = (onFetchProfile, notifyUpdate) => {
|
20737
|
+
const cachedDisplayName = {};
|
20738
|
+
return (state) => {
|
20739
|
+
var _a;
|
20740
|
+
const originalParticipants = (_a = state.call) === null || _a === void 0 ? void 0 : _a.remoteParticipants;
|
20741
|
+
(() => __awaiter$5(void 0, void 0, void 0, function* () {
|
20742
|
+
let shouldNotifyUpdates = false;
|
20743
|
+
for (const key in originalParticipants) {
|
20744
|
+
if (cachedDisplayName[key]) {
|
20745
|
+
continue;
|
20746
|
+
}
|
20747
|
+
const profile = yield onFetchProfile(key);
|
20748
|
+
if ((profile === null || profile === void 0 ? void 0 : profile.displayName) && originalParticipants[key].displayName !== (profile === null || profile === void 0 ? void 0 : profile.displayName)) {
|
20749
|
+
cachedDisplayName[key] = profile === null || profile === void 0 ? void 0 : profile.displayName;
|
20750
|
+
}
|
20751
|
+
shouldNotifyUpdates = true;
|
20752
|
+
}
|
20753
|
+
// notify update only when there is a change, which most likely will trigger modifier and setState again
|
20754
|
+
shouldNotifyUpdates && notifyUpdate();
|
20755
|
+
}))();
|
20756
|
+
const participantsModifier = createParticipantModifier((id, participant) => {
|
20757
|
+
if (cachedDisplayName[id]) {
|
20758
|
+
return Object.assign(Object.assign({}, participant), { displayName: cachedDisplayName[id] });
|
20759
|
+
}
|
20760
|
+
return undefined;
|
20761
|
+
});
|
20762
|
+
return participantsModifier(state);
|
20763
|
+
};
|
20764
|
+
};
|
20765
|
+
|
20666
20766
|
// Copyright (c) Microsoft Corporation.
|
20667
20767
|
// Licensed under the MIT license.
|
20668
20768
|
var __awaiter$4 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
@@ -20696,6 +20796,11 @@ class CallContext {
|
|
20696
20796
|
};
|
20697
20797
|
this.emitter.setMaxListeners((_b = options === null || options === void 0 ? void 0 : options.maxListeners) !== null && _b !== void 0 ? _b : 50);
|
20698
20798
|
this.bindPublicMethods();
|
20799
|
+
this.displayNameModifier = (options === null || options === void 0 ? void 0 : options.onFetchProfile)
|
20800
|
+
? createProfileStateModifier(options.onFetchProfile, () => {
|
20801
|
+
this.setState(this.getState());
|
20802
|
+
})
|
20803
|
+
: undefined;
|
20699
20804
|
}
|
20700
20805
|
bindPublicMethods() {
|
20701
20806
|
/* @conditional-compile-remove(unsupported-browser) */
|
@@ -20708,7 +20813,7 @@ class CallContext {
|
|
20708
20813
|
this.emitter.off('stateChanged', handler);
|
20709
20814
|
}
|
20710
20815
|
setState(state) {
|
20711
|
-
this.state = state;
|
20816
|
+
this.state = this.displayNameModifier ? this.displayNameModifier(state) : state;
|
20712
20817
|
this.emitter.emit('stateChanged', this.state);
|
20713
20818
|
}
|
20714
20819
|
getState() {
|
@@ -21276,14 +21381,14 @@ const createAzureCommunicationCallAdapter = ({ userId, displayName, credential,
|
|
21276
21381
|
/**
|
21277
21382
|
* @beta
|
21278
21383
|
*/
|
21279
|
-
const createTeamsCallAdapter = ({ userId, credential, locator }) => __awaiter$4(void 0, void 0, void 0, function* () {
|
21384
|
+
const createTeamsCallAdapter = ({ userId, credential, locator, options }) => __awaiter$4(void 0, void 0, void 0, function* () {
|
21280
21385
|
const callClient = createStatefulCallClient({
|
21281
21386
|
userId
|
21282
21387
|
});
|
21283
21388
|
const callAgent = yield callClient.createTeamsCallAgent(credential, {
|
21284
21389
|
undefined
|
21285
21390
|
});
|
21286
|
-
const adapter = createTeamsCallAdapterFromClient(callClient, callAgent, locator);
|
21391
|
+
const adapter = createTeamsCallAdapterFromClient(callClient, callAgent, locator, options);
|
21287
21392
|
return adapter;
|
21288
21393
|
});
|
21289
21394
|
/**
|
@@ -21334,6 +21439,11 @@ const useAzureCommunicationCallAdapterGeneric = (args, afterCreate, beforeDispos
|
|
21334
21439
|
if (!displayName) {
|
21335
21440
|
throw new Error('Unreachable code, displayName already checked above.');
|
21336
21441
|
}
|
21442
|
+
// This is just the type check to ensure that roleHint is defined.
|
21443
|
+
/* @conditional-compile-remove(rooms) */
|
21444
|
+
if (options && !('roleHint' in options)) {
|
21445
|
+
throw new Error('Unreachable code, provided a options without roleHint.');
|
21446
|
+
}
|
21337
21447
|
newAdapter = (yield createAzureCommunicationCallAdapter({
|
21338
21448
|
credential,
|
21339
21449
|
displayName: displayName,
|
@@ -21344,11 +21454,17 @@ const useAzureCommunicationCallAdapterGeneric = (args, afterCreate, beforeDispos
|
|
21344
21454
|
}));
|
21345
21455
|
}
|
21346
21456
|
else if (adapterKind === 'Teams') {
|
21457
|
+
// This is just the type check to ensure that roleHint is defined.
|
21458
|
+
/* @conditional-compile-remove(teams-identity-support)) */
|
21459
|
+
if (options && !('onFetchProfile' in options)) {
|
21460
|
+
throw new Error('Unreachable code, provided a options without roleHint.');
|
21461
|
+
}
|
21347
21462
|
/* @conditional-compile-remove(teams-identity-support) */
|
21348
21463
|
newAdapter = (yield createTeamsCallAdapter({
|
21349
21464
|
credential,
|
21350
21465
|
locator: locator,
|
21351
|
-
userId: userId
|
21466
|
+
userId: userId,
|
21467
|
+
options
|
21352
21468
|
}));
|
21353
21469
|
}
|
21354
21470
|
else {
|
@@ -21377,6 +21493,7 @@ const useAzureCommunicationCallAdapterGeneric = (args, afterCreate, beforeDispos
|
|
21377
21493
|
/* @conditional-compile-remove(PSTN-calls) */
|
21378
21494
|
alternateCallerId,
|
21379
21495
|
/* @conditional-compile-remove(rooms) */
|
21496
|
+
/* @conditional-compile-remove(teams-identity-support) */
|
21380
21497
|
options
|
21381
21498
|
]);
|
21382
21499
|
// Dispose any existing adapter when the component unmounts.
|
@@ -21492,11 +21609,11 @@ const createAzureCommunicationCallAdapterFromClient = (callClient, callAgent, lo
|
|
21492
21609
|
*
|
21493
21610
|
* @beta
|
21494
21611
|
*/
|
21495
|
-
const createTeamsCallAdapterFromClient = (callClient, callAgent, locator) => __awaiter$4(void 0, void 0, void 0, function* () {
|
21612
|
+
const createTeamsCallAdapterFromClient = (callClient, callAgent, locator, options) => __awaiter$4(void 0, void 0, void 0, function* () {
|
21496
21613
|
const deviceManager = (yield callClient.getDeviceManager());
|
21497
21614
|
/* @conditional-compile-remove(unsupported-browser) */
|
21498
21615
|
yield callClient.feature(communicationCalling.Features.DebugInfo).getEnvironmentInfo();
|
21499
|
-
return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager);
|
21616
|
+
return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);
|
21500
21617
|
});
|
21501
21618
|
const isCallError = (e) => {
|
21502
21619
|
return e['target'] !== undefined && e['innerError'] !== undefined;
|