@azure/communication-react 1.4.2-alpha-202211300015.0 → 1.4.3-alpha-202212020014.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/CHANGELOG.stable.md +10 -1
- package/dist/communication-react.d.ts +80 -7
- package/dist/dist-cjs/communication-react/index.js +236 -89
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +4 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +2 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +14 -0
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Logger.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/Logger.js +1 -0
- package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +11 -4
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +33 -10
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.d.ts +19 -0
- package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +44 -0
- package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -0
- package/dist/dist-esm/communication-react/src/index.d.ts +4 -0
- package/dist/dist-esm/communication-react/src/index.js +4 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +5 -5
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +4 -23
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.d.ts +33 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +15 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.d.ts +30 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +29 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.d.ts +32 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +14 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/index.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/index.js +2 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/{UnsupportedBrowser.styles.d.ts → UnsupportedEnvironment.styles.d.ts} +1 -1
- package/dist/dist-esm/react-components/src/components/styles/{UnsupportedBrowser.styles.js → UnsupportedEnvironment.styles.js} +6 -4
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +6 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +11 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.js +2 -2
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +20 -7
- 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.js +8 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -1
- package/package.json +8 -8
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +0 -1
@@ -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.
|
205
|
+
var telemetryVersion = '1.4.3-alpha-202212020014.0';
|
206
206
|
|
207
207
|
// Copyright (c) Microsoft Corporation.
|
208
208
|
/**
|
@@ -411,7 +411,7 @@ const getCallState = (state, props) => { var _a; return (_a = state.calls[props.
|
|
411
411
|
|
412
412
|
// Copyright (c) Microsoft Corporation.
|
413
413
|
// Licensed under the MIT license.
|
414
|
-
var __awaiter$
|
414
|
+
var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
415
415
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
416
416
|
return new (P || (P = Promise))(function (resolve, reject) {
|
417
417
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -449,7 +449,7 @@ const _isPreviewOn = (deviceManager) => {
|
|
449
449
|
*
|
450
450
|
* @private
|
451
451
|
*/
|
452
|
-
const disposeAllLocalPreviewViews = (callClient) => __awaiter$
|
452
|
+
const disposeAllLocalPreviewViews = (callClient) => __awaiter$B(void 0, void 0, void 0, function* () {
|
453
453
|
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
454
454
|
for (const view of unparentedViews) {
|
455
455
|
yield callClient.disposeView(undefined, undefined, view);
|
@@ -573,7 +573,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
|
|
573
573
|
|
574
574
|
// Copyright (c) Microsoft Corporation.
|
575
575
|
// Licensed under the MIT license.
|
576
|
-
var __awaiter$
|
576
|
+
var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
577
577
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
578
578
|
return new (P || (P = Promise))(function (resolve, reject) {
|
579
579
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -594,7 +594,7 @@ const areStreamsEqual = (prevStream, newStream) => {
|
|
594
594
|
* @private
|
595
595
|
*/
|
596
596
|
const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callClient, deviceManager, call) => {
|
597
|
-
const onStartLocalVideo = () => __awaiter$
|
597
|
+
const onStartLocalVideo = () => __awaiter$A(void 0, void 0, void 0, function* () {
|
598
598
|
// Before the call object creates a stream, dispose of any local preview streams.
|
599
599
|
// @TODO: is there any way to parent the unparented view to the call object instead
|
600
600
|
// of disposing and creating a new stream?
|
@@ -614,7 +614,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
614
614
|
yield call.startVideo(stream);
|
615
615
|
}
|
616
616
|
});
|
617
|
-
const onStopLocalVideo = (stream) => __awaiter$
|
617
|
+
const onStopLocalVideo = (stream) => __awaiter$A(void 0, void 0, void 0, function* () {
|
618
618
|
const callId = call === null || call === void 0 ? void 0 : call.id;
|
619
619
|
if (!callId) {
|
620
620
|
return;
|
@@ -627,7 +627,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
627
627
|
});
|
628
628
|
}
|
629
629
|
});
|
630
|
-
const onToggleCamera = (options) => __awaiter$
|
630
|
+
const onToggleCamera = (options) => __awaiter$A(void 0, void 0, void 0, function* () {
|
631
631
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
632
632
|
if (previewOn && call && call.state === 'Connecting') {
|
633
633
|
// This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
@@ -675,19 +675,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
675
675
|
}
|
676
676
|
}
|
677
677
|
});
|
678
|
-
const onSelectMicrophone = (device) => __awaiter$
|
678
|
+
const onSelectMicrophone = (device) => __awaiter$A(void 0, void 0, void 0, function* () {
|
679
679
|
if (!deviceManager) {
|
680
680
|
return;
|
681
681
|
}
|
682
682
|
return deviceManager.selectMicrophone(device);
|
683
683
|
});
|
684
|
-
const onSelectSpeaker = (device) => __awaiter$
|
684
|
+
const onSelectSpeaker = (device) => __awaiter$A(void 0, void 0, void 0, function* () {
|
685
685
|
if (!deviceManager) {
|
686
686
|
return;
|
687
687
|
}
|
688
688
|
return deviceManager.selectSpeaker(device);
|
689
689
|
});
|
690
|
-
const onSelectCamera = (device, options) => __awaiter$
|
690
|
+
const onSelectCamera = (device, options) => __awaiter$A(void 0, void 0, void 0, function* () {
|
691
691
|
if (!deviceManager) {
|
692
692
|
return;
|
693
693
|
}
|
@@ -710,19 +710,19 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
710
710
|
}, options);
|
711
711
|
}
|
712
712
|
});
|
713
|
-
const onToggleMicrophone = () => __awaiter$
|
713
|
+
const onToggleMicrophone = () => __awaiter$A(void 0, void 0, void 0, function* () {
|
714
714
|
if (!call || !_isInCall(call.state)) {
|
715
715
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
716
716
|
}
|
717
717
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
718
718
|
});
|
719
|
-
const onStartScreenShare = () => __awaiter$
|
720
|
-
const onStopScreenShare = () => __awaiter$
|
721
|
-
const onToggleScreenShare = () => __awaiter$
|
722
|
-
const onHangUp = (forEveryone) => __awaiter$
|
719
|
+
const onStartScreenShare = () => __awaiter$A(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
|
720
|
+
const onStopScreenShare = () => __awaiter$A(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
|
721
|
+
const onToggleScreenShare = () => __awaiter$A(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
|
722
|
+
const onHangUp = (forEveryone) => __awaiter$A(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
|
723
723
|
/* @conditional-compile-remove(PSTN-calls) */
|
724
|
-
const onToggleHold = () => __awaiter$
|
725
|
-
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$
|
724
|
+
const onToggleHold = () => __awaiter$A(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()); });
|
725
|
+
const onCreateLocalStreamView = (options = { scalingMode: 'Crop', isMirrored: true }) => __awaiter$A(void 0, void 0, void 0, function* () {
|
726
726
|
var _a;
|
727
727
|
if (!call || call.localVideoStreams.length === 0) {
|
728
728
|
return;
|
@@ -738,7 +738,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
738
738
|
const { view } = (_a = (yield callClient.createView(call.id, undefined, localStream, options))) !== null && _a !== void 0 ? _a : {};
|
739
739
|
return view ? { view } : undefined;
|
740
740
|
});
|
741
|
-
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$
|
741
|
+
const onCreateRemoteStreamView = (userId, options = { scalingMode: 'Crop' }) => __awaiter$A(void 0, void 0, void 0, function* () {
|
742
742
|
if (!call) {
|
743
743
|
return;
|
744
744
|
}
|
@@ -766,7 +766,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
766
766
|
}
|
767
767
|
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
768
768
|
});
|
769
|
-
const onDisposeRemoteStreamView = (userId) => __awaiter$
|
769
|
+
const onDisposeRemoteStreamView = (userId) => __awaiter$A(void 0, void 0, void 0, function* () {
|
770
770
|
if (!call) {
|
771
771
|
return;
|
772
772
|
}
|
@@ -787,7 +787,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
787
787
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
788
788
|
}
|
789
789
|
});
|
790
|
-
const onDisposeLocalStreamView = () => __awaiter$
|
790
|
+
const onDisposeLocalStreamView = () => __awaiter$A(void 0, void 0, void 0, function* () {
|
791
791
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
792
792
|
const callState = call && callClient.getState().calls[call.id];
|
793
793
|
const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
@@ -800,12 +800,12 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
800
800
|
yield disposeAllLocalPreviewViews(callClient);
|
801
801
|
});
|
802
802
|
/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
|
803
|
-
const onSendDtmfTone = (dtmfTone) => __awaiter$
|
803
|
+
const onSendDtmfTone = (dtmfTone) => __awaiter$A(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
|
804
804
|
const notImplemented = () => {
|
805
805
|
throw new Error('Not implemented, cannot call a method from an abstract object');
|
806
806
|
};
|
807
807
|
/* @conditional-compile-remove(call-readiness) */
|
808
|
-
const askDevicePermission = (constrain) => __awaiter$
|
808
|
+
const askDevicePermission = (constrain) => __awaiter$A(void 0, void 0, void 0, function* () {
|
809
809
|
if (deviceManager) {
|
810
810
|
yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
|
811
811
|
}
|
@@ -839,7 +839,7 @@ const createDefaultCommonCallingHandlers = memoizeOne__default['default']((callC
|
|
839
839
|
|
840
840
|
// Copyright (c) Microsoft Corporation.
|
841
841
|
// Licensed under the MIT license.
|
842
|
-
var __awaiter$
|
842
|
+
var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
843
843
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
844
844
|
return new (P || (P = Promise))(function (resolve, reject) {
|
845
845
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -866,7 +866,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
866
866
|
return callAgent ? callAgent.startCall(participants, options) : undefined;
|
867
867
|
},
|
868
868
|
/* @conditional-compile-remove(PSTN-calls) */
|
869
|
-
onAddParticipant: (userId, options) => __awaiter$
|
869
|
+
onAddParticipant: (userId, options) => __awaiter$z(void 0, void 0, void 0, function* () {
|
870
870
|
const participant = _toCommunicationIdentifier(userId);
|
871
871
|
if (communicationCommon.isPhoneNumberIdentifier(participant)) {
|
872
872
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
|
@@ -874,7 +874,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
874
874
|
else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
|
875
875
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
876
876
|
}
|
877
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
877
|
+
}), onRemoveParticipant: (userId) => __awaiter$z(void 0, void 0, void 0, function* () {
|
878
878
|
const participant = _toCommunicationIdentifier(userId);
|
879
879
|
yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
|
880
880
|
}) });
|
@@ -882,7 +882,7 @@ const createDefaultCallingHandlers = memoizeOne__default['default']((callClient,
|
|
882
882
|
|
883
883
|
// Copyright (c) Microsoft Corporation.
|
884
884
|
// Licensed under the MIT license.
|
885
|
-
var __awaiter$
|
885
|
+
var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
886
886
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
887
887
|
return new (P || (P = Promise))(function (resolve, reject) {
|
888
888
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -914,7 +914,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
914
914
|
},
|
915
915
|
/* @conditional-compile-remove(teams-identity-support) */
|
916
916
|
/* @conditional-compile-remove(PSTN-calls) */
|
917
|
-
onAddParticipant: (userId, options) => __awaiter$
|
917
|
+
onAddParticipant: (userId, options) => __awaiter$y(void 0, void 0, void 0, function* () {
|
918
918
|
const participant = _toCommunicationIdentifier(userId);
|
919
919
|
/* @conditional-compile-remove(teams-identity-support) */
|
920
920
|
const threadId = options === null || options === void 0 ? void 0 : options.threadId;
|
@@ -927,7 +927,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
927
927
|
}
|
928
928
|
/* @conditional-compile-remove(teams-identity-support) */
|
929
929
|
call === null || call === void 0 ? void 0 : call.addParticipant(participant);
|
930
|
-
}), onRemoveParticipant: (userId) => __awaiter$
|
930
|
+
}), onRemoveParticipant: (userId) => __awaiter$y(void 0, void 0, void 0, function* () {
|
931
931
|
const participant = _toCommunicationIdentifier(userId);
|
932
932
|
if (communicationCommon.isCommunicationUserIdentifier(participant)) {
|
933
933
|
throw new Error('CommunicationIdentifier in Teams call is not supported!');
|
@@ -939,7 +939,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne__default['default']((callCl
|
|
939
939
|
|
940
940
|
// Copyright (c) Microsoft Corporation.
|
941
941
|
// Licensed under the MIT license.
|
942
|
-
var __awaiter$
|
942
|
+
var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
943
943
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
944
944
|
return new (P || (P = Promise))(function (resolve, reject) {
|
945
945
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -988,13 +988,13 @@ class ProxyDeviceManager {
|
|
988
988
|
this.selectCamera = (videoDeviceInfo) => {
|
989
989
|
this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
|
990
990
|
};
|
991
|
-
this.videoDevicesUpdated = () => __awaiter$
|
991
|
+
this.videoDevicesUpdated = () => __awaiter$x(this, void 0, void 0, function* () {
|
992
992
|
// Device Manager always has a camera with '' name if there are no real camera devices available.
|
993
993
|
// We don't want to show that in the UI.
|
994
994
|
const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
|
995
995
|
this._context.setDeviceManagerCameras(dedupeById(realCameras));
|
996
996
|
});
|
997
|
-
this.audioDevicesUpdated = () => __awaiter$
|
997
|
+
this.audioDevicesUpdated = () => __awaiter$x(this, void 0, void 0, function* () {
|
998
998
|
this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
|
999
999
|
this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
|
1000
1000
|
});
|
@@ -1141,6 +1141,7 @@ var EventNames;
|
|
1141
1141
|
EventNames["CREATE_STREAM_INVALID_PARAMS"] = "CREATE_STREAM_INVALID_PARAMS";
|
1142
1142
|
EventNames["DISPOSE_STREAM_INVALID_PARAMS"] = "DISPOSE_LOCAL_STREAM_INVALID_PARAMS";
|
1143
1143
|
EventNames["LOCAL_STREAM_ALREADY_RENDERED"] = "LOCAL_STREAM_ALREADY_RENDERED";
|
1144
|
+
EventNames["LOCAL_STREAM_ALREADY_DISPOSED"] = "LOCAL_STREAM_ALREADY_DISPOSED";
|
1144
1145
|
EventNames["LOCAL_STREAM_STOPPING"] = "LOCAL_STREAM_STOPPING";
|
1145
1146
|
EventNames["LOCAL_CREATED_STREAM_STOPPING"] = "LOCAL_CREATED_STREAM_STOPPING";
|
1146
1147
|
EventNames["LOCAL_STREAM_RENDERING"] = "LOCAL_STREAM_RENDERING";
|
@@ -1200,7 +1201,7 @@ class CallIdHistory {
|
|
1200
1201
|
|
1201
1202
|
// Copyright (c) Microsoft Corporation.
|
1202
1203
|
// Licensed under the MIT license.
|
1203
|
-
var __awaiter$
|
1204
|
+
var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1204
1205
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1205
1206
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1206
1207
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1604,6 +1605,20 @@ class CallContext$2 {
|
|
1604
1605
|
}
|
1605
1606
|
});
|
1606
1607
|
}
|
1608
|
+
setRemoteVideoStreamViewScalingMode(callId, participantKey, streamId, scalingMode) {
|
1609
|
+
this.modifyState((draft) => {
|
1610
|
+
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
1611
|
+
if (call) {
|
1612
|
+
const participant = call.remoteParticipants[participantKey];
|
1613
|
+
if (participant) {
|
1614
|
+
const stream = participant.videoStreams[streamId];
|
1615
|
+
if (stream && stream.view) {
|
1616
|
+
stream.view.scalingMode = scalingMode;
|
1617
|
+
}
|
1618
|
+
}
|
1619
|
+
}
|
1620
|
+
});
|
1621
|
+
}
|
1607
1622
|
setIncomingCall(call) {
|
1608
1623
|
this.modifyState((draft) => {
|
1609
1624
|
const existingCall = draft.incomingCalls[call.id];
|
@@ -1715,7 +1730,7 @@ class CallContext$2 {
|
|
1715
1730
|
* @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
|
1716
1731
|
*/
|
1717
1732
|
withAsyncErrorTeedToState(action, target) {
|
1718
|
-
return (...args) => __awaiter$
|
1733
|
+
return (...args) => __awaiter$w(this, void 0, void 0, function* () {
|
1719
1734
|
try {
|
1720
1735
|
return yield action(...args);
|
1721
1736
|
}
|
@@ -1992,7 +2007,7 @@ class RemoteVideoStreamSubscriber {
|
|
1992
2007
|
|
1993
2008
|
// Copyright (c) Microsoft Corporation.
|
1994
2009
|
// Licensed under the MIT license.
|
1995
|
-
var __awaiter$
|
2010
|
+
var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1996
2011
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1997
2012
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1998
2013
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2002,7 +2017,7 @@ var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
2002
2017
|
});
|
2003
2018
|
};
|
2004
2019
|
function createViewRemoteVideo(context, internalContext, callId, participantId, stream, options) {
|
2005
|
-
return __awaiter$
|
2020
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
2006
2021
|
// Render RemoteVideoStream that is part of a Call
|
2007
2022
|
const streamId = stream.id;
|
2008
2023
|
let participantKey;
|
@@ -2110,7 +2125,7 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
|
|
2110
2125
|
});
|
2111
2126
|
}
|
2112
2127
|
function createViewLocalVideo(context, internalContext, callId, options) {
|
2113
|
-
return __awaiter$
|
2128
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
2114
2129
|
_logEvent(callingStatefulLogger, {
|
2115
2130
|
name: EventNames.START_LOCAL_STREAM_RENDERING,
|
2116
2131
|
level: 'info',
|
@@ -2146,13 +2161,15 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
2146
2161
|
});
|
2147
2162
|
return;
|
2148
2163
|
}
|
2164
|
+
// "Stopping" only happens if the stream was in "rendering" but `disposeView` was called.
|
2165
|
+
// Now that `createView` has been re-called, we can flip the state back to "rendering".
|
2149
2166
|
if (renderInfo.status === 'Stopping') {
|
2150
2167
|
_logEvent(callingStatefulLogger, {
|
2151
2168
|
name: EventNames.LOCAL_STREAM_STOPPING,
|
2152
2169
|
level: 'warning',
|
2153
|
-
message: 'LocalVideoStream
|
2170
|
+
message: 'LocalVideoStream was marked as stopping by dispose view. Resetting state to "Rendering".'
|
2154
2171
|
});
|
2155
|
-
|
2172
|
+
internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Rendering', renderInfo.renderer);
|
2156
2173
|
return;
|
2157
2174
|
}
|
2158
2175
|
const renderer = new communicationCalling.VideoStreamRenderer(renderInfo.stream);
|
@@ -2226,7 +2243,7 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
2226
2243
|
});
|
2227
2244
|
}
|
2228
2245
|
function createViewUnparentedVideo(context, internalContext, stream, options) {
|
2229
|
-
return __awaiter$
|
2246
|
+
return __awaiter$v(this, void 0, void 0, function* () {
|
2230
2247
|
const renderInfo = internalContext.getUnparentedRenderInfo(stream);
|
2231
2248
|
if (renderInfo && renderInfo.status === 'Rendered') {
|
2232
2249
|
console.warn('Unparented LocalVideoStream is already rendered');
|
@@ -2363,21 +2380,42 @@ function disposeViewLocalVideo(context, internalContext, callId) {
|
|
2363
2380
|
});
|
2364
2381
|
return;
|
2365
2382
|
}
|
2366
|
-
//
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2383
|
+
// Nothing to dispose of or clean up -- we can safely exit early here.
|
2384
|
+
if (renderInfo.status === 'NotRendered') {
|
2385
|
+
_logEvent(callingStatefulLogger, {
|
2386
|
+
name: EventNames.LOCAL_STREAM_ALREADY_DISPOSED,
|
2387
|
+
level: 'info',
|
2388
|
+
message: 'LocalVideoStream is already disposed.'
|
2389
|
+
});
|
2390
|
+
return;
|
2391
|
+
}
|
2392
|
+
// Status is already marked as "stopping" so we can exit early here. This is because stopping only occurs
|
2393
|
+
// when the stream is being created in createView but hasn't been completed being created yet. The createView
|
2394
|
+
// method will see the "stopping" status and perform the cleanup
|
2395
|
+
if (renderInfo.status === 'Stopping') {
|
2370
2396
|
_logEvent(callingStatefulLogger, {
|
2371
2397
|
name: EventNames.LOCAL_STREAM_STOPPING,
|
2372
2398
|
level: 'info',
|
2373
|
-
message: 'Local stream is
|
2399
|
+
message: 'Local stream is already stopping.',
|
2374
2400
|
data: streamLogInfo
|
2375
2401
|
});
|
2376
|
-
|
2402
|
+
return;
|
2377
2403
|
}
|
2378
|
-
|
2379
|
-
|
2404
|
+
// If the stream is in the middle of being rendered (i.e. has state "Rendering"), we need the status as
|
2405
|
+
// "stopping" without performing any cleanup. This will tell the `createView` method that it should stop
|
2406
|
+
// rendering and clean up the state once the view has finished being created.
|
2407
|
+
if (renderInfo.status === 'Rendering') {
|
2408
|
+
_logEvent(callingStatefulLogger, {
|
2409
|
+
name: EventNames.REMOTE_STREAM_STOPPING,
|
2410
|
+
level: 'info',
|
2411
|
+
message: 'Remote stream is still rendering. Changing status to stopping.',
|
2412
|
+
data: streamLogInfo
|
2413
|
+
});
|
2414
|
+
internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Stopping', renderInfo.renderer);
|
2415
|
+
return;
|
2380
2416
|
}
|
2417
|
+
// Else the state must be in the "Rendered" state, so we can dispose the renderer and clean up the state.
|
2418
|
+
internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);
|
2381
2419
|
if (renderInfo.renderer) {
|
2382
2420
|
_logEvent(callingStatefulLogger, {
|
2383
2421
|
name: EventNames.DISPOSING_LOCAL_RENDERER,
|
@@ -2870,7 +2908,7 @@ class CallSubscriber {
|
|
2870
2908
|
|
2871
2909
|
// Copyright (c) Microsoft Corporation.
|
2872
2910
|
// Licensed under the MIT license.
|
2873
|
-
var __awaiter$
|
2911
|
+
var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2874
2912
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
2875
2913
|
return new (P || (P = Promise))(function (resolve, reject) {
|
2876
2914
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -2890,14 +2928,14 @@ class ProxyIncomingCall {
|
|
2890
2928
|
switch (prop) {
|
2891
2929
|
case 'accept': {
|
2892
2930
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2893
|
-
return __awaiter$
|
2931
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
2894
2932
|
return yield target.accept(...args);
|
2895
2933
|
});
|
2896
2934
|
}, 'IncomingCall.accept');
|
2897
2935
|
}
|
2898
2936
|
case 'reject': {
|
2899
2937
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
2900
|
-
return __awaiter$
|
2938
|
+
return __awaiter$u(this, void 0, void 0, function* () {
|
2901
2939
|
return yield target.reject(...args);
|
2902
2940
|
});
|
2903
2941
|
}, 'IncomingCall.reject');
|
@@ -3134,7 +3172,7 @@ const clearCallRelatedState = (context, internalContext) => {
|
|
3134
3172
|
|
3135
3173
|
// Copyright (c) Microsoft Corporation.
|
3136
3174
|
// Licensed under the MIT license.
|
3137
|
-
var __awaiter$
|
3175
|
+
var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3138
3176
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3139
3177
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3140
3178
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3160,56 +3198,56 @@ class ProxyCallCommon {
|
|
3160
3198
|
switch (prop) {
|
3161
3199
|
case 'mute': {
|
3162
3200
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3163
|
-
return __awaiter$
|
3201
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3164
3202
|
return yield target.mute(...args);
|
3165
3203
|
});
|
3166
3204
|
}, 'Call.mute');
|
3167
3205
|
}
|
3168
3206
|
case 'unmute': {
|
3169
3207
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3170
|
-
return __awaiter$
|
3208
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3171
3209
|
return yield target.unmute(...args);
|
3172
3210
|
});
|
3173
3211
|
}, 'Call.unmute');
|
3174
3212
|
}
|
3175
3213
|
case 'startVideo': {
|
3176
3214
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3177
|
-
return __awaiter$
|
3215
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3178
3216
|
return yield target.startVideo(...args);
|
3179
3217
|
});
|
3180
3218
|
}, 'Call.startVideo');
|
3181
3219
|
}
|
3182
3220
|
case 'stopVideo': {
|
3183
3221
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3184
|
-
return __awaiter$
|
3222
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3185
3223
|
return yield target.stopVideo(...args);
|
3186
3224
|
});
|
3187
3225
|
}, 'Call.stopVideo');
|
3188
3226
|
}
|
3189
3227
|
case 'startScreenSharing': {
|
3190
3228
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3191
|
-
return __awaiter$
|
3229
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3192
3230
|
return yield target.startScreenSharing(...args);
|
3193
3231
|
});
|
3194
3232
|
}, 'Call.startScreenSharing');
|
3195
3233
|
}
|
3196
3234
|
case 'stopScreenSharing': {
|
3197
3235
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3198
|
-
return __awaiter$
|
3236
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3199
3237
|
return yield target.stopScreenSharing(...args);
|
3200
3238
|
});
|
3201
3239
|
}, 'Call.stopScreenSharing');
|
3202
3240
|
}
|
3203
3241
|
case 'hold': {
|
3204
3242
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3205
|
-
return __awaiter$
|
3243
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3206
3244
|
return yield target.hold(...args);
|
3207
3245
|
});
|
3208
3246
|
}, 'Call.hold');
|
3209
3247
|
}
|
3210
3248
|
case 'resume': {
|
3211
3249
|
return this._context.withAsyncErrorTeedToState(function (...args) {
|
3212
|
-
return __awaiter$
|
3250
|
+
return __awaiter$t(this, void 0, void 0, function* () {
|
3213
3251
|
return yield target.resume(...args);
|
3214
3252
|
});
|
3215
3253
|
}, 'Call.resume');
|
@@ -3222,7 +3260,7 @@ class ProxyCallCommon {
|
|
3222
3260
|
|
3223
3261
|
// Copyright (c) Microsoft Corporation.
|
3224
3262
|
// Licensed under the MIT license.
|
3225
|
-
var __awaiter$
|
3263
|
+
var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3226
3264
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3227
3265
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3228
3266
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3236,7 +3274,7 @@ class ProxyCall extends ProxyCallCommon {
|
|
3236
3274
|
switch (prop) {
|
3237
3275
|
case 'addParticipant': {
|
3238
3276
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3239
|
-
return __awaiter$
|
3277
|
+
return __awaiter$s(this, void 0, void 0, function* () {
|
3240
3278
|
return yield target.addParticipant(...args);
|
3241
3279
|
});
|
3242
3280
|
}, 'Call.addParticipant');
|
@@ -3433,7 +3471,7 @@ class InternalCallContext {
|
|
3433
3471
|
|
3434
3472
|
// Copyright (c) Microsoft Corporation.
|
3435
3473
|
// Licensed under the MIT license.
|
3436
|
-
var __awaiter$
|
3474
|
+
var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3437
3475
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3438
3476
|
return new (P || (P = Promise))(function (resolve, reject) {
|
3439
3477
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -3448,7 +3486,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
|
|
3448
3486
|
switch (prop) {
|
3449
3487
|
case 'addParticipant': {
|
3450
3488
|
return this.getContext().withAsyncErrorTeedToState(function (...args) {
|
3451
|
-
return __awaiter$
|
3489
|
+
return __awaiter$r(this, void 0, void 0, function* () {
|
3452
3490
|
return yield target.addParticipant(...args);
|
3453
3491
|
});
|
3454
3492
|
}, 'TeamsCall.addParticipant');
|
@@ -3561,6 +3599,50 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
|
|
3561
3599
|
return new Proxy(callAgent, new ProxyTeamsCallAgent(callAgent, context, internalContext));
|
3562
3600
|
};
|
3563
3601
|
|
3602
|
+
// Copyright (c) Microsoft Corporation.
|
3603
|
+
// Licensed under the MIT license.
|
3604
|
+
var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3605
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3606
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
3607
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
3608
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
3609
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
3610
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
3611
|
+
});
|
3612
|
+
};
|
3613
|
+
/**
|
3614
|
+
* @private
|
3615
|
+
*/
|
3616
|
+
class ProxyVideoStreamRendererView {
|
3617
|
+
constructor(context, callId, participantId, _streamId) {
|
3618
|
+
this._context = context;
|
3619
|
+
this._callId = callId;
|
3620
|
+
this._participantId = participantId;
|
3621
|
+
this._streamId = _streamId;
|
3622
|
+
}
|
3623
|
+
get(target, prop) {
|
3624
|
+
switch (prop) {
|
3625
|
+
case 'updateScalingMode': {
|
3626
|
+
return (args) => __awaiter$q(this, void 0, void 0, function* () {
|
3627
|
+
const result = yield target.updateScalingMode(...args);
|
3628
|
+
this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
|
3629
|
+
return result;
|
3630
|
+
});
|
3631
|
+
}
|
3632
|
+
default:
|
3633
|
+
return Reflect.get(target, prop);
|
3634
|
+
}
|
3635
|
+
}
|
3636
|
+
}
|
3637
|
+
/**
|
3638
|
+
* Creates a declarative VideoStreamRendererView that is backed by a VideoStreamRendererView from the SDK.
|
3639
|
+
* Calling methods on this declarative object triggers state updates in the stateful client.
|
3640
|
+
*/
|
3641
|
+
const videoStreamRendererViewDeclaratify = (view, context, callId, participantId, streamId) => {
|
3642
|
+
const proxyVideoStreamRendererView = new ProxyVideoStreamRendererView(context, callId, participantId, streamId);
|
3643
|
+
return new Proxy(view, proxyVideoStreamRendererView);
|
3644
|
+
};
|
3645
|
+
|
3564
3646
|
// Copyright (c) Microsoft Corporation.
|
3565
3647
|
// Licensed under the MIT license.
|
3566
3648
|
var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
@@ -3693,10 +3775,16 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
|
|
3693
3775
|
});
|
3694
3776
|
Object.defineProperty(callClient, 'createView', {
|
3695
3777
|
configurable: false,
|
3696
|
-
value: (callId, participantId, stream, options) => {
|
3778
|
+
value: (callId, participantId, stream, options) => __awaiter$p(void 0, void 0, void 0, function* () {
|
3697
3779
|
const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
|
3698
|
-
|
3699
|
-
|
3780
|
+
const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
|
3781
|
+
// We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
|
3782
|
+
if ('id' in stream && callId && participantId && result) {
|
3783
|
+
const participantKey = toFlatCommunicationIdentifier(participantId);
|
3784
|
+
result.view = videoStreamRendererViewDeclaratify(result.view, context, callId, participantKey, stream.id);
|
3785
|
+
}
|
3786
|
+
return result;
|
3787
|
+
})
|
3700
3788
|
});
|
3701
3789
|
Object.defineProperty(callClient, 'disposeView', {
|
3702
3790
|
configurable: false,
|
@@ -3916,7 +4004,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
3916
4004
|
wordBreak: 'break-word'
|
3917
4005
|
});
|
3918
4006
|
|
3919
|
-
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"};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.",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$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"};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 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 UnsupportedBrowser$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLink:"More help"};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,CameraDomainPermissionsDenied:CameraDomainPermissionsDenied,MicrophoneDomainPermissionsDenied:MicrophoneDomainPermissionsDenied,UnsupportedBrowser:UnsupportedBrowser$e,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
4007
|
+
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"};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.",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$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"};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 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 UnsupportedBrowser$e={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$1={primaryText:"Browser version not supported",secondaryText:"Please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements"};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,CameraDomainPermissionsDenied:CameraDomainPermissionsDenied,MicrophoneDomainPermissionsDenied:MicrophoneDomainPermissionsDenied,UnsupportedBrowser:UnsupportedBrowser$e,UnsupportedBrowserVersion:UnsupportedBrowserVersion$1,UnsupportedOperatingSystem:UnsupportedOperatingSystem$1,BrowserPermissionDenied:BrowserPermissionDenied$d,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$d};
|
3920
4008
|
|
3921
4009
|
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};
|
3922
4010
|
|
@@ -4952,7 +5040,7 @@ const DomainPermissionsCameraDenied20Filled = () => {
|
|
4952
5040
|
const DomainPermissionSparkle20Filled = () => (React__default['default'].createElement("div", { className: react.mergeStyles({ transform: 'scale(2)' }) },
|
4953
5041
|
React__default['default'].createElement(reactIcons.Sparkle20Filled, null)));
|
4954
5042
|
/* @conditional-compile-remove(unsupported-browser) */
|
4955
|
-
const
|
5043
|
+
const UnsupportedEnvironmentWarning = () => {
|
4956
5044
|
const theme = useTheme();
|
4957
5045
|
return (React__default['default'].createElement(react.Stack, { horizontalAlign: 'center', styles: {
|
4958
5046
|
root: {
|
@@ -5051,7 +5139,7 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
5051
5139
|
/* @conditional-compile-remove(call-readiness) */
|
5052
5140
|
DomainPermissionMicDenied: React__default['default'].createElement(DomainPermissionsMicDenied20Filled, null),
|
5053
5141
|
/* @conditional-compile-remove(unsupported-browser) */
|
5054
|
-
|
5142
|
+
UnsupportedEnvironmentWarning: React__default['default'].createElement(UnsupportedEnvironmentWarning, null),
|
5055
5143
|
/* @conditional-compile-remove(call-readiness) */
|
5056
5144
|
BrowserPermissionDeniedError: React__default['default'].createElement(BrowserPermissionDenied20Filled, null),
|
5057
5145
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -11434,7 +11522,8 @@ const mainTextStyles = {
|
|
11434
11522
|
fontSize: _pxToRem(20),
|
11435
11523
|
lineHeight: _pxToRem(28),
|
11436
11524
|
paddingBottom: '1rem',
|
11437
|
-
margin: 'auto'
|
11525
|
+
margin: 'auto',
|
11526
|
+
textAlign: 'center'
|
11438
11527
|
}
|
11439
11528
|
};
|
11440
11529
|
/**
|
@@ -11444,7 +11533,8 @@ const secondaryTextStyles = {
|
|
11444
11533
|
root: {
|
11445
11534
|
margin: 'auto',
|
11446
11535
|
fontWeight: 400,
|
11447
|
-
paddingBottom: '0.5rem'
|
11536
|
+
paddingBottom: '0.5rem',
|
11537
|
+
textAlign: 'center'
|
11448
11538
|
}
|
11449
11539
|
};
|
11450
11540
|
/**
|
@@ -11454,7 +11544,7 @@ const linkTextStyles = {
|
|
11454
11544
|
root: {
|
11455
11545
|
margin: 'auto',
|
11456
11546
|
fontWeight: 600,
|
11457
|
-
textAlign: '
|
11547
|
+
textAlign: 'center'
|
11458
11548
|
}
|
11459
11549
|
};
|
11460
11550
|
/**
|
@@ -11476,26 +11566,58 @@ const iconStyles$1 = {
|
|
11476
11566
|
|
11477
11567
|
// Copyright (c) Microsoft Corporation.
|
11478
11568
|
/* @conditional-compile-remove(unsupported-browser) */
|
11479
|
-
const
|
11569
|
+
const UnsupportedEnvironmentContainer = (props) => {
|
11480
11570
|
const { onTroubleshootingClick, strings } = props;
|
11481
11571
|
return (React__default['default'].createElement(react.Stack, { styles: containerStyles$2 },
|
11482
|
-
React__default['default'].createElement(react.Icon, { styles: iconStyles$1, iconName: "
|
11572
|
+
React__default['default'].createElement(react.Icon, { styles: iconStyles$1, iconName: "UnsupportedEnvironmentWarning", "data-ui-id": "unsupported-environment-icon" }),
|
11483
11573
|
React__default['default'].createElement(react.Text, { styles: mainTextStyles }, strings.primaryText),
|
11484
11574
|
React__default['default'].createElement(react.Text, { styles: secondaryTextStyles }, strings.secondaryText),
|
11485
11575
|
onTroubleshootingClick && (React__default['default'].createElement(react.Link, { styles: linkTextStyles, onClick: () => {
|
11486
11576
|
onTroubleshootingClick();
|
11487
|
-
}, "data-ui-id": "
|
11577
|
+
}, "data-ui-id": "unsupported-environment-link" }, strings.moreHelpLinkText))));
|
11488
11578
|
};
|
11489
11579
|
/**
|
11490
|
-
* UI to display to the user that the
|
11580
|
+
* UI to display to the user that the environment they are using is not supported by calling application.
|
11581
|
+
*
|
11582
|
+
* @private
|
11583
|
+
*/
|
11584
|
+
const UnsupportedEnvironment = (props) => {
|
11585
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
11586
|
+
return React__default['default'].createElement(UnsupportedEnvironmentContainer, Object.assign({}, props));
|
11587
|
+
};
|
11588
|
+
|
11589
|
+
// Copyright (c) Microsoft Corporation.
|
11590
|
+
/**
|
11591
|
+
* UI to display to the user that the browser they are using is not supported by Azure Communications Calling service.
|
11491
11592
|
*
|
11492
11593
|
* @beta
|
11493
11594
|
*/
|
11494
11595
|
const UnsupportedBrowser = (props) => {
|
11495
|
-
|
11496
|
-
|
11497
|
-
|
11498
|
-
|
11596
|
+
const { onTroubleshootingClick, strings } = props;
|
11597
|
+
return React__default['default'].createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: strings });
|
11598
|
+
};
|
11599
|
+
|
11600
|
+
// Copyright (c) Microsoft Corporation.
|
11601
|
+
/**
|
11602
|
+
* UI to display to the user that the browser version they are using is out of date
|
11603
|
+
* and not supported by Azure Communications Calling service.
|
11604
|
+
*
|
11605
|
+
* @beta
|
11606
|
+
*/
|
11607
|
+
const UnsupportedBrowserVersion = (props) => {
|
11608
|
+
const { onTroubleshootingClick, strings } = props;
|
11609
|
+
return React__default['default'].createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: strings });
|
11610
|
+
};
|
11611
|
+
|
11612
|
+
// Copyright (c) Microsoft Corporation.
|
11613
|
+
/**
|
11614
|
+
* UI to display to the user that the operating system they are using is not supported by Azure Communications Calling service.
|
11615
|
+
*
|
11616
|
+
* @beta
|
11617
|
+
*/
|
11618
|
+
const UnsupportedOperatingSystem = (props) => {
|
11619
|
+
const { onTroubleshootingClick, strings } = props;
|
11620
|
+
return React__default['default'].createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: strings });
|
11499
11621
|
};
|
11500
11622
|
|
11501
11623
|
// Copyright (c) Microsoft Corporation.
|
@@ -11673,14 +11795,16 @@ const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted
|
|
11673
11795
|
};
|
11674
11796
|
};
|
11675
11797
|
const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
11676
|
-
var _a, _b;
|
11798
|
+
var _a, _b, _c;
|
11677
11799
|
return {
|
11678
11800
|
id: stream.id,
|
11679
11801
|
isAvailable: stream.isAvailable,
|
11680
11802
|
/* @conditional-compile-remove(video-stream-is-receiving-flag) */
|
11681
11803
|
isReceiving: stream.isReceiving,
|
11682
11804
|
isMirrored: (_a = stream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
|
11683
|
-
renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target
|
11805
|
+
renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target,
|
11806
|
+
/* @conditional-compile-remove(pinned-participants) */
|
11807
|
+
scalingMode: (_c = stream.view) === null || _c === void 0 ? void 0 : _c.scalingMode
|
11684
11808
|
};
|
11685
11809
|
};
|
11686
11810
|
|
@@ -15755,7 +15879,7 @@ const getCallEndReason = (call) => {
|
|
15755
15879
|
*/
|
15756
15880
|
const getCallCompositePage = (call, previousCall, environmentInfo, features) => {
|
15757
15881
|
/* @conditional-compile-remove(unsupported-browser) */
|
15758
|
-
if ((features
|
15882
|
+
if (isUnsupportedEnvironment(features, environmentInfo)) {
|
15759
15883
|
return 'unsupportedEnvironment';
|
15760
15884
|
}
|
15761
15885
|
if (call) {
|
@@ -15889,6 +16013,13 @@ const getDevicePermissionState = (setVideoState, setAudioState) => {
|
|
15889
16013
|
setAudioState('unsupported');
|
15890
16014
|
});
|
15891
16015
|
};
|
16016
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
16017
|
+
const isUnsupportedEnvironment = (features, environmentInfo) => {
|
16018
|
+
return !!((features === null || features === void 0 ? void 0 : features.unsupportedEnvironment) &&
|
16019
|
+
((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false ||
|
16020
|
+
(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false ||
|
16021
|
+
(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false));
|
16022
|
+
};
|
15892
16023
|
|
15893
16024
|
// Copyright (c) Microsoft Corporation.
|
15894
16025
|
// Licensed under the MIT license.
|
@@ -19321,16 +19452,31 @@ const HoldPage = (props) => {
|
|
19321
19452
|
*/
|
19322
19453
|
const UnsupportedBrowserPage = (props) => {
|
19323
19454
|
/* @conditional-compile-remove(unsupported-browser) */
|
19324
|
-
const { onTroubleshootingClick } = props;
|
19455
|
+
const { onTroubleshootingClick, environmentInfo } = props;
|
19325
19456
|
/* @conditional-compile-remove(unsupported-browser) */
|
19326
19457
|
const locale = useLocale();
|
19327
19458
|
/* @conditional-compile-remove(unsupported-browser) */
|
19328
19459
|
const unsupportedBrowserStrings = locale.component.strings.UnsupportedBrowser;
|
19329
19460
|
/* @conditional-compile-remove(unsupported-browser) */
|
19330
|
-
|
19331
|
-
|
19461
|
+
const unsupportedBrowserVersionStrings = locale.component.strings.UnsupportedBrowserVersion;
|
19462
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
19463
|
+
const unsupportedOperatingSystemStrings = locale.component.strings.UnsupportedOperatingSystem;
|
19464
|
+
let pageElement = React__default['default'].createElement(React__default['default'].Fragment, null);
|
19465
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
19466
|
+
if (!(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform)) {
|
19467
|
+
pageElement = (React__default['default'].createElement(UnsupportedOperatingSystem, { onTroubleshootingClick: onTroubleshootingClick, strings: unsupportedOperatingSystemStrings }));
|
19468
|
+
}
|
19469
|
+
else if (!(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser)) {
|
19470
|
+
pageElement = (React__default['default'].createElement(UnsupportedBrowser, { onTroubleshootingClick: onTroubleshootingClick, strings: unsupportedBrowserStrings }));
|
19471
|
+
}
|
19472
|
+
else if (!(environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion)) {
|
19473
|
+
pageElement = (React__default['default'].createElement(UnsupportedBrowserVersion, { onTroubleshootingClick: onTroubleshootingClick, strings: unsupportedBrowserVersionStrings }));
|
19474
|
+
}
|
19475
|
+
else {
|
19476
|
+
throw new Error('There was a problem with your environment info');
|
19477
|
+
}
|
19478
|
+
return React__default['default'].createElement(react.Stack, { styles: containerStyles }, pageElement);
|
19332
19479
|
};
|
19333
|
-
/* @conditional-compile-remove(unsupported-browser) */
|
19334
19480
|
const containerStyles = {
|
19335
19481
|
root: {
|
19336
19482
|
margin: 'auto',
|
@@ -19414,7 +19560,7 @@ const MainScreen = (props) => {
|
|
19414
19560
|
case 'unsupportedEnvironment':
|
19415
19561
|
pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null,
|
19416
19562
|
/* @conditional-compile-remove(unsupported-browser) */
|
19417
|
-
React__default['default'].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onEnvironmentInfoTroubleshootingClick })));
|
19563
|
+
React__default['default'].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
|
19418
19564
|
break;
|
19419
19565
|
}
|
19420
19566
|
if (!pageElement) {
|
@@ -19692,7 +19838,6 @@ class AzureCommunicationCallAdapter {
|
|
19692
19838
|
isMuted: (_a = this.call) === null || _a === void 0 ? void 0 : _a.isMuted
|
19693
19839
|
});
|
19694
19840
|
};
|
19695
|
-
console.log(options);
|
19696
19841
|
this.bindPublicMethods();
|
19697
19842
|
this.callClient = callClient;
|
19698
19843
|
this.callAgent = callAgent;
|
@@ -22370,6 +22515,8 @@ exports.SendBox = SendBox;
|
|
22370
22515
|
exports.StreamMedia = StreamMedia;
|
22371
22516
|
exports.TypingIndicator = TypingIndicator;
|
22372
22517
|
exports.UnsupportedBrowser = UnsupportedBrowser;
|
22518
|
+
exports.UnsupportedBrowserVersion = UnsupportedBrowserVersion;
|
22519
|
+
exports.UnsupportedOperatingSystem = UnsupportedOperatingSystem;
|
22373
22520
|
exports.VideoGallery = VideoGallery;
|
22374
22521
|
exports.VideoTile = VideoTile;
|
22375
22522
|
exports._DevicePermissionDropdown = _DevicePermissionDropdown;
|