@azure/communication-react 1.4.3-alpha-202212170012.0 → 1.4.3-alpha-202212180014.0
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 +16 -32
- package/dist/dist-cjs/communication-react/index.js +232 -159
- 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/react-components/src/components/RemoteVideoTile.d.ts +3 -0
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +8 -3
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +22 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +12 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +31 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +6 -2
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +6 -2
- 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/CallAdapter.d.ts +0 -26
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
- 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 +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -12
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +45 -25
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -0
- package/package.json +8 -8
@@ -202,7 +202,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
202
202
|
// Copyright (c) Microsoft Corporation.
|
203
203
|
// Licensed under the MIT license.
|
204
204
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
205
|
-
var telemetryVersion = '1.4.3-alpha-
|
205
|
+
var telemetryVersion = '1.4.3-alpha-202212180014.0';
|
206
206
|
|
207
207
|
// Copyright (c) Microsoft Corporation.
|
208
208
|
/**
|
@@ -418,7 +418,7 @@ const getEnvironmentInfo = (state) => {
|
|
418
418
|
|
419
419
|
// Copyright (c) Microsoft Corporation.
|
420
420
|
// Licensed under the MIT license.
|
421
|
-
var __awaiter$
|
421
|
+
var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
422
422
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
423
423
|
return new (P || (P = Promise))(function (resolve, reject) {
|
424
424
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -456,7 +456,7 @@ const _isPreviewOn = (deviceManager) => {
|
|
456
456
|
*
|
457
457
|
* @private
|
458
458
|
*/
|
459
|
-
const disposeAllLocalPreviewViews = (callClient) => __awaiter$
|
459
|
+
const disposeAllLocalPreviewViews = (callClient) => __awaiter$C(void 0, void 0, void 0, function* () {
|
460
460
|
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
461
461
|
for (const view of unparentedViews) {
|
462
462
|
yield callClient.disposeView(undefined, undefined, view);
|
@@ -580,7 +580,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
|
|
580
580
|
|
581
581
|
// Copyright (c) Microsoft Corporation.
|
582
582
|
// Licensed under the MIT license.
|
583
|
-
var __awaiter$
|
583
|
+
var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
584
584
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
585
585
|
return new (P || (P = Promise))(function (resolve, reject) {
|
586
586
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -601,7 +601,7 @@ const areStreamsEqual = (prevStream, newStream) => {
|
|
601
601
|
* @private
|
602
602
|
*/
|
603
603
|
const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callClient, deviceManager, call) => {
|
604
|
-
const onStartLocalVideo = () => __awaiter$
|
604
|
+
const onStartLocalVideo = () => __awaiter$B(void 0, void 0, void 0, function* () {
|
605
605
|
// Before the call object creates a stream, dispose of any local preview streams.
|
606
606
|
// @TODO: is there any way to parent the unparented view to the call object instead
|
607
607
|
// of disposing and creating a new stream?
|
@@ -621,7 +621,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
621
621
|
yield call.startVideo(stream);
|
622
622
|
}
|
623
623
|
});
|
624
|
-
const onStopLocalVideo = (stream) => __awaiter$
|
624
|
+
const onStopLocalVideo = (stream) => __awaiter$B(void 0, void 0, void 0, function* () {
|
625
625
|
const callId = call === null || call === void 0 ? void 0 : call.id;
|
626
626
|
if (!callId) {
|
627
627
|
return;
|
@@ -634,7 +634,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
634
634
|
});
|
635
635
|
}
|
636
636
|
});
|
637
|
-
const onToggleCamera = (options) => __awaiter$
|
637
|
+
const onToggleCamera = (options) => __awaiter$B(void 0, void 0, void 0, function* () {
|
638
638
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
639
639
|
if (previewOn && call && call.state === 'Connecting') {
|
640
640
|
// This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
@@ -682,19 +682,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
682
682
|
}
|
683
683
|
}
|
684
684
|
});
|
685
|
-
const onSelectMicrophone = (device) => __awaiter$
|
685
|
+
const onSelectMicrophone = (device) => __awaiter$B(void 0, void 0, void 0, function* () {
|
686
686
|
if (!deviceManager) {
|
687
687
|
return;
|
688
688
|
}
|
689
689
|
return deviceManager.selectMicrophone(device);
|
690
690
|
});
|
691
|
-
const onSelectSpeaker = (device) => __awaiter$
|
691
|
+
const onSelectSpeaker = (device) => __awaiter$B(void 0, void 0, void 0, function* () {
|
692
692
|
if (!deviceManager) {
|
693
693
|
return;
|
694
694
|
}
|
695
695
|
return deviceManager.selectSpeaker(device);
|
696
696
|
});
|
697
|
-
const onSelectCamera = (device, options) => __awaiter$
|
697
|
+
const onSelectCamera = (device, options) => __awaiter$B(void 0, void 0, void 0, function* () {
|
698
698
|
if (!deviceManager) {
|
699
699
|
return;
|
700
700
|
}
|
@@ -717,19 +717,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
717
717
|
}, options);
|
718
718
|
}
|
719
719
|
});
|
720
|
-
const onToggleMicrophone = () => __awaiter$
|
720
|
+
const onToggleMicrophone = () => __awaiter$B(void 0, void 0, void 0, function* () {
|
721
721
|
if (!call || !_isInCall(call.state)) {
|
722
722
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
723
723
|
}
|
724
724
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
725
725
|
});
|
726
|
-
const onStartScreenShare = () => __awaiter$
|
727
|
-
const onStopScreenShare = () => __awaiter$
|
728
|
-
const onToggleScreenShare = () => __awaiter$
|
729
|
-
const onHangUp = (forEveryone) => __awaiter$
|
726
|
+
const onStartScreenShare = () => __awaiter$B(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
727
|
+
const onStopScreenShare = () => __awaiter$B(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
728
|
+
const onToggleScreenShare = () => __awaiter$B(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
729
|
+
const onHangUp = (forEveryone) => __awaiter$B(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
730
730
|
/* @conditional-compile-remove(PSTN-calls) */
|
731
|
-
const onToggleHold = () => __awaiter$
|
732
|
-
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$
|
731
|
+
const onToggleHold = () => __awaiter$B(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()); });
|
732
|
+
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$B(void 0, void 0, void 0, function* () {
|
733
733
|
var _a;
|
734
734
|
if (!call || call.localVideoStreams.length === 0) {
|
735
735
|
return;
|
@@ -745,7 +745,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
745
745
|
const { view } = (_a = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _a !== void 0 ? _a : {};
|
746
746
|
return view ? { view } : undefined;
|
747
747
|
});
|
748
|
-
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$
|
748
|
+
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$B(void 0, void 0, void 0, function* () {
|
749
749
|
if (!call) {
|
750
750
|
return;
|
751
751
|
}
|
@@ -773,7 +773,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
773
773
|
}
|
774
774
|
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
775
775
|
});
|
776
|
-
const onDisposeRemoteStreamView = (userId) => __awaiter$
|
776
|
+
const onDisposeRemoteStreamView = (userId) => __awaiter$B(void 0, void 0, void 0, function* () {
|
777
777
|
if (!call) {
|
778
778
|
return;
|
779
779
|
}
|
@@ -794,7 +794,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
794
794
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
795
795
|
}
|
796
796
|
});
|
797
|
-
const onDisposeLocalStreamView = () => __awaiter$
|
797
|
+
const onDisposeLocalStreamView = () => __awaiter$B(void 0, void 0, void 0, function* () {
|
798
798
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
799
799
|
const callState = call && callClient.getState().calls[call.id];
|
800
800
|
const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
@@ -807,12 +807,12 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
807
807
|
yield disposeAllLocalPreviewViews(callClient);
|
808
808
|
});
|
809
809
|
/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
|
810
|
-
const onSendDtmfTone = (dtmfTone) => __awaiter$
|
810
|
+
const onSendDtmfTone = (dtmfTone) => __awaiter$B(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
|
811
811
|
const notImplemented = () => {
|
812
812
|
throw new Error('Not implemented, cannot call a method from an abstract object');
|
813
813
|
};
|
814
814
|
/* @conditional-compile-remove(call-readiness) */
|
815
|
-
const askDevicePermission = (constrain) => __awaiter$
|
815
|
+
const askDevicePermission = (constrain) => __awaiter$B(void 0, void 0, void 0, function* () {
|
816
816
|
if (deviceManager) {
|
817
817
|
yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
|
818
818
|
}
|
@@ -846,7 +846,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
846
846
|
|
847
847
|
// Copyright (c) Microsoft Corporation.
|
848
848
|
// Licensed under the MIT license.
|
849
|
-
var __awaiter$
|
849
|
+
var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
850
850
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
851
851
|
return new (P || (P = Promise))(function (resolve, reject) {
|
852
852
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -873,7 +873,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
873
873
|
return callAgent ? callAgent.startCall(participants, options) : undefined;
|
874
874
|
},
|
875
875
|
/* @conditional-compile-remove(PSTN-calls) */
|
876
|
-
onAddParticipant: (userId, options) => __awaiter$
|
876
|
+
onAddParticipant: (userId, options) => __awaiter$A(void 0, void 0, void 0, function* () {
|
877
877
|
const participant = _toCommunicationIdentifier(userId);
|
878
878
|
if (communicationCommon.isPhoneNumberIdentifier(participant)) {
|
879
879
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
|
@@ -881,7 +881,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
881
881
|
else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
|
882
882
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
883
883
|
}
|
884
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
884
|
+
}), onRemoveParticipant: (userId) => __awaiter$A(void 0, void 0, void 0, function* () {
|
885
885
|
const participant = _toCommunicationIdentifier(userId);
|
886
886
|
yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
|
887
887
|
}) });
|
@@ -889,7 +889,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
889
889
|
|
890
890
|
// Copyright (c) Microsoft Corporation.
|
891
891
|
// Licensed under the MIT license.
|
892
|
-
var __awaiter$
|
892
|
+
var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
893
893
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
894
894
|
return new (P || (P = Promise))(function (resolve, reject) {
|
895
895
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -921,7 +921,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
921
921
|
},
|
922
922
|
/* @conditional-compile-remove(teams-identity-support) */
|
923
923
|
/* @conditional-compile-remove(PSTN-calls) */
|
924
|
-
onAddParticipant: (userId, options) => __awaiter$
|
924
|
+
onAddParticipant: (userId, options) => __awaiter$z(void 0, void 0, void 0, function* () {
|
925
925
|
const participant = _toCommunicationIdentifier(userId);
|
926
926
|
/* @conditional-compile-remove(teams-identity-support) */
|
927
927
|
const threadId = options === null || options === void 0 ? void 0 : options.threadId;
|
@@ -934,7 +934,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
934
934
|
}
|
935
935
|
/* @conditional-compile-remove(teams-identity-support) */
|
936
936
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
937
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
937
|
+
}), onRemoveParticipant: (userId) => __awaiter$z(void 0, void 0, void 0, function* () {
|
938
938
|
const participant = _toCommunicationIdentifier(userId);
|
939
939
|
if (communicationCommon.isCommunicationUserIdentifier(participant)) {
|
940
940
|
throw new Error('CommunicationIdentifier in Teams call is not supported!');
|
@@ -946,7 +946,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
946
946
|
|
947
947
|
// Copyright (c) Microsoft Corporation.
|
948
948
|
// Licensed under the MIT license.
|
949
|
-
var __awaiter$
|
949
|
+
var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
950
950
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
951
951
|
return new (P || (P = Promise))(function (resolve, reject) {
|
952
952
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -995,13 +995,13 @@ class ProxyDeviceManager {
|
|
995
995
|
this.selectCamera = (videoDeviceInfo) => {
|
996
996
|
this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
|
997
997
|
};
|
998
|
-
this.videoDevicesUpdated = () => __awaiter$
|
998
|
+
this.videoDevicesUpdated = () => __awaiter$y(this, void 0, void 0, function* () {
|
999
999
|
// Device Manager always has a camera with '' name if there are no real camera devices available.
|
1000
1000
|
// We don't want to show that in the UI.
|
1001
1001
|
const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
|
1002
1002
|
this._context.setDeviceManagerCameras(dedupeById(realCameras));
|
1003
1003
|
});
|
1004
|
-
this.audioDevicesUpdated = () => __awaiter$
|
1004
|
+
this.audioDevicesUpdated = () => __awaiter$y(this, void 0, void 0, function* () {
|
1005
1005
|
this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
|
1006
1006
|
this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
|
1007
1007
|
});
|
@@ -1208,7 +1208,7 @@ class CallIdHistory {
|
|
1208
1208
|
|
1209
1209
|
// Copyright (c) Microsoft Corporation.
|
1210
1210
|
// Licensed under the MIT license.
|
1211
|
-
var __awaiter$
|
1211
|
+
var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1212
1212
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1213
1213
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1214
1214
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1737,7 +1737,7 @@ class CallContext$2 {
|
|
1737
1737
|
* @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
|
1738
1738
|
*/
|
1739
1739
|
withAsyncErrorTeedToState(action, target) {
|
1740
|
-
return (...args) => __awaiter$
|
1740
|
+
return (...args) => __awaiter$x(this, void 0, void 0, function* () {
|
1741
1741
|
try {
|
1742
1742
|
return yield action(...args);
|
1743
1743
|
}
|
@@ -2014,7 +2014,7 @@ class RemoteVideoStreamSubscriber {
|
|
2014
2014
|
|
2015
2015
|
// Copyright (c) Microsoft Corporation.
|
2016
2016
|
// Licensed under the MIT license.
|
2017
|
-
var __awaiter$
|
2017
|
+
var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2018
2018
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
2019
2019
|
return new (P || (P = Promise))(function (resolve, reject) {
|
2020
2020
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2024,7 +2024,7 @@ var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
2024
2024
|
});
|
2025
2025
|
};
|
2026
2026
|
function createViewRemoteVideo(context, internalContext, callId, participantId, stream, options) {
|
2027
|
-
return __awaiter$
|
2027
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
2028
2028
|
// Render RemoteVideoStream that is part of a Call
|
2029
2029
|
const streamId = stream.id;
|
2030
2030
|
let participantKey;
|
@@ -2132,7 +2132,7 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
|
|
2132
2132
|
});
|
2133
2133
|
}
|
2134
2134
|
function createViewLocalVideo(context, internalContext, callId, options) {
|
2135
|
-
return __awaiter$
|
2135
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
2136
2136
|
_logEvent(callingStatefulLogger, {
|
2137
2137
|
name: EventNames.START_LOCAL_STREAM_RENDERING,
|
2138
2138
|
level: 'info',
|
@@ -2250,7 +2250,7 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
2250
2250
|
});
|
2251
2251
|
}
|
2252
2252
|
function createViewUnparentedVideo(context, internalContext, stream, options) {
|
2253
|
-
return __awaiter$
|
2253
|
+
return __awaiter$w(this, void 0, void 0, function* () {
|
2254
2254
|
const renderInfo = internalContext.getUnparentedRenderInfo(stream);
|
2255
2255
|
if (renderInfo && renderInfo.status === 'Rendered') {
|
2256
2256
|
console.warn('Unparented LocalVideoStream is already rendered');
|
@@ -2500,7 +2500,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
|
|
2500
2500
|
// Render LocalVideoStream that is not part of a Call
|
2501
2501
|
// 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).
|
2502
2502
|
// We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
|
2503
|
-
return context.withAsyncErrorTeedToState(() => __awaiter$
|
2503
|
+
return context.withAsyncErrorTeedToState(() => __awaiter$w(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
|
2504
2504
|
}
|
2505
2505
|
else {
|
2506
2506
|
_logEvent(callingStatefulLogger, {
|
@@ -2919,7 +2919,7 @@ class CallSubscriber {
|
|
2919
2919
|
|
2920
2920
|
// Copyright (c) Microsoft Corporation.
|
2921
2921
|
// Licensed under the MIT license.
|
2922
|
-
var __awaiter$
|
2922
|
+
var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2923
2923
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
2924
2924
|
return new (P || (P = Promise))(function (resolve, reject) {
|
2925
2925
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2939,14 +2939,14 @@ class ProxyIncomingCall {
|
|
2939
2939
|
switch (prop) {
|
2940
2940
|
case 'accept': {
|
2941
2941
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2942
|
-
return __awaiter$
|
2942
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
2943
2943
|
return yield target.accept(...args);
|
2944
2944
|
});
|
2945
2945
|
}, 'IncomingCall.accept');
|
2946
2946
|
}
|
2947
2947
|
case 'reject': {
|
2948
2948
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2949
|
-
return __awaiter$
|
2949
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
2950
2950
|
return yield target.reject(...args);
|
2951
2951
|
});
|
2952
2952
|
}, 'IncomingCall.reject');
|
@@ -3183,7 +3183,7 @@ const clearCallRelatedState = (context, internalContext) => {
|
|
3183
3183
|
|
3184
3184
|
// Copyright (c) Microsoft Corporation.
|
3185
3185
|
// Licensed under the MIT license.
|
3186
|
-
var __awaiter$
|
3186
|
+
var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3187
3187
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3188
3188
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3189
3189
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3209,56 +3209,56 @@ class ProxyCallCommon {
|
|
3209
3209
|
switch (prop) {
|
3210
3210
|
case 'mute': {
|
3211
3211
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3212
|
-
return __awaiter$
|
3212
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3213
3213
|
return yield target.mute(...args);
|
3214
3214
|
});
|
3215
3215
|
}, 'Call.mute');
|
3216
3216
|
}
|
3217
3217
|
case 'unmute': {
|
3218
3218
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3219
|
-
return __awaiter$
|
3219
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3220
3220
|
return yield target.unmute(...args);
|
3221
3221
|
});
|
3222
3222
|
}, 'Call.unmute');
|
3223
3223
|
}
|
3224
3224
|
case 'startVideo': {
|
3225
3225
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3226
|
-
return __awaiter$
|
3226
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3227
3227
|
return yield target.startVideo(...args);
|
3228
3228
|
});
|
3229
3229
|
}, 'Call.startVideo');
|
3230
3230
|
}
|
3231
3231
|
case 'stopVideo': {
|
3232
3232
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3233
|
-
return __awaiter$
|
3233
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3234
3234
|
return yield target.stopVideo(...args);
|
3235
3235
|
});
|
3236
3236
|
}, 'Call.stopVideo');
|
3237
3237
|
}
|
3238
3238
|
case 'startScreenSharing': {
|
3239
3239
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3240
|
-
return __awaiter$
|
3240
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3241
3241
|
return yield target.startScreenSharing(...args);
|
3242
3242
|
});
|
3243
3243
|
}, 'Call.startScreenSharing');
|
3244
3244
|
}
|
3245
3245
|
case 'stopScreenSharing': {
|
3246
3246
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3247
|
-
return __awaiter$
|
3247
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3248
3248
|
return yield target.stopScreenSharing(...args);
|
3249
3249
|
});
|
3250
3250
|
}, 'Call.stopScreenSharing');
|
3251
3251
|
}
|
3252
3252
|
case 'hold': {
|
3253
3253
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3254
|
-
return __awaiter$
|
3254
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3255
3255
|
return yield target.hold(...args);
|
3256
3256
|
});
|
3257
3257
|
}, 'Call.hold');
|
3258
3258
|
}
|
3259
3259
|
case 'resume': {
|
3260
3260
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3261
|
-
return __awaiter$
|
3261
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
3262
3262
|
return yield target.resume(...args);
|
3263
3263
|
});
|
3264
3264
|
}, 'Call.resume');
|
@@ -3271,7 +3271,7 @@ class ProxyCallCommon {
|
|
3271
3271
|
|
3272
3272
|
// Copyright (c) Microsoft Corporation.
|
3273
3273
|
// Licensed under the MIT license.
|
3274
|
-
var __awaiter$
|
3274
|
+
var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3275
3275
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3276
3276
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3277
3277
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3285,7 +3285,7 @@ class ProxyCall extends ProxyCallCommon {
|
|
3285
3285
|
switch (prop) {
|
3286
3286
|
case 'addParticipant': {
|
3287
3287
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3288
|
-
return __awaiter$
|
3288
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3289
3289
|
return yield target.addParticipant(...args);
|
3290
3290
|
});
|
3291
3291
|
}, 'Call.addParticipant');
|
@@ -3482,7 +3482,7 @@ class InternalCallContext {
|
|
3482
3482
|
|
3483
3483
|
// Copyright (c) Microsoft Corporation.
|
3484
3484
|
// Licensed under the MIT license.
|
3485
|
-
var __awaiter$
|
3485
|
+
var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3486
3486
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3487
3487
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3488
3488
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3497,7 +3497,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
|
|
3497
3497
|
switch (prop) {
|
3498
3498
|
case 'addParticipant': {
|
3499
3499
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3500
|
-
return __awaiter$
|
3500
|
+
return __awaiter$s(this, void 0, void 0, function* () {
|
3501
3501
|
return yield target.addParticipant(...args);
|
3502
3502
|
});
|
3503
3503
|
}, 'TeamsCall.addParticipant');
|
@@ -3612,7 +3612,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
|
|
3612
3612
|
|
3613
3613
|
// Copyright (c) Microsoft Corporation.
|
3614
3614
|
// Licensed under the MIT license.
|
3615
|
-
var __awaiter$
|
3615
|
+
var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3616
3616
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3617
3617
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3618
3618
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3634,7 +3634,7 @@ class ProxyVideoStreamRendererView {
|
|
3634
3634
|
get(target, prop) {
|
3635
3635
|
switch (prop) {
|
3636
3636
|
case 'updateScalingMode': {
|
3637
|
-
return (...args) => __awaiter$
|
3637
|
+
return (...args) => __awaiter$r(this, void 0, void 0, function* () {
|
3638
3638
|
yield target.updateScalingMode(...args);
|
3639
3639
|
this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
|
3640
3640
|
});
|
@@ -3655,7 +3655,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
|
|
3655
3655
|
|
3656
3656
|
// Copyright (c) Microsoft Corporation.
|
3657
3657
|
// Licensed under the MIT license.
|
3658
|
-
var __awaiter$
|
3658
|
+
var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3659
3659
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3660
3660
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3661
3661
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3677,7 +3677,7 @@ class ProxyCallClient {
|
|
3677
3677
|
get(target, prop) {
|
3678
3678
|
switch (prop) {
|
3679
3679
|
case 'createCallAgent': {
|
3680
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3680
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$q(this, void 0, void 0, function* () {
|
3681
3681
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3682
3682
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3683
3683
|
// callAgent if the createCallAgent succeeds.
|
@@ -3690,7 +3690,7 @@ class ProxyCallClient {
|
|
3690
3690
|
}), 'CallClient.createCallAgent');
|
3691
3691
|
}
|
3692
3692
|
case 'createTeamsCallAgent': {
|
3693
|
-
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
3693
|
+
/* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$q(this, void 0, void 0, function* () {
|
3694
3694
|
// createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
|
3695
3695
|
// callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
|
3696
3696
|
// callAgent if the createCallAgent succeeds.
|
@@ -3703,7 +3703,7 @@ class ProxyCallClient {
|
|
3703
3703
|
}), 'CallClient.createTeamsCallAgent');
|
3704
3704
|
}
|
3705
3705
|
case 'getDeviceManager': {
|
3706
|
-
return this._context.withAsyncErrorTeedToState(() => __awaiter$
|
3706
|
+
return this._context.withAsyncErrorTeedToState(() => __awaiter$q(this, void 0, void 0, function* () {
|
3707
3707
|
// As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
|
3708
3708
|
// DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
|
3709
3709
|
// throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
|
@@ -3732,7 +3732,7 @@ class ProxyCallClient {
|
|
3732
3732
|
/**
|
3733
3733
|
* add to this object if we want to proxy anything else off the DebugInfo feature object.
|
3734
3734
|
*/
|
3735
|
-
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$
|
3735
|
+
return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$q(this, void 0, void 0, function* () {
|
3736
3736
|
const environmentInfo = yield feature.getEnvironmentInfo();
|
3737
3737
|
this._context.setEnvironmentInfo(environmentInfo);
|
3738
3738
|
return environmentInfo;
|
@@ -3785,7 +3785,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
|
|
3785
3785
|
});
|
3786
3786
|
Object.defineProperty(callClient, 'createView', {
|
3787
3787
|
configurable: false,
|
3788
|
-
value: (callId, participantId, stream, options) => __awaiter$
|
3788
|
+
value: (callId, participantId, stream, options) => __awaiter$q(void 0, void 0, void 0, function* () {
|
3789
3789
|
const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
|
3790
3790
|
const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
|
3791
3791
|
// We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
|
@@ -4014,7 +4014,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
4014
4014
|
wordBreak: 'break-word'
|
4015
4015
|
});
|
4016
4016
|
|
4017
|
-
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateConnecting:"Calling...",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"};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={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneDomainPermissionsRequest={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 CameraDomainPermissionsRequest={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 MicrophoneDomainPermissionsRequest={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 CameraAndMicrophoneDomainPermissionsCheck={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 CameraDomainPermissionsCheck={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 MicrophoneDomainPermissionsCheck={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 CameraAndMicrophoneDomainPermissionsDenied={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 CameraAndMicrophoneDomainPermissionsDeniedSafari={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 CameraDomainPermissionsDenied={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 MicrophoneDomainPermissionsDenied={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 CameraDomainPermissionsDeniedSafari={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 MicrophoneDomainPermissionsDeniedSafari={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,CameraAndMicrophoneDomainPermissionsRequest:CameraAndMicrophoneDomainPermissionsRequest,CameraDomainPermissionsRequest:CameraDomainPermissionsRequest,MicrophoneDomainPermissionsRequest:MicrophoneDomainPermissionsRequest,CameraAndMicrophoneDomainPermissionsCheck:CameraAndMicrophoneDomainPermissionsCheck,CameraDomainPermissionsCheck:CameraDomainPermissionsCheck,MicrophoneDomainPermissionsCheck:MicrophoneDomainPermissionsCheck,CameraAndMicrophoneDomainPermissionsDenied:CameraAndMicrophoneDomainPermissionsDenied,CameraAndMicrophoneDomainPermissionsDeniedSafari:CameraAndMicrophoneDomainPermissionsDeniedSafari,CameraDomainPermissionsDenied:CameraDomainPermissionsDenied,MicrophoneDomainPermissionsDenied:MicrophoneDomainPermissionsDenied,CameraDomainPermissionsDeniedSafari:CameraDomainPermissionsDeniedSafari,MicrophoneDomainPermissionsDeniedSafari:MicrophoneDomainPermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
4017
|
+
var participantItem$d={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateConnecting:"Calling...",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",unpinParticipantForMe:"Unpin for me"};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={participantStateConnecting:"Calling...",participantStateRinging:"Calling...",participantStateHold:"On hold"};var CameraAndMicrophoneDomainPermissionsRequest={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 CameraDomainPermissionsRequest={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 MicrophoneDomainPermissionsRequest={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 CameraAndMicrophoneDomainPermissionsCheck={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 CameraDomainPermissionsCheck={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 MicrophoneDomainPermissionsCheck={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 CameraAndMicrophoneDomainPermissionsDenied={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 CameraAndMicrophoneDomainPermissionsDeniedSafari={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 CameraDomainPermissionsDenied={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 MicrophoneDomainPermissionsDenied={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 CameraDomainPermissionsDeniedSafari={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 MicrophoneDomainPermissionsDeniedSafari={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,CameraAndMicrophoneDomainPermissionsRequest:CameraAndMicrophoneDomainPermissionsRequest,CameraDomainPermissionsRequest:CameraDomainPermissionsRequest,MicrophoneDomainPermissionsRequest:MicrophoneDomainPermissionsRequest,CameraAndMicrophoneDomainPermissionsCheck:CameraAndMicrophoneDomainPermissionsCheck,CameraDomainPermissionsCheck:CameraDomainPermissionsCheck,MicrophoneDomainPermissionsCheck:MicrophoneDomainPermissionsCheck,CameraAndMicrophoneDomainPermissionsDenied:CameraAndMicrophoneDomainPermissionsDenied,CameraAndMicrophoneDomainPermissionsDeniedSafari:CameraAndMicrophoneDomainPermissionsDeniedSafari,CameraDomainPermissionsDenied:CameraDomainPermissionsDenied,MicrophoneDomainPermissionsDenied:MicrophoneDomainPermissionsDenied,CameraDomainPermissionsDeniedSafari:CameraDomainPermissionsDeniedSafari,MicrophoneDomainPermissionsDeniedSafari:MicrophoneDomainPermissionsDeniedSafari,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
4018
4018
|
|
4019
4019
|
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 DomainPermissions$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,DomainPermissions:DomainPermissions$c,UnsupportedBrowser:UnsupportedBrowser$d,BrowserPermissionDenied:BrowserPermissionDenied$c,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$c};
|
4020
4020
|
|
@@ -5163,7 +5163,11 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
5163
5163
|
/* @conditional-compile-remove(pinned-participants) */
|
5164
5164
|
VideoTileScaleFit: React__default['default'].createElement(reactIcons.ScaleFit20Regular, null),
|
5165
5165
|
/* @conditional-compile-remove(pinned-participants) */
|
5166
|
-
VideoTileScaleFill: React__default['default'].createElement(reactIcons.ScaleFill20Regular, null)
|
5166
|
+
VideoTileScaleFill: React__default['default'].createElement(reactIcons.ScaleFill20Regular, null),
|
5167
|
+
/* @conditional-compile-remove(pinned-participants) */
|
5168
|
+
PinParticipant: React__default['default'].createElement(reactIcons.Pin20Regular, null),
|
5169
|
+
/* @conditional-compile-remove(pinned-participants) */
|
5170
|
+
UnpinParticipant: React__default['default'].createElement(reactIcons.PinOff20Regular, null)
|
5167
5171
|
};
|
5168
5172
|
|
5169
5173
|
// Copyright (c) Microsoft Corporation.
|
@@ -6595,7 +6599,7 @@ const chatMessageActionMenuProps = (menuProps) => {
|
|
6595
6599
|
return actionMenuProps;
|
6596
6600
|
};
|
6597
6601
|
|
6598
|
-
var __awaiter$
|
6602
|
+
var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6599
6603
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6600
6604
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6601
6605
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -6620,7 +6624,7 @@ const _FileDownloadCards = (props) => {
|
|
6620
6624
|
var _a, _b;
|
6621
6625
|
return (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile) !== null && _b !== void 0 ? _b : localeStrings.downloadFile;
|
6622
6626
|
}, [(_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadFile, localeStrings.downloadFile]);
|
6623
|
-
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$
|
6627
|
+
const fileDownloadHandler = React.useCallback((userId, file) => __awaiter$p(void 0, void 0, void 0, function* () {
|
6624
6628
|
if (!props.downloadHandler) {
|
6625
6629
|
window.open(file.url, '_blank', 'noopener,noreferrer');
|
6626
6630
|
}
|
@@ -6768,7 +6772,7 @@ const ChatMessageComponentAsMessageBubble = React__default['default'].memo(Messa
|
|
6768
6772
|
|
6769
6773
|
// Copyright (c) Microsoft Corporation.
|
6770
6774
|
// Licensed under the MIT license.
|
6771
|
-
var __awaiter$
|
6775
|
+
var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6772
6776
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6773
6777
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6774
6778
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -6802,7 +6806,7 @@ const ChatMessageComponent = (props) => {
|
|
6802
6806
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
6803
6807
|
}
|
6804
6808
|
else if (isEditing) {
|
6805
|
-
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$
|
6809
|
+
return (React__default['default'].createElement(ChatMessageComponentAsEditBox, { message: message, inlineEditButtons: props.inlineAcceptRejectEditButtons, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$o(void 0, void 0, void 0, function* () {
|
6806
6810
|
props.onUpdateMessage &&
|
6807
6811
|
props.message.messageId &&
|
6808
6812
|
(yield props.onUpdateMessage(props.message.messageId, text, metadata, options));
|
@@ -6901,7 +6905,7 @@ const getParticipantsWhoHaveReadMessage = (message, readReceiptsBySenderId) => {
|
|
6901
6905
|
|
6902
6906
|
// Copyright (c) Microsoft Corporation.
|
6903
6907
|
// Licensed under the MIT license.
|
6904
|
-
var __awaiter$
|
6908
|
+
var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
6905
6909
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
6906
6910
|
return new (P || (P = Promise))(function (resolve, reject) {
|
6907
6911
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -7129,7 +7133,7 @@ const MessageThread = (props) => {
|
|
7129
7133
|
setChatMessagesInitialized(chatMessagesInitialized);
|
7130
7134
|
};
|
7131
7135
|
// we try to only send those message status if user is scrolled to the bottom.
|
7132
|
-
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$
|
7136
|
+
const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$n(void 0, void 0, void 0, function* () {
|
7133
7137
|
if (!isAtBottomOfScrollRef.current ||
|
7134
7138
|
!document.hasFocus() ||
|
7135
7139
|
!messagesRef.current ||
|
@@ -7180,7 +7184,7 @@ const MessageThread = (props) => {
|
|
7180
7184
|
setIsAtBottomOfScrollRef(atBottom);
|
7181
7185
|
}, [scrollToBottom, sendMessageStatusIfAtBottom]);
|
7182
7186
|
// Infinite scrolling + threadInitialize function
|
7183
|
-
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$
|
7187
|
+
const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$n(void 0, void 0, void 0, function* () {
|
7184
7188
|
if (!isLoadingChatMessagesRef.current) {
|
7185
7189
|
if (onLoadPreviousChatMessages) {
|
7186
7190
|
isLoadingChatMessagesRef.current = true;
|
@@ -7945,7 +7949,7 @@ const useRemoteVideoStreamLifecycleMaintainer = (props) => {
|
|
7945
7949
|
*/
|
7946
7950
|
const useVideoTileContextualMenuProps = (props) => {
|
7947
7951
|
var _a;
|
7948
|
-
const { view, strings } = props;
|
7952
|
+
const { view, strings, isPinned, onPinParticipant, onUnpinParticipant } = props;
|
7949
7953
|
const scalingMode = React.useMemo(() => {
|
7950
7954
|
var _a;
|
7951
7955
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -7956,6 +7960,26 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
7956
7960
|
]);
|
7957
7961
|
const contextualMenuProps = React.useMemo(() => {
|
7958
7962
|
const items = [];
|
7963
|
+
if (isPinned !== undefined) {
|
7964
|
+
if (isPinned && onUnpinParticipant && (strings === null || strings === void 0 ? void 0 : strings.unpinParticipantForMe)) {
|
7965
|
+
items.push({
|
7966
|
+
key: 'unpin',
|
7967
|
+
text: strings.unpinParticipantForMe,
|
7968
|
+
iconProps: { iconName: 'UnpinParticipant', styles: { root: { lineHeight: '1rem' } } },
|
7969
|
+
onClick: () => onUnpinParticipant === null || onUnpinParticipant === void 0 ? void 0 : onUnpinParticipant(props.remoteParticipant.userId),
|
7970
|
+
'data-ui-id': 'video-tile-unpin-participant-button'
|
7971
|
+
});
|
7972
|
+
}
|
7973
|
+
if (!isPinned && onPinParticipant && (strings === null || strings === void 0 ? void 0 : strings.pinParticipantForMe)) {
|
7974
|
+
items.push({
|
7975
|
+
key: 'pin',
|
7976
|
+
text: strings.pinParticipantForMe,
|
7977
|
+
iconProps: { iconName: 'PinParticipant', styles: { root: { lineHeight: '1rem' } } },
|
7978
|
+
onClick: () => onPinParticipant === null || onPinParticipant === void 0 ? void 0 : onPinParticipant(props.remoteParticipant.userId),
|
7979
|
+
'data-ui-id': 'video-tile-pin-participant-button'
|
7980
|
+
});
|
7981
|
+
}
|
7982
|
+
}
|
7959
7983
|
if (scalingMode) {
|
7960
7984
|
if (scalingMode === 'Crop' && (strings === null || strings === void 0 ? void 0 : strings.fitRemoteParticipantToFrame)) {
|
7961
7985
|
items.push({
|
@@ -7984,7 +8008,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
7984
8008
|
return undefined;
|
7985
8009
|
}
|
7986
8010
|
return { items };
|
7987
|
-
}, [scalingMode, strings, view]);
|
8011
|
+
}, [scalingMode, strings, view, isPinned, onPinParticipant, onUnpinParticipant, props.remoteParticipant.userId]);
|
7988
8012
|
return contextualMenuProps;
|
7989
8013
|
};
|
7990
8014
|
|
@@ -8368,7 +8392,7 @@ const bracketedParticipantString = (participantString, withBrackets) => {
|
|
8368
8392
|
*/
|
8369
8393
|
const _RemoteVideoTile = React__default['default'].memo((props) => {
|
8370
8394
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
8371
|
-
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, showRemoteVideoTileContextualMenu = true } = props;
|
8395
|
+
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, showRemoteVideoTileContextualMenu = true, isPinned, onPinParticipant, onUnpinParticipant } = props;
|
8372
8396
|
const remoteVideoStreamProps = React.useMemo(() => ({
|
8373
8397
|
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored,
|
8374
8398
|
isScreenSharingOn,
|
@@ -8396,7 +8420,10 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
8396
8420
|
remoteParticipant,
|
8397
8421
|
view: createVideoStreamResult === null || createVideoStreamResult === void 0 ? void 0 : createVideoStreamResult.view,
|
8398
8422
|
/* @conditional-compile-remove(pinned-participants) */
|
8399
|
-
strings: Object.assign({}, props.strings)
|
8423
|
+
strings: Object.assign({}, props.strings),
|
8424
|
+
isPinned,
|
8425
|
+
onPinParticipant,
|
8426
|
+
onUnpinParticipant
|
8400
8427
|
});
|
8401
8428
|
const videoTileContextualMenuProps = React.useMemo(() => {
|
8402
8429
|
if (!showRemoteVideoTileContextualMenu) {
|
@@ -8417,7 +8444,9 @@ const _RemoteVideoTile = React__default['default'].memo((props) => {
|
|
8417
8444
|
return (React__default['default'].createElement(VideoTile, Object.assign({ key: userId, userId: userId, renderElement: renderVideoStreamElement, displayName: remoteParticipant.displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
|
8418
8445
|
/* @conditional-compile-remove(one-to-n-calling) */
|
8419
8446
|
/* @conditional-compile-remove(PSTN-calls) */
|
8420
|
-
participantState: participantState }, videoTileContextualMenuProps
|
8447
|
+
participantState: participantState }, videoTileContextualMenuProps, {
|
8448
|
+
/* @conditional-compile-remove(pinned-participants) */
|
8449
|
+
isPinned: props.isPinned })));
|
8421
8450
|
});
|
8422
8451
|
const videoTileContextualMenuPropsTrampoline = (contextualMenuProps) => {
|
8423
8452
|
if (!contextualMenuProps) {
|
@@ -9994,7 +10023,11 @@ const DEFAULT_MAX_REMOTE_VIDEO_STREAMS = 4;
|
|
9994
10023
|
*/
|
9995
10024
|
const VideoGallery = (props) => {
|
9996
10025
|
var _a, _b, _c;
|
9997
|
-
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps
|
10026
|
+
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps,
|
10027
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10028
|
+
onPinParticipant: onPinParticipantHandler,
|
10029
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10030
|
+
onUnpinParticipant: onUnpinParticipantHandler } = props;
|
9998
10031
|
const ids = useIdentifiers();
|
9999
10032
|
const theme = useTheme();
|
10000
10033
|
const localeStrings = useLocale$1().strings.videoGallery;
|
@@ -10005,7 +10038,7 @@ const VideoGallery = (props) => {
|
|
10005
10038
|
const containerHeight = _useContainerHeight(containerRef);
|
10006
10039
|
const isNarrow = containerWidth ? isNarrowWidth(containerWidth) : false;
|
10007
10040
|
/* @conditional-compile-remove(pinned-participants) */
|
10008
|
-
const [pinnedParticipantsState,
|
10041
|
+
const [pinnedParticipantsState, setPinnedParticipantsState] = React__default['default'].useState([]);
|
10009
10042
|
/* @conditional-compile-remove(pinned-participants) */
|
10010
10043
|
// Use pinnedParticipants from props but if it is not defined use the maintained state of pinned participants
|
10011
10044
|
const pinnedParticipants = (_a = props.pinnedParticipants) !== null && _a !== void 0 ? _a : pinnedParticipantsState;
|
@@ -10050,13 +10083,33 @@ const VideoGallery = (props) => {
|
|
10050
10083
|
theme.effects.roundedCorner4,
|
10051
10084
|
/* @conditional-compile-remove(rooms) */ permissions.cameraButton
|
10052
10085
|
]);
|
10086
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10087
|
+
const onPinParticipant = React.useCallback((userId) => {
|
10088
|
+
if (!pinnedParticipantsState.includes(userId)) {
|
10089
|
+
setPinnedParticipantsState(pinnedParticipantsState.concat(userId));
|
10090
|
+
}
|
10091
|
+
onPinParticipantHandler === null || onPinParticipantHandler === void 0 ? void 0 : onPinParticipantHandler(userId);
|
10092
|
+
}, [pinnedParticipantsState, setPinnedParticipantsState, onPinParticipantHandler]);
|
10093
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10094
|
+
const onUnpinParticipant = React.useCallback((userId) => {
|
10095
|
+
setPinnedParticipantsState(pinnedParticipantsState.filter((p) => p !== userId));
|
10096
|
+
onUnpinParticipantHandler === null || onUnpinParticipantHandler === void 0 ? void 0 : onUnpinParticipantHandler(userId);
|
10097
|
+
}, [pinnedParticipantsState, setPinnedParticipantsState, onUnpinParticipantHandler]);
|
10053
10098
|
const defaultOnRenderVideoTile = React.useCallback((participant, isVideoParticipant) => {
|
10054
10099
|
const remoteVideoStream = participant.videoStream;
|
10100
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10101
|
+
const isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId);
|
10055
10102
|
return (React__default['default'].createElement(_RemoteVideoTile, { key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: isVideoParticipant ? remoteVideoViewOptions : undefined, onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
|
10056
10103
|
/* @conditional-compile-remove(PSTN-calls) */
|
10057
10104
|
participantState: participant.state,
|
10058
10105
|
/* @conditional-compile-remove(pinned-participants) */
|
10059
|
-
showRemoteVideoTileContextualMenu: props.showRemoteVideoTileContextualMenu
|
10106
|
+
showRemoteVideoTileContextualMenu: props.showRemoteVideoTileContextualMenu,
|
10107
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10108
|
+
onPinParticipant: onPinParticipant,
|
10109
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10110
|
+
onUnpinParticipant: onUnpinParticipant,
|
10111
|
+
/* @conditional-compile-remove(pinned-participants) */
|
10112
|
+
isPinned: isPinned }));
|
10060
10113
|
}, [
|
10061
10114
|
onCreateRemoteStreamView,
|
10062
10115
|
onDisposeRemoteStreamView,
|
@@ -10064,8 +10117,10 @@ const VideoGallery = (props) => {
|
|
10064
10117
|
onRenderAvatar,
|
10065
10118
|
showMuteIndicator,
|
10066
10119
|
strings,
|
10067
|
-
/* @conditional-compile-remove(pinned-participants) */
|
10068
|
-
|
10120
|
+
/* @conditional-compile-remove(pinned-participants) */ props.showRemoteVideoTileContextualMenu,
|
10121
|
+
/* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
|
10122
|
+
/* @conditional-compile-remove(pinned-participants) */ onPinParticipant,
|
10123
|
+
/* @conditional-compile-remove(pinned-participants) */ onUnpinParticipant
|
10069
10124
|
]);
|
10070
10125
|
const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
|
10071
10126
|
const localScreenShareStreamComponent = React__default['default'].createElement(LocalScreenShare, { localParticipant: localParticipant });
|
@@ -10482,7 +10537,7 @@ const DevicesButton = (props) => {
|
|
10482
10537
|
|
10483
10538
|
// Copyright (c) Microsoft Corporation.
|
10484
10539
|
// Licensed under the MIT license.
|
10485
|
-
var __awaiter$
|
10540
|
+
var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10486
10541
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10487
10542
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10488
10543
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -10520,7 +10575,7 @@ const CameraButton = (props) => {
|
|
10520
10575
|
const toggleAnnouncerString = React.useCallback((isCameraOn) => {
|
10521
10576
|
setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
|
10522
10577
|
}, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
|
10523
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
10578
|
+
const onToggleClick = React.useCallback(() => __awaiter$m(void 0, void 0, void 0, function* () {
|
10524
10579
|
// Throttle click on camera, need to await onToggleCamera then allow another click
|
10525
10580
|
if (onToggleCamera) {
|
10526
10581
|
setWaitForCamera(true);
|
@@ -10652,7 +10707,7 @@ const lightThemeCallButtonStyles = {
|
|
10652
10707
|
|
10653
10708
|
// Copyright (c) Microsoft Corporation.
|
10654
10709
|
// Licensed under the MIT license.
|
10655
|
-
var __awaiter$
|
10710
|
+
var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
10656
10711
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10657
10712
|
return new (P || (P = Promise))(function (resolve, reject) {
|
10658
10713
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -10693,7 +10748,7 @@ const MicrophoneButton = (props) => {
|
|
10693
10748
|
const toggleAnnouncerString = React.useCallback((isMicOn) => {
|
10694
10749
|
setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
|
10695
10750
|
}, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
|
10696
|
-
const onToggleClick = React.useCallback(() => __awaiter$
|
10751
|
+
const onToggleClick = React.useCallback(() => __awaiter$l(void 0, void 0, void 0, function* () {
|
10697
10752
|
if (onToggleMicrophone) {
|
10698
10753
|
try {
|
10699
10754
|
yield onToggleMicrophone();
|
@@ -11731,7 +11786,7 @@ const formatPhoneNumber = (phoneNumber) => {
|
|
11731
11786
|
|
11732
11787
|
// Copyright (c) Microsoft Corporation.
|
11733
11788
|
// Licensed under the MIT license.
|
11734
|
-
var __awaiter$
|
11789
|
+
var __awaiter$k = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
11735
11790
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
11736
11791
|
return new (P || (P = Promise))(function (resolve, reject) {
|
11737
11792
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -11773,10 +11828,10 @@ const DialpadButton = (props) => {
|
|
11773
11828
|
const theme = react.useTheme();
|
11774
11829
|
const { digit, index, onClick, onLongPress, isMobile = false } = props;
|
11775
11830
|
const useLongPressProps = React__default['default'].useMemo(() => ({
|
11776
|
-
onClick: () => __awaiter$
|
11831
|
+
onClick: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
11777
11832
|
onClick(digit, index);
|
11778
11833
|
}),
|
11779
|
-
onLongPress: () => __awaiter$
|
11834
|
+
onLongPress: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
11780
11835
|
onLongPress(digit, index);
|
11781
11836
|
}),
|
11782
11837
|
touchEventsOnly: isMobile
|
@@ -12657,7 +12712,7 @@ const findConditionalCompiledSelector = (component) => {
|
|
12657
12712
|
|
12658
12713
|
// Copyright (c) Microsoft Corporation.
|
12659
12714
|
// Licensed under the MIT license.
|
12660
|
-
var __awaiter$
|
12715
|
+
var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
12661
12716
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
12662
12717
|
return new (P || (P = Promise))(function (resolve, reject) {
|
12663
12718
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -12680,35 +12735,35 @@ const createDefaultChatHandlers = memoizeOne__default['default']((chatClient, ch
|
|
12680
12735
|
let messageIterator = undefined;
|
12681
12736
|
let readReceiptIterator = undefined;
|
12682
12737
|
return {
|
12683
|
-
onSendMessage: (content, options) => __awaiter$
|
12738
|
+
onSendMessage: (content, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12684
12739
|
const sendMessageRequest = {
|
12685
12740
|
content,
|
12686
12741
|
senderDisplayName: chatClient.getState().displayName
|
12687
12742
|
};
|
12688
12743
|
yield chatThreadClient.sendMessage(sendMessageRequest, options);
|
12689
12744
|
}),
|
12690
|
-
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$
|
12745
|
+
onUpdateMessage: (messageId, content, metadata, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12691
12746
|
const updatedMetadata = metadata ? Object.assign({}, metadata) : {};
|
12692
12747
|
updatedMetadata['fileSharingMetadata'] = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachedFilesMetadata) || []);
|
12693
12748
|
yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
|
12694
12749
|
}),
|
12695
|
-
onDeleteMessage: (messageId) => __awaiter$
|
12750
|
+
onDeleteMessage: (messageId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12696
12751
|
yield chatThreadClient.deleteMessage(messageId);
|
12697
12752
|
}),
|
12698
12753
|
// This handler is designed for chatThread to consume
|
12699
|
-
onMessageSeen: (chatMessageId) => __awaiter$
|
12754
|
+
onMessageSeen: (chatMessageId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12700
12755
|
yield chatThreadClient.sendReadReceipt({ chatMessageId });
|
12701
12756
|
}),
|
12702
|
-
onTyping: () => __awaiter$
|
12757
|
+
onTyping: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
12703
12758
|
yield chatThreadClient.sendTypingNotification();
|
12704
12759
|
}),
|
12705
|
-
onRemoveParticipant: (userId) => __awaiter$
|
12760
|
+
onRemoveParticipant: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12706
12761
|
yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
|
12707
12762
|
}),
|
12708
|
-
updateThreadTopicName: (topicName) => __awaiter$
|
12763
|
+
updateThreadTopicName: (topicName) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12709
12764
|
yield chatThreadClient.updateTopic(topicName);
|
12710
12765
|
}),
|
12711
|
-
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$
|
12766
|
+
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$j(void 0, void 0, void 0, function* () {
|
12712
12767
|
var _a, _b, _c;
|
12713
12768
|
if (messageIterator === undefined) {
|
12714
12769
|
// Lazy definition so that errors in the method call are reported correctly.
|
@@ -13445,7 +13500,7 @@ const chatStatefulLogger = logger.createClientLogger('communication-react:chat-s
|
|
13445
13500
|
|
13446
13501
|
// Copyright (c) Microsoft Corporation.
|
13447
13502
|
// Licensed under the MIT license.
|
13448
|
-
var __awaiter$
|
13503
|
+
var __awaiter$i = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
13449
13504
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13450
13505
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13451
13506
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -13720,7 +13775,7 @@ class ChatContext$1 {
|
|
13720
13775
|
* @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
|
13721
13776
|
*/
|
13722
13777
|
withAsyncErrorTeedToState(f, target) {
|
13723
|
-
return (...args) => __awaiter$
|
13778
|
+
return (...args) => __awaiter$i(this, void 0, void 0, function* () {
|
13724
13779
|
try {
|
13725
13780
|
return yield f(...args);
|
13726
13781
|
}
|
@@ -13827,7 +13882,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
|
13827
13882
|
|
13828
13883
|
// Copyright (c) Microsoft Corporation.
|
13829
13884
|
// Licensed under the MIT license.
|
13830
|
-
var __awaiter$
|
13885
|
+
var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
13831
13886
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
13832
13887
|
return new (P || (P = Promise))(function (resolve, reject) {
|
13833
13888
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -13911,7 +13966,7 @@ class EventSubscriber {
|
|
13911
13966
|
this.fetchLastParticipantMessage(event.threadId, 'participantAdded');
|
13912
13967
|
};
|
13913
13968
|
// This is a hot fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK
|
13914
|
-
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$
|
13969
|
+
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$h(this, void 0, void 0, function* () {
|
13915
13970
|
var e_1, _a;
|
13916
13971
|
try {
|
13917
13972
|
for (var _b = __asyncValues$1(this.chatClient
|
@@ -13997,7 +14052,7 @@ class EventSubscriber {
|
|
13997
14052
|
|
13998
14053
|
// Copyright (c) Microsoft Corporation.
|
13999
14054
|
// Licensed under the MIT license.
|
14000
|
-
var __awaiter$
|
14055
|
+
var __awaiter$g = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14001
14056
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14002
14057
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14003
14058
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14019,7 +14074,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
14019
14074
|
const threadsIterator = iteratorCreator(...args);
|
14020
14075
|
return {
|
14021
14076
|
next() {
|
14022
|
-
return __awaiter$
|
14077
|
+
return __awaiter$g(this, void 0, void 0, function* () {
|
14023
14078
|
const result = yield threadsIterator.next();
|
14024
14079
|
if (!result.done && result.value) {
|
14025
14080
|
decorateFn(result.value, context);
|
@@ -14034,7 +14089,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
14034
14089
|
const pages = threadsIterator.byPage(settings);
|
14035
14090
|
return {
|
14036
14091
|
next() {
|
14037
|
-
return __awaiter$
|
14092
|
+
return __awaiter$g(this, void 0, void 0, function* () {
|
14038
14093
|
const result = yield pages.next();
|
14039
14094
|
const page = result.value;
|
14040
14095
|
if (!result.done && result.value) {
|
@@ -14118,7 +14173,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
|
|
14118
14173
|
|
14119
14174
|
// Copyright (c) Microsoft Corporation.
|
14120
14175
|
// Licensed under the MIT license.
|
14121
|
-
var __awaiter$
|
14176
|
+
var __awaiter$f = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14122
14177
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14123
14178
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14124
14179
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14137,14 +14192,14 @@ class ProxyChatThreadClient {
|
|
14137
14192
|
return createDecoratedListMessages(chatThreadClient, this._context);
|
14138
14193
|
}
|
14139
14194
|
case 'getMessage': {
|
14140
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14195
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14141
14196
|
const message = yield chatThreadClient.getMessage(...args);
|
14142
14197
|
this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
|
14143
14198
|
return message;
|
14144
14199
|
}), 'ChatThreadClient.getMessage');
|
14145
14200
|
}
|
14146
14201
|
case 'sendMessage': {
|
14147
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14202
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14148
14203
|
// Retry logic?
|
14149
14204
|
const [request, options] = args;
|
14150
14205
|
const { content } = request;
|
@@ -14184,7 +14239,7 @@ class ProxyChatThreadClient {
|
|
14184
14239
|
}), 'ChatThreadClient.sendMessage');
|
14185
14240
|
}
|
14186
14241
|
case 'addParticipants': {
|
14187
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14242
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14188
14243
|
const result = yield chatThreadClient.addParticipants(...args);
|
14189
14244
|
const [addRequest] = args;
|
14190
14245
|
const participantsToAdd = addRequest.participants;
|
@@ -14193,7 +14248,7 @@ class ProxyChatThreadClient {
|
|
14193
14248
|
}), 'ChatThreadClient.addParticipants');
|
14194
14249
|
}
|
14195
14250
|
case 'deleteMessage': {
|
14196
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14251
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14197
14252
|
// DeleteMessage is able to either delete local one(for failed message) or synced message
|
14198
14253
|
const [messageId] = args;
|
14199
14254
|
if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
|
@@ -14211,12 +14266,12 @@ class ProxyChatThreadClient {
|
|
14211
14266
|
return createDecoratedListReadReceipts(chatThreadClient, this._context);
|
14212
14267
|
}
|
14213
14268
|
case 'sendTypingNotification': {
|
14214
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14269
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14215
14270
|
return yield chatThreadClient.sendTypingNotification(...args);
|
14216
14271
|
}), 'ChatThreadClient.sendTypingNotification');
|
14217
14272
|
}
|
14218
14273
|
case 'removeParticipant': {
|
14219
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14274
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14220
14275
|
const result = yield chatThreadClient.removeParticipant(...args);
|
14221
14276
|
const [removeIdentifier] = args;
|
14222
14277
|
this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
|
@@ -14224,7 +14279,7 @@ class ProxyChatThreadClient {
|
|
14224
14279
|
}), 'ChatThreadClient.removeParticipant');
|
14225
14280
|
}
|
14226
14281
|
case 'updateMessage': {
|
14227
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14282
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14228
14283
|
const result = yield chatThreadClient.updateMessage(...args);
|
14229
14284
|
const [messageId, updateOption] = args;
|
14230
14285
|
this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
|
@@ -14232,7 +14287,7 @@ class ProxyChatThreadClient {
|
|
14232
14287
|
}), 'ChatThreadClient.updateMessage');
|
14233
14288
|
}
|
14234
14289
|
case 'updateTopic': {
|
14235
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14290
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14236
14291
|
const result = yield chatThreadClient.updateTopic(...args);
|
14237
14292
|
const [topic] = args;
|
14238
14293
|
this._context.updateThreadTopic(chatThreadClient.threadId, topic);
|
@@ -14240,7 +14295,7 @@ class ProxyChatThreadClient {
|
|
14240
14295
|
}), 'ChatThreadClient.updateTopic');
|
14241
14296
|
}
|
14242
14297
|
case 'getProperties': {
|
14243
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
14298
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$f(this, void 0, void 0, function* () {
|
14244
14299
|
const result = yield chatThreadClient.getProperties(...args);
|
14245
14300
|
this._context.updateThread(chatThreadClient.threadId, result);
|
14246
14301
|
return result;
|
@@ -14277,7 +14332,7 @@ const createDecoratedListThreads = (chatClient, context) => {
|
|
14277
14332
|
|
14278
14333
|
// Copyright (c) Microsoft Corporation.
|
14279
14334
|
// Licensed under the MIT license.
|
14280
|
-
var __awaiter$
|
14335
|
+
var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
14281
14336
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
14282
14337
|
return new (P || (P = Promise))(function (resolve, reject) {
|
14283
14338
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -14296,7 +14351,7 @@ const proxyChatClient = {
|
|
14296
14351
|
switch (prop) {
|
14297
14352
|
case 'createChatThread': {
|
14298
14353
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14299
|
-
return __awaiter$
|
14354
|
+
return __awaiter$e(this, void 0, void 0, function* () {
|
14300
14355
|
const result = yield chatClient.createChatThread(...args);
|
14301
14356
|
const thread = result.chatThread;
|
14302
14357
|
if (thread) {
|
@@ -14309,7 +14364,7 @@ const proxyChatClient = {
|
|
14309
14364
|
}
|
14310
14365
|
case 'deleteChatThread': {
|
14311
14366
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14312
|
-
return __awaiter$
|
14367
|
+
return __awaiter$e(this, void 0, void 0, function* () {
|
14313
14368
|
const result = yield chatClient.deleteChatThread(...args);
|
14314
14369
|
context.deleteThread(args[0]);
|
14315
14370
|
return result;
|
@@ -14329,7 +14384,7 @@ const proxyChatClient = {
|
|
14329
14384
|
}
|
14330
14385
|
case 'startRealtimeNotifications': {
|
14331
14386
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14332
|
-
return __awaiter$
|
14387
|
+
return __awaiter$e(this, void 0, void 0, function* () {
|
14333
14388
|
const ret = yield chatClient.startRealtimeNotifications(...args);
|
14334
14389
|
if (!receiver.eventSubscriber) {
|
14335
14390
|
receiver.eventSubscriber = new EventSubscriber(chatClient, context);
|
@@ -14340,7 +14395,7 @@ const proxyChatClient = {
|
|
14340
14395
|
}
|
14341
14396
|
case 'stopRealtimeNotifications': {
|
14342
14397
|
return context.withAsyncErrorTeedToState(function (...args) {
|
14343
|
-
return __awaiter$
|
14398
|
+
return __awaiter$e(this, void 0, void 0, function* () {
|
14344
14399
|
const ret = yield chatClient.stopRealtimeNotifications(...args);
|
14345
14400
|
if (receiver.eventSubscriber) {
|
14346
14401
|
receiver.eventSubscriber.unsubscribe();
|
@@ -14946,6 +15001,16 @@ const END_CALL_PAGES = [
|
|
14946
15001
|
];
|
14947
15002
|
|
14948
15003
|
// Copyright (c) Microsoft Corporation.
|
15004
|
+
// Licensed under the MIT license.
|
15005
|
+
var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15006
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
15007
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
15008
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
15009
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
15010
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
15011
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
15012
|
+
});
|
15013
|
+
};
|
14949
15014
|
const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
|
14950
15015
|
const REMOTE_PSTN_USER_HUNG_UP = 560000;
|
14951
15016
|
const REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];
|
@@ -15048,7 +15113,7 @@ const getCallEndReason = (call) => {
|
|
15048
15113
|
*/
|
15049
15114
|
const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo) => {
|
15050
15115
|
/* @conditional-compile-remove(unsupported-browser) */
|
15051
|
-
if (isUnsupportedEnvironment(unsupportedBrowserInfo.
|
15116
|
+
if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
|
15052
15117
|
return 'unsupportedEnvironment';
|
15053
15118
|
}
|
15054
15119
|
if (call) {
|
@@ -15157,37 +15222,48 @@ const isDisabled$2 = (option) => {
|
|
15157
15222
|
return option.disabled;
|
15158
15223
|
};
|
15159
15224
|
/* @conditional-compile-remove(call-readiness) */
|
15225
|
+
/**
|
15226
|
+
* @returns Permissions state for the camera.
|
15227
|
+
*/
|
15228
|
+
const queryCameraPermissionFromPermissionsAPI = () => __awaiter$d(void 0, void 0, void 0, function* () {
|
15229
|
+
try {
|
15230
|
+
return (yield navigator.permissions.query({ name: 'camera' })).state;
|
15231
|
+
}
|
15232
|
+
catch (e) {
|
15233
|
+
console.info('permissions API is not supported by browser', e);
|
15234
|
+
return 'unsupported';
|
15235
|
+
}
|
15236
|
+
});
|
15237
|
+
/* @conditional-compile-remove(call-readiness) */
|
15238
|
+
/**
|
15239
|
+
* @returns Permissions state for the microphone.
|
15240
|
+
*/
|
15241
|
+
const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$d(void 0, void 0, void 0, function* () {
|
15242
|
+
try {
|
15243
|
+
return (yield navigator.permissions.query({ name: 'microphone' })).state;
|
15244
|
+
}
|
15245
|
+
catch (e) {
|
15246
|
+
console.info('permissions API is not supported by browser', e);
|
15247
|
+
return 'unsupported';
|
15248
|
+
}
|
15249
|
+
});
|
15250
|
+
/* @conditional-compile-remove(call-readiness) */
|
15160
15251
|
/**
|
15161
15252
|
*
|
15162
15253
|
* This function uses permission API to determine if device permission state is granted, prompt or denied
|
15163
15254
|
* @returns whether device permission state is granted, prompt or denied
|
15164
|
-
* If permission API is not supported on this browser,
|
15255
|
+
* If permission API is not supported on this browser, permission state is set to unsupported.
|
15165
15256
|
* @private
|
15166
15257
|
*/
|
15167
|
-
const getDevicePermissionState = (setVideoState, setAudioState) => {
|
15168
|
-
|
15169
|
-
|
15170
|
-
|
15171
|
-
setVideoState(result.state);
|
15172
|
-
})
|
15173
|
-
.catch(() => {
|
15174
|
-
setVideoState('unsupported');
|
15175
|
-
});
|
15176
|
-
navigator.permissions
|
15177
|
-
.query({ name: 'microphone' })
|
15178
|
-
.then((result) => {
|
15179
|
-
setAudioState(result.state);
|
15180
|
-
})
|
15181
|
-
.catch(() => {
|
15182
|
-
setAudioState('unsupported');
|
15183
|
-
});
|
15184
|
-
};
|
15258
|
+
const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$d(void 0, void 0, void 0, function* () {
|
15259
|
+
setVideoState(yield queryCameraPermissionFromPermissionsAPI());
|
15260
|
+
setAudioState(yield queryMicrophonePermissionFromPermissionsAPI());
|
15261
|
+
});
|
15185
15262
|
/* @conditional-compile-remove(unsupported-browser) */
|
15186
|
-
const isUnsupportedEnvironment = (
|
15187
|
-
return !!((
|
15188
|
-
((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.
|
15189
|
-
|
15190
|
-
(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false));
|
15263
|
+
const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOptedIn) => {
|
15264
|
+
return !!((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false ||
|
15265
|
+
((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false && !unsupportedBrowserVersionOptedIn) ||
|
15266
|
+
(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false);
|
15191
15267
|
};
|
15192
15268
|
/**
|
15193
15269
|
* Check if an object is identifier.
|
@@ -19992,23 +20068,14 @@ const HoldPage = (props) => {
|
|
19992
20068
|
* @internal
|
19993
20069
|
*/
|
19994
20070
|
const UnsupportedBrowserPage = (props) => {
|
19995
|
-
var _a;
|
19996
20071
|
/* @conditional-compile-remove(unsupported-browser) */
|
19997
20072
|
const { onTroubleshootingClick, environmentInfo } = props;
|
19998
20073
|
/* @conditional-compile-remove(unsupported-browser) */
|
19999
20074
|
const adapter = useAdapter();
|
20000
20075
|
/* @conditional-compile-remove(unsupported-browser) */
|
20001
|
-
const
|
20002
|
-
|
20003
|
-
|
20004
|
-
? undefined
|
20005
|
-
: unsupportedEnvironmentFeature === false || unsupportedEnvironmentFeature === undefined
|
20006
|
-
? undefined
|
20007
|
-
: unsupportedEnvironmentFeature.unsupportedBrowserVersionAllowed
|
20008
|
-
? () => {
|
20009
|
-
adapter.allowUnsupportedBrowserVersion();
|
20010
|
-
}
|
20011
|
-
: undefined;
|
20076
|
+
const onContinueClick = () => {
|
20077
|
+
adapter.allowUnsupportedBrowserVersion();
|
20078
|
+
};
|
20012
20079
|
/* @conditional-compile-remove(unsupported-browser) */
|
20013
20080
|
const locale = useLocale();
|
20014
20081
|
/* @conditional-compile-remove(unsupported-browser) */
|
@@ -20313,10 +20380,14 @@ class CallContext {
|
|
20313
20380
|
/* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: clientState.alternateCallerId,
|
20314
20381
|
/* @conditional-compile-remove(unsupported-browser) */ environmentInfo: clientState.environmentInfo,
|
20315
20382
|
/* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserVersionsAllowed: false,
|
20316
|
-
/* @conditional-compile-remove(unsupported-browser) */ features: options === null || options === void 0 ? void 0 : options.features,
|
20317
20383
|
/* @conditional-compile-remove(rooms) */ roleHint: options === null || options === void 0 ? void 0 : options.roleHint
|
20318
20384
|
};
|
20319
20385
|
this.emitter.setMaxListeners((_b = options === null || options === void 0 ? void 0 : options.maxListeners) !== null && _b !== void 0 ? _b : 50);
|
20386
|
+
this.bindPublicMethods();
|
20387
|
+
}
|
20388
|
+
bindPublicMethods() {
|
20389
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
20390
|
+
this.setAllowedUnsupportedBrowser.bind(this);
|
20320
20391
|
}
|
20321
20392
|
onStateChange(handler) {
|
20322
20393
|
this.emitter.on('stateChanged', handler);
|
@@ -20353,7 +20424,6 @@ class CallContext {
|
|
20353
20424
|
/* @conditional-compile-remove(unsupported-browser) */
|
20354
20425
|
const environmentInfo = {
|
20355
20426
|
environmentInfo: this.state.environmentInfo,
|
20356
|
-
features: this.state.features,
|
20357
20427
|
unsupportedBrowserVersionOptedIn: this.state.unsupportedBrowserVersionsAllowed
|
20358
20428
|
};
|
20359
20429
|
const newPage = getCallCompositePage(call, latestEndedCall,
|
@@ -20691,6 +20761,7 @@ class AzureCommunicationCallAdapter {
|
|
20691
20761
|
/* @conditional-compile-remove(unsupported-browser) */
|
20692
20762
|
allowUnsupportedBrowserVersion() {
|
20693
20763
|
this.context.setAllowedUnsupportedBrowser();
|
20764
|
+
this.context.updateClientState(this.callClient.getState());
|
20694
20765
|
}
|
20695
20766
|
startCall(participants, options) {
|
20696
20767
|
var _a, _b;
|
@@ -21698,7 +21769,9 @@ function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState)
|
|
21698
21769
|
isTeamsCall: callWithChatAdapterState.isTeamsCall,
|
21699
21770
|
latestErrors: callWithChatAdapterState.latestCallErrors,
|
21700
21771
|
/* @conditional-compile-remove(PSTN-calls) */
|
21701
|
-
alternateCallerId: callWithChatAdapterState.alternateCallerId
|
21772
|
+
alternateCallerId: callWithChatAdapterState.alternateCallerId,
|
21773
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
21774
|
+
environmentInfo: callWithChatAdapterState.environmentInfo
|
21702
21775
|
};
|
21703
21776
|
}
|
21704
21777
|
|