@microsoft/teams-js 2.19.1-beta.0 → 2.20.0-beta.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/MicrosoftTeams.d.ts +67 -34
- package/dist/MicrosoftTeams.js +575 -229
- package/dist/MicrosoftTeams.js.map +1 -1
- package/dist/MicrosoftTeams.min.js +1 -1
- package/dist/MicrosoftTeams.min.js.map +1 -1
- package/package.json +1 -1
package/dist/MicrosoftTeams.js
CHANGED
|
@@ -1012,8 +1012,8 @@ var ApiName;
|
|
|
1012
1012
|
ApiName["Dialog_Url_Bot_Open"] = "dialog.url.bot.open";
|
|
1013
1013
|
ApiName["Dialog_Url_Open"] = "dialog.url.open";
|
|
1014
1014
|
ApiName["Dialog_Url_Submit"] = "dialog.url.submit";
|
|
1015
|
-
ApiName["
|
|
1016
|
-
ApiName["
|
|
1015
|
+
ApiName["Dialog_Url_ParentCommunication_SendMessageToParentFromDialog"] = "dialog.url.parentCommunication.sendMessageToParentFromDialog";
|
|
1016
|
+
ApiName["Dialog_Url_ParentCommunication_SendMessageToDialog"] = "dialog.url.parentCommunication.sendMessageToDialog";
|
|
1017
1017
|
ApiName["Files_AddCloudStorageFolder"] = "files.addCloudStorageFolder";
|
|
1018
1018
|
ApiName["Files_AddCloudStorageProvider"] = "files.addCloudStorageProvider";
|
|
1019
1019
|
ApiName["Files_AddCloudStorageProviderFile"] = "files.addCloudStorageProviderFile";
|
|
@@ -1035,7 +1035,7 @@ var ApiName;
|
|
|
1035
1035
|
ApiName["GeoLocation_GetCurrentLocation"] = "geoLocation.getCurrentLocation";
|
|
1036
1036
|
ApiName["GeoLocation_HasPermission"] = "geoLocation.hasPermission";
|
|
1037
1037
|
ApiName["GeoLocation_Map_ChooseLocation"] = "geoLocation.map.chooseLocation";
|
|
1038
|
-
ApiName["GeoLocation_RequestPermission"] = "geoLocation.
|
|
1038
|
+
ApiName["GeoLocation_RequestPermission"] = "geoLocation.requestPermission";
|
|
1039
1039
|
ApiName["GeoLocation_ShowLocation"] = "geoLocation.showLocation";
|
|
1040
1040
|
ApiName["Interactive_GetClientInfo"] = "interactive.getClientInfo";
|
|
1041
1041
|
ApiName["Interactive_GetClientRoles"] = "interactive.getClientRoles";
|
|
@@ -1108,8 +1108,8 @@ var ApiName;
|
|
|
1108
1108
|
ApiName["Pages_BackStack_NavigateBack"] = "pages.backStack.navigateBack";
|
|
1109
1109
|
ApiName["Pages_BackStack_RegisterBackButtonHandler"] = "pages.backStack.registerBackButtonHandler";
|
|
1110
1110
|
ApiName["Pages_Config_RegisterChangeConfigHandler"] = "pages.config.registerChangeConfigHandler";
|
|
1111
|
-
ApiName["
|
|
1112
|
-
ApiName["
|
|
1111
|
+
ApiName["Pages_Config_RegisterOnRemoveHandler"] = "pages.config.registerOnRemoveHandler";
|
|
1112
|
+
ApiName["Pages_Config_RegisterOnSaveHandler"] = "pages.config.registerOnSaveHandler";
|
|
1113
1113
|
ApiName["Pages_Config_SetConfig"] = "pages.config.setConfig";
|
|
1114
1114
|
ApiName["Pages_Config_SetValidityState"] = "pages.config.setValidityState";
|
|
1115
1115
|
ApiName["Pages_CurrentApp_NavigateTo"] = "pages.currentApp.navigateTo";
|
|
@@ -1121,13 +1121,18 @@ var ApiName;
|
|
|
1121
1121
|
ApiName["Pages_NavigateToApp"] = "pages.navigateToApp";
|
|
1122
1122
|
ApiName["Pages_RegisterFocusEnterHandler"] = "pages.registerFocusEnterHandler";
|
|
1123
1123
|
ApiName["Pages_RegisterFullScreenHandler"] = "pages.registerFullScreenHandler";
|
|
1124
|
+
ApiName["Pages_RemoveEvent_NotifyFailure"] = "pages.removeEvent.notifyFailure";
|
|
1125
|
+
ApiName["Pages_RemoveEvent_NotifySuccess"] = "pages.removeEvent.notifySuccess";
|
|
1124
1126
|
ApiName["Pages_ReturnFocus"] = "pages.returnFocus";
|
|
1127
|
+
ApiName["Pages_SaveEvent_NotifyFailure"] = "pages.saveEvent.notifyFailure";
|
|
1128
|
+
ApiName["Pages_SaveEvent_NotifySuccess"] = "pages.saveEvent.notifySuccess";
|
|
1125
1129
|
ApiName["Pages_SetCurrentFrame"] = "pages.setCurrentFrame";
|
|
1126
1130
|
ApiName["Pages_ShareDeepLink"] = "pages.shareDeepLink";
|
|
1127
1131
|
ApiName["Pages_Tabs_GetMruTabInstances"] = "pages.tabs.getMruTabInstances";
|
|
1128
1132
|
ApiName["Pages_Tabs_GetTabInstances"] = "pages.tabs.getTabInstances";
|
|
1129
1133
|
ApiName["Pages_Tabs_NavigateToTab"] = "pages.tabs.navigateToTab";
|
|
1130
1134
|
ApiName["People_SelectPeople"] = "people.selectPeople";
|
|
1135
|
+
ApiName["Profile_ShowProfile"] = "profile.showProfile";
|
|
1131
1136
|
ApiName["PublicAPIs_ExecuteDeepLink"] = "executeDeepLink";
|
|
1132
1137
|
ApiName["PublicAPIs_GetContext"] = "getContext";
|
|
1133
1138
|
ApiName["PublicAPIs_GetMruTabInstances"] = "getMruTabInstances";
|
|
@@ -1146,17 +1151,43 @@ var ApiName;
|
|
|
1146
1151
|
ApiName["PublicAPIs_ShareDeepLink"] = "shareDeepLink";
|
|
1147
1152
|
ApiName["RegisterHandler"] = "registerHandler";
|
|
1148
1153
|
ApiName["RegisterOnThemeChangeHandler"] = "registerOnThemeChangeHandler";
|
|
1149
|
-
ApiName["
|
|
1150
|
-
ApiName["
|
|
1151
|
-
ApiName["
|
|
1152
|
-
ApiName["
|
|
1154
|
+
ApiName["Search_CloseSearch"] = "search.closeSearch";
|
|
1155
|
+
ApiName["Search_RegisterOnChangeHandler"] = "search.registerOnChangeHandler";
|
|
1156
|
+
ApiName["Search_RegisterOnClosedHandler"] = "search.registerOnClosedHandler";
|
|
1157
|
+
ApiName["Search_RegisterOnExecutedHandler"] = "search.registerOnExecutedHandler";
|
|
1158
|
+
ApiName["Search_UnregisterHandlers"] = "search.unregisterHandlers";
|
|
1159
|
+
ApiName["SecondaryBrowser_OpenUrl"] = "secondaryBrowser.openUrl";
|
|
1160
|
+
ApiName["Settings_GetSettings"] = "settings.getSettings";
|
|
1161
|
+
ApiName["Settings_RegisterOnRemoveHandler"] = "settings.registerOnRemoveHandler";
|
|
1162
|
+
ApiName["Settings_RegisterOnSaveHandler"] = "settings.registerOnSaveHandler";
|
|
1163
|
+
ApiName["Settings_SetSettings"] = "settings.setSettings";
|
|
1164
|
+
ApiName["Settings_SetValidityState"] = "settings.setValidityState";
|
|
1165
|
+
ApiName["StageView_Open"] = "stageView.open";
|
|
1153
1166
|
ApiName["Tasks_StartTask"] = "tasks.startTask";
|
|
1154
1167
|
ApiName["Tasks_SubmitTask"] = "tasks.submitTask";
|
|
1155
1168
|
ApiName["Tasks_UpdateTask"] = "tasks.updateTask";
|
|
1169
|
+
ApiName["VideoEffects_MediaStream_RegisterForVideoFrame"] = "videoEffects.mediaStream.registerForVideoFrame";
|
|
1170
|
+
ApiName["VideoEffects_NotifySelectedVideoEffectChanged"] = "videoEffects.notifySelectedVideoEffectChanged";
|
|
1171
|
+
ApiName["VideoEffects_NotifyError"] = "videoEffects.notifyError";
|
|
1172
|
+
ApiName["VideoEffects_NotifyVideoFrameProcessed"] = "videoEffects.notifyVideoFrameProcessed";
|
|
1173
|
+
ApiName["VideoEffects_RegisterEffectParameterChangeHandler"] = "videoEffects.registerEffectParameterChangeHandler";
|
|
1174
|
+
ApiName["VideoEffects_RegisterForVideoEffect"] = "videoEffects.registerForVideoEffect";
|
|
1175
|
+
ApiName["VideoEffects_RegisterForVideoFrame"] = "videoEffects.registerForVideoFrame";
|
|
1176
|
+
ApiName["VideoEffects_RegisterSetFrameProcessTimeLimitHandler"] = "videoEffects.setFrameProcessTimeLimitHandler";
|
|
1177
|
+
ApiName["VideoEffects_RegisterStartVideoExtensibilityVideoStreamHandler"] = "videoEffects.startVideoExtensibilityVideoStreamHandler";
|
|
1178
|
+
ApiName["VideoEffects_RegisterForVideoBufferHandler"] = "videoEffects.registerForVideoBufferHandler";
|
|
1179
|
+
ApiName["VideoPerformanceMonitor_Constructor"] = "videoPerformanceMonitor.performanceDataGenerated";
|
|
1180
|
+
ApiName["VideoPerformanceMonitor_ReportFrameProcessed"] = "videoPerformanceMonitor.reportFrameProcessed";
|
|
1181
|
+
ApiName["VideoPerformanceMonitor_ReportTextureStreamAcquired"] = "videoPerformanceMonitor.reportTextureStreamAcquired";
|
|
1182
|
+
ApiName["VideoPerformanceMonitor_StartMonitorSlowFrameProcessing"] = "videoPerformanceMonitor.startMonitorSlowFrameProcessing";
|
|
1183
|
+
ApiName["VisualMedia_HasPermission"] = "visualMedia.hasPermission";
|
|
1184
|
+
ApiName["VisualMedia_Image_CaptureImages"] = "visualMedia.image.captureImages";
|
|
1185
|
+
ApiName["VisualMedia_Image_RetrieveImages"] = "visualMedia.image.retrieveImages";
|
|
1186
|
+
ApiName["VisualMedia_RequestPermission"] = "visualMedia.requestPermission";
|
|
1156
1187
|
})(ApiName || (ApiName = {}));
|
|
1157
1188
|
|
|
1158
1189
|
;// CONCATENATED MODULE: ./src/artifactsForCDN/validDomains.json
|
|
1159
|
-
const validDomains_namespaceObject = JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.teams.microsoft.com","teams.
|
|
1190
|
+
const validDomains_namespaceObject = JSON.parse('{"validOrigins":["teams.microsoft.com","teams.microsoft.us","gov.teams.microsoft.us","dod.teams.microsoft.us","int.teams.microsoft.com","*.teams.microsoft.com","outlook.office.com","outlook-sdf.office.com","outlook.office365.com","outlook-sdf.office365.com","outlook.live.com","outlook-sdf.live.com","teams.live.com","local.teams.live.com","local.teams.live.com:8080","local.teams.office.com","local.teams.office.com:8080","devspaces.skype.com","ssauth.skype.com","*.www.office.com","www.office.com","word.office.com","excel.office.com","powerpoint.office.com","www.officeppe.com","*.www.microsoft365.com","www.microsoft365.com","bing.com","edgeservices.bing.com","www.bing.com","www.staging-bing-int.com","teams.cloud.microsoft","outlook.cloud.microsoft","m365.cloud.microsoft","copilot.microsoft.com","windows.msn.com"]}');
|
|
1160
1191
|
var artifactsForCDN_validDomains_namespaceObject = /*#__PURE__*/__webpack_require__.t(validDomains_namespaceObject, 2);
|
|
1161
1192
|
;// CONCATENATED MODULE: ./src/internal/constants.ts
|
|
1162
1193
|
|
|
@@ -2102,7 +2133,7 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
|
2102
2133
|
|
|
2103
2134
|
|
|
2104
2135
|
const runtimeLogger = getLogger('runtime');
|
|
2105
|
-
const latestRuntimeApiVersion =
|
|
2136
|
+
const latestRuntimeApiVersion = 4;
|
|
2106
2137
|
function isLatestRuntimeVersion(runtime) {
|
|
2107
2138
|
return runtime.apiVersion === latestRuntimeApiVersion;
|
|
2108
2139
|
}
|
|
@@ -2134,7 +2165,7 @@ function isRuntimeInitialized(runtime) {
|
|
|
2134
2165
|
}
|
|
2135
2166
|
let runtime_runtime = _uninitializedRuntime;
|
|
2136
2167
|
const versionAndPlatformAgnosticTeamsRuntimeConfig = {
|
|
2137
|
-
apiVersion:
|
|
2168
|
+
apiVersion: 4,
|
|
2138
2169
|
hostVersionsInfo: teamsMinAdaptiveCardVersion,
|
|
2139
2170
|
isLegacyTeams: true,
|
|
2140
2171
|
supports: {
|
|
@@ -2149,6 +2180,7 @@ const versionAndPlatformAgnosticTeamsRuntimeConfig = {
|
|
|
2149
2180
|
},
|
|
2150
2181
|
url: {
|
|
2151
2182
|
bot: {},
|
|
2183
|
+
parentCommunication: {},
|
|
2152
2184
|
},
|
|
2153
2185
|
update: {},
|
|
2154
2186
|
},
|
|
@@ -2246,6 +2278,27 @@ const upgradeChain = [
|
|
|
2246
2278
|
return Object.assign(Object.assign({}, previousVersionRuntime), { apiVersion: 3, supports: newSupports });
|
|
2247
2279
|
},
|
|
2248
2280
|
},
|
|
2281
|
+
{
|
|
2282
|
+
versionToUpgradeFrom: 3,
|
|
2283
|
+
upgradeToNextVersion: (previousVersionRuntime) => {
|
|
2284
|
+
var _a, _b, _c, _d, _e;
|
|
2285
|
+
return {
|
|
2286
|
+
apiVersion: 4,
|
|
2287
|
+
hostVersionsInfo: previousVersionRuntime.hostVersionsInfo,
|
|
2288
|
+
isLegacyTeams: previousVersionRuntime.isLegacyTeams,
|
|
2289
|
+
supports: Object.assign(Object.assign({}, previousVersionRuntime.supports), { dialog: previousVersionRuntime.supports.dialog
|
|
2290
|
+
? {
|
|
2291
|
+
card: (_a = previousVersionRuntime.supports.dialog) === null || _a === void 0 ? void 0 : _a.card,
|
|
2292
|
+
url: {
|
|
2293
|
+
bot: (_c = (_b = previousVersionRuntime.supports.dialog) === null || _b === void 0 ? void 0 : _b.url) === null || _c === void 0 ? void 0 : _c.bot,
|
|
2294
|
+
parentCommunication: ((_d = previousVersionRuntime.supports.dialog) === null || _d === void 0 ? void 0 : _d.url) ? {} : undefined,
|
|
2295
|
+
},
|
|
2296
|
+
update: (_e = previousVersionRuntime.supports.dialog) === null || _e === void 0 ? void 0 : _e.update,
|
|
2297
|
+
}
|
|
2298
|
+
: undefined }),
|
|
2299
|
+
};
|
|
2300
|
+
},
|
|
2301
|
+
},
|
|
2249
2302
|
];
|
|
2250
2303
|
const mapTeamsVersionToSupportedCapabilities = {
|
|
2251
2304
|
// 1.0.0 just signifies "these capabilities have practically always been supported." For some of these
|
|
@@ -2417,7 +2470,7 @@ const _minRuntimeConfigToUninitialize = {
|
|
|
2417
2470
|
* @hidden
|
|
2418
2471
|
* Package version.
|
|
2419
2472
|
*/
|
|
2420
|
-
const version = "2.
|
|
2473
|
+
const version = "2.20.0-beta.0";
|
|
2421
2474
|
|
|
2422
2475
|
;// CONCATENATED MODULE: ./src/internal/internalAPIs.ts
|
|
2423
2476
|
|
|
@@ -2691,7 +2744,6 @@ function validateOrigin(messageOrigin) {
|
|
|
2691
2744
|
|
|
2692
2745
|
|
|
2693
2746
|
|
|
2694
|
-
|
|
2695
2747
|
/**
|
|
2696
2748
|
* Namespace to interact with the authentication-specific part of the SDK.
|
|
2697
2749
|
*
|
|
@@ -2830,6 +2882,7 @@ var authentication;
|
|
|
2830
2882
|
authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.resources,
|
|
2831
2883
|
authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.claims,
|
|
2832
2884
|
authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.silent,
|
|
2885
|
+
authTokenRequest === null || authTokenRequest === void 0 ? void 0 : authTokenRequest.tenantId,
|
|
2833
2886
|
]));
|
|
2834
2887
|
}).then(([success, result]) => {
|
|
2835
2888
|
if (success) {
|
|
@@ -2968,21 +3021,11 @@ var authentication;
|
|
|
2968
3021
|
});
|
|
2969
3022
|
}
|
|
2970
3023
|
/**
|
|
2971
|
-
*
|
|
2972
|
-
*
|
|
2973
|
-
* {@link authentication.
|
|
2974
|
-
* authentication request was successful.
|
|
2975
|
-
*
|
|
2976
|
-
* @remarks
|
|
2977
|
-
* This function is usable only from the authentication window.
|
|
2978
|
-
* This call causes the authentication window to be closed.
|
|
2979
|
-
*
|
|
2980
|
-
* @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
|
|
2981
|
-
* this value in its callback or via the `Promise` return value
|
|
2982
|
-
* @param callbackUrl - Specifies the url to redirect back to if the client is Win32 Outlook.
|
|
3024
|
+
* @deprecated
|
|
3025
|
+
* This function used to have an unused optional second parameter called callbackUrl. Because it was not used, it has been removed.
|
|
3026
|
+
* Please use the {@link authentication.notifySuccess authentication.notifySuccess(result?: string): void} instead.
|
|
2983
3027
|
*/
|
|
2984
|
-
function notifySuccess(result,
|
|
2985
|
-
redirectIfWin32Outlook(callbackUrl, 'result', result);
|
|
3028
|
+
function notifySuccess(result, _callbackUrl) {
|
|
2986
3029
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.authentication);
|
|
2987
3030
|
sendMessageToParent('authentication.authenticate.success', [result]);
|
|
2988
3031
|
// Wait for the message to be sent before closing the window
|
|
@@ -2990,22 +3033,11 @@ var authentication;
|
|
|
2990
3033
|
}
|
|
2991
3034
|
authentication.notifySuccess = notifySuccess;
|
|
2992
3035
|
/**
|
|
2993
|
-
*
|
|
2994
|
-
*
|
|
2995
|
-
* {@link authentication.
|
|
2996
|
-
* authentication request failed.
|
|
2997
|
-
|
|
2998
|
-
*
|
|
2999
|
-
* @remarks
|
|
3000
|
-
* This function is usable only on the authentication window.
|
|
3001
|
-
* This call causes the authentication window to be closed.
|
|
3002
|
-
*
|
|
3003
|
-
* @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
|
|
3004
|
-
* this value in its callback or via the `Promise` return value
|
|
3005
|
-
* @param callbackUrl - Specifies the url to redirect back to if the client is Win32 Outlook.
|
|
3036
|
+
* @deprecated
|
|
3037
|
+
* This function used to have an unused optional second parameter called callbackUrl. Because it was not used, it has been removed.
|
|
3038
|
+
* Please use the {@link authentication.notifyFailure authentication.notifyFailure(result?: string): void} instead.
|
|
3006
3039
|
*/
|
|
3007
|
-
function notifyFailure(reason,
|
|
3008
|
-
redirectIfWin32Outlook(callbackUrl, 'reason', reason);
|
|
3040
|
+
function notifyFailure(reason, _callbackUrl) {
|
|
3009
3041
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.authentication);
|
|
3010
3042
|
sendMessageToParent('authentication.authenticate.failure', [reason]);
|
|
3011
3043
|
// Wait for the message to be sent before closing the window
|
|
@@ -3034,48 +3066,6 @@ var authentication;
|
|
|
3034
3066
|
closeAuthenticationWindow();
|
|
3035
3067
|
}
|
|
3036
3068
|
}
|
|
3037
|
-
/**
|
|
3038
|
-
* Validates that the callbackUrl param is a valid connector url, appends the result/reason and authSuccess/authFailure as URL fragments and redirects the window
|
|
3039
|
-
* @param callbackUrl - the connectors url to redirect to
|
|
3040
|
-
* @param key - "result" in case of success and "reason" in case of failure
|
|
3041
|
-
* @param value - the value of the passed result/reason parameter
|
|
3042
|
-
*/
|
|
3043
|
-
function redirectIfWin32Outlook(callbackUrl, key, value) {
|
|
3044
|
-
if (callbackUrl) {
|
|
3045
|
-
const link = document.createElement('a');
|
|
3046
|
-
link.href = decodeURIComponent(callbackUrl);
|
|
3047
|
-
if (link.host &&
|
|
3048
|
-
link.host !== ssrSafeWindow().location.host &&
|
|
3049
|
-
link.host === 'outlook.office.com' &&
|
|
3050
|
-
link.search.indexOf('client_type=Win32_Outlook') > -1) {
|
|
3051
|
-
if (key && key === 'result') {
|
|
3052
|
-
if (value) {
|
|
3053
|
-
link.href = updateUrlParameter(link.href, 'result', value);
|
|
3054
|
-
}
|
|
3055
|
-
Communication.currentWindow.location.assign(updateUrlParameter(link.href, 'authSuccess', ''));
|
|
3056
|
-
}
|
|
3057
|
-
if (key && key === 'reason') {
|
|
3058
|
-
if (value) {
|
|
3059
|
-
link.href = updateUrlParameter(link.href, 'reason', value);
|
|
3060
|
-
}
|
|
3061
|
-
Communication.currentWindow.location.assign(updateUrlParameter(link.href, 'authFailure', ''));
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
|
-
}
|
|
3065
|
-
}
|
|
3066
|
-
/**
|
|
3067
|
-
* Appends either result or reason as a fragment to the 'callbackUrl'
|
|
3068
|
-
* @param uri - the url to modify
|
|
3069
|
-
* @param key - the fragment key
|
|
3070
|
-
* @param value - the fragment value
|
|
3071
|
-
*/
|
|
3072
|
-
function updateUrlParameter(uri, key, value) {
|
|
3073
|
-
const i = uri.indexOf('#');
|
|
3074
|
-
let hash = i === -1 ? '#' : uri.substr(i);
|
|
3075
|
-
hash = hash + '&' + key + (value !== '' ? '=' + value : '');
|
|
3076
|
-
uri = i === -1 ? uri : uri.substr(0, i);
|
|
3077
|
-
return uri + hash;
|
|
3078
|
-
}
|
|
3079
3069
|
/**
|
|
3080
3070
|
* @hidden
|
|
3081
3071
|
* Limited set of data residencies information exposed to 1P application developers
|
|
@@ -3245,69 +3235,94 @@ var dialog;
|
|
|
3245
3235
|
}
|
|
3246
3236
|
url.submit = submit;
|
|
3247
3237
|
/**
|
|
3248
|
-
*
|
|
3238
|
+
* Subcapability that allows communication between the dialog and the parent app.
|
|
3249
3239
|
*
|
|
3250
3240
|
* @remarks
|
|
3251
|
-
*
|
|
3252
|
-
*
|
|
3253
|
-
* @param message - The message to send to the parent
|
|
3241
|
+
* Note that dialog can be invoked from parentless scenarios e.g. Search Message Extensions. The subcapability `parentCommunication` is not supported in such scenarios.
|
|
3254
3242
|
*
|
|
3255
3243
|
* @beta
|
|
3256
3244
|
*/
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3245
|
+
let parentCommunication;
|
|
3246
|
+
(function (parentCommunication) {
|
|
3247
|
+
/**
|
|
3248
|
+
* Send message to the parent from dialog
|
|
3249
|
+
*
|
|
3250
|
+
* @remarks
|
|
3251
|
+
* This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
|
|
3252
|
+
*
|
|
3253
|
+
* @param message - The message to send to the parent
|
|
3254
|
+
*
|
|
3255
|
+
* @beta
|
|
3256
|
+
*/
|
|
3257
|
+
function sendMessageToParentFromDialog(
|
|
3258
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3259
|
+
message) {
|
|
3260
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
|
|
3261
|
+
if (!isSupported()) {
|
|
3262
|
+
throw errorNotSupportedOnPlatform;
|
|
3263
|
+
}
|
|
3264
|
+
sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_ParentCommunication_SendMessageToParentFromDialog), 'messageForParent', [message]);
|
|
3263
3265
|
}
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3266
|
+
parentCommunication.sendMessageToParentFromDialog = sendMessageToParentFromDialog;
|
|
3267
|
+
/**
|
|
3268
|
+
* Send message to the dialog from the parent
|
|
3269
|
+
*
|
|
3270
|
+
* @param message - The message to send
|
|
3271
|
+
*
|
|
3272
|
+
* @beta
|
|
3273
|
+
*/
|
|
3274
|
+
function sendMessageToDialog(
|
|
3275
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3276
|
+
message) {
|
|
3277
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.meetingStage);
|
|
3278
|
+
if (!isSupported()) {
|
|
3279
|
+
throw errorNotSupportedOnPlatform;
|
|
3280
|
+
}
|
|
3281
|
+
sendMessageToParentWithVersion(getApiVersionTag(dialogTelemetryVersionNumber, ApiName.Dialog_Url_ParentCommunication_SendMessageToDialog), 'messageForChild', [message]);
|
|
3280
3282
|
}
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3283
|
+
parentCommunication.sendMessageToDialog = sendMessageToDialog;
|
|
3284
|
+
/**
|
|
3285
|
+
* Register a listener that will be triggered when a message is received from the app that opened the dialog.
|
|
3286
|
+
*
|
|
3287
|
+
* @remarks
|
|
3288
|
+
* This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
|
|
3289
|
+
*
|
|
3290
|
+
* @param listener - The listener that will be triggered.
|
|
3291
|
+
*
|
|
3292
|
+
* @beta
|
|
3293
|
+
*/
|
|
3294
|
+
function registerOnMessageFromParent(listener) {
|
|
3295
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.task);
|
|
3296
|
+
if (!isSupported()) {
|
|
3297
|
+
throw errorNotSupportedOnPlatform;
|
|
3298
|
+
}
|
|
3299
|
+
// We need to remove the original 'messageForChild'
|
|
3300
|
+
// handler since the original does not allow for post messages.
|
|
3301
|
+
// It is replaced by the user specified listener that is passed in.
|
|
3302
|
+
removeHandler('messageForChild');
|
|
3303
|
+
registerHandler('messageForChild', listener);
|
|
3304
|
+
storedMessages.reverse();
|
|
3305
|
+
while (storedMessages.length > 0) {
|
|
3306
|
+
const message = storedMessages.pop();
|
|
3307
|
+
listener(message);
|
|
3308
|
+
}
|
|
3298
3309
|
}
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3310
|
+
parentCommunication.registerOnMessageFromParent = registerOnMessageFromParent;
|
|
3311
|
+
/**
|
|
3312
|
+
* Checks if dialog.url.parentCommunication capability is supported by the host
|
|
3313
|
+
*
|
|
3314
|
+
* @returns boolean to represent whether dialog.url.parentCommunication capability is supported
|
|
3315
|
+
*
|
|
3316
|
+
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
3317
|
+
*
|
|
3318
|
+
* @beta
|
|
3319
|
+
*/
|
|
3320
|
+
function isSupported() {
|
|
3321
|
+
var _a, _b;
|
|
3322
|
+
return internalAPIs_ensureInitialized(runtime_runtime) && !!((_b = (_a = runtime_runtime.supports.dialog) === null || _a === void 0 ? void 0 : _a.url) === null || _b === void 0 ? void 0 : _b.parentCommunication);
|
|
3308
3323
|
}
|
|
3309
|
-
|
|
3310
|
-
url.
|
|
3324
|
+
parentCommunication.isSupported = isSupported;
|
|
3325
|
+
})(parentCommunication = url.parentCommunication || (url.parentCommunication = {}));
|
|
3311
3326
|
/**
|
|
3312
3327
|
* Checks if dialog.url module is supported by the host
|
|
3313
3328
|
*
|
|
@@ -4310,6 +4325,31 @@ function setCurrentFrameHelper(apiVersionTag, frameInfo) {
|
|
|
4310
4325
|
}
|
|
4311
4326
|
sendMessageToParentWithVersion(apiVersionTag, 'setFrameContext', [frameInfo]);
|
|
4312
4327
|
}
|
|
4328
|
+
function configSetValidityStateHelper(apiVersionTag, validityState) {
|
|
4329
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.settings, FrameContexts.remove);
|
|
4330
|
+
if (!pages.config.isSupported()) {
|
|
4331
|
+
throw errorNotSupportedOnPlatform;
|
|
4332
|
+
}
|
|
4333
|
+
sendMessageToParentWithVersion(apiVersionTag, 'settings.setValidityState', [validityState]);
|
|
4334
|
+
}
|
|
4335
|
+
function getConfigHelper(apiVersionTag) {
|
|
4336
|
+
return new Promise((resolve) => {
|
|
4337
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
|
|
4338
|
+
if (!pages.isSupported()) {
|
|
4339
|
+
throw errorNotSupportedOnPlatform;
|
|
4340
|
+
}
|
|
4341
|
+
resolve(sendAndUnwrapWithVersion(apiVersionTag, 'settings.getSettings'));
|
|
4342
|
+
});
|
|
4343
|
+
}
|
|
4344
|
+
function configSetConfigHelper(apiVersionTag, instanceConfig) {
|
|
4345
|
+
return new Promise((resolve) => {
|
|
4346
|
+
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
|
|
4347
|
+
if (!pages.config.isSupported()) {
|
|
4348
|
+
throw errorNotSupportedOnPlatform;
|
|
4349
|
+
}
|
|
4350
|
+
resolve(sendAndHandleStatusAndReasonWithVersion(apiVersionTag, 'settings.setSettings', instanceConfig));
|
|
4351
|
+
});
|
|
4352
|
+
}
|
|
4313
4353
|
/**
|
|
4314
4354
|
* Navigation-specific part of the SDK.
|
|
4315
4355
|
*/
|
|
@@ -4375,13 +4415,7 @@ var pages;
|
|
|
4375
4415
|
* @returns Promise that resolves with the {@link InstanceConfig} object.
|
|
4376
4416
|
*/
|
|
4377
4417
|
function getConfig() {
|
|
4378
|
-
return
|
|
4379
|
-
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
|
|
4380
|
-
if (!isSupported()) {
|
|
4381
|
-
throw errorNotSupportedOnPlatform;
|
|
4382
|
-
}
|
|
4383
|
-
resolve(sendAndUnwrapWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_GetConfig), 'settings.getSettings'));
|
|
4384
|
-
});
|
|
4418
|
+
return getConfigHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_GetConfig));
|
|
4385
4419
|
}
|
|
4386
4420
|
pages.getConfig = getConfig;
|
|
4387
4421
|
/**
|
|
@@ -4533,11 +4567,7 @@ var pages;
|
|
|
4533
4567
|
* @param validityState - Indicates whether the save or remove button is enabled for the user.
|
|
4534
4568
|
*/
|
|
4535
4569
|
function setValidityState(validityState) {
|
|
4536
|
-
|
|
4537
|
-
if (!isSupported()) {
|
|
4538
|
-
throw errorNotSupportedOnPlatform;
|
|
4539
|
-
}
|
|
4540
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetValidityState), 'settings.setValidityState', [validityState]);
|
|
4570
|
+
return configSetValidityStateHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetValidityState), validityState);
|
|
4541
4571
|
}
|
|
4542
4572
|
config.setValidityState = setValidityState;
|
|
4543
4573
|
/**
|
|
@@ -4547,13 +4577,7 @@ var pages;
|
|
|
4547
4577
|
* @returns Promise that resolves when the operation has completed.
|
|
4548
4578
|
*/
|
|
4549
4579
|
function setConfig(instanceConfig) {
|
|
4550
|
-
return
|
|
4551
|
-
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
|
|
4552
|
-
if (!isSupported()) {
|
|
4553
|
-
throw errorNotSupportedOnPlatform;
|
|
4554
|
-
}
|
|
4555
|
-
resolve(sendAndHandleStatusAndReasonWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetConfig), 'settings.setSettings', instanceConfig));
|
|
4556
|
-
});
|
|
4580
|
+
return configSetConfigHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_SetConfig), instanceConfig);
|
|
4557
4581
|
}
|
|
4558
4582
|
config.setConfig = setConfig;
|
|
4559
4583
|
/**
|
|
@@ -4564,7 +4588,7 @@ var pages;
|
|
|
4564
4588
|
* @param handler - The handler to invoke when the user selects the Save button.
|
|
4565
4589
|
*/
|
|
4566
4590
|
function registerOnSaveHandler(handler) {
|
|
4567
|
-
registerOnSaveHandlerHelper(handler, () => {
|
|
4591
|
+
registerOnSaveHandlerHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnSaveHandler), handler, () => {
|
|
4568
4592
|
if (!isNullOrUndefined(handler) && !isSupported()) {
|
|
4569
4593
|
throw errorNotSupportedOnPlatform;
|
|
4570
4594
|
}
|
|
@@ -4578,18 +4602,18 @@ var pages;
|
|
|
4578
4602
|
* @internal
|
|
4579
4603
|
* Limited to Microsoft-internal use
|
|
4580
4604
|
*
|
|
4605
|
+
* @param apiVersionTag - The API version tag, which is used for telemetry, composed by API version number and source API name.
|
|
4581
4606
|
* @param handler - The handler to invoke when the user selects the Save button.
|
|
4582
4607
|
* @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
|
|
4583
4608
|
*/
|
|
4584
|
-
function registerOnSaveHandlerHelper(handler, versionSpecificHelper) {
|
|
4609
|
+
function registerOnSaveHandlerHelper(apiVersionTag, handler, versionSpecificHelper) {
|
|
4585
4610
|
// allow for registration cleanup even when not finished initializing
|
|
4586
4611
|
!isNullOrUndefined(handler) && internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.settings);
|
|
4587
4612
|
if (versionSpecificHelper) {
|
|
4588
4613
|
versionSpecificHelper();
|
|
4589
4614
|
}
|
|
4590
4615
|
saveHandler = handler;
|
|
4591
|
-
!isNullOrUndefined(handler) &&
|
|
4592
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnSaveHandlerHelper), 'registerHandler', ['save']);
|
|
4616
|
+
!isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['save']);
|
|
4593
4617
|
}
|
|
4594
4618
|
config.registerOnSaveHandlerHelper = registerOnSaveHandlerHelper;
|
|
4595
4619
|
/**
|
|
@@ -4600,7 +4624,7 @@ var pages;
|
|
|
4600
4624
|
* @param handler - The handler to invoke when the user selects the Remove button.
|
|
4601
4625
|
*/
|
|
4602
4626
|
function registerOnRemoveHandler(handler) {
|
|
4603
|
-
registerOnRemoveHandlerHelper(handler, () => {
|
|
4627
|
+
registerOnRemoveHandlerHelper(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnRemoveHandler), handler, () => {
|
|
4604
4628
|
if (!isNullOrUndefined(handler) && !isSupported()) {
|
|
4605
4629
|
throw errorNotSupportedOnPlatform;
|
|
4606
4630
|
}
|
|
@@ -4614,18 +4638,18 @@ var pages;
|
|
|
4614
4638
|
* @internal
|
|
4615
4639
|
* Limited to Microsoft-internal use
|
|
4616
4640
|
*
|
|
4641
|
+
* @param apiVersionTag - The API version tag, which is used for telemetry, composed by API version number and source API name.
|
|
4617
4642
|
* @param handler - The handler to invoke when the user selects the Remove button.
|
|
4618
4643
|
* @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
|
|
4619
4644
|
*/
|
|
4620
|
-
function registerOnRemoveHandlerHelper(handler, versionSpecificHelper) {
|
|
4645
|
+
function registerOnRemoveHandlerHelper(apiVersionTag, handler, versionSpecificHelper) {
|
|
4621
4646
|
// allow for registration cleanup even when not finished initializing
|
|
4622
4647
|
!isNullOrUndefined(handler) && internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.remove, FrameContexts.settings);
|
|
4623
4648
|
if (versionSpecificHelper) {
|
|
4624
4649
|
versionSpecificHelper();
|
|
4625
4650
|
}
|
|
4626
4651
|
removeHandler = handler;
|
|
4627
|
-
!isNullOrUndefined(handler) &&
|
|
4628
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_Config_RegisterOnRemoveHandlerHelper), 'registerHandler', ['remove']);
|
|
4652
|
+
!isNullOrUndefined(handler) && sendMessageToParentWithVersion(apiVersionTag, 'registerHandler', ['remove']);
|
|
4629
4653
|
}
|
|
4630
4654
|
config.registerOnRemoveHandlerHelper = registerOnRemoveHandlerHelper;
|
|
4631
4655
|
function handleSave(result) {
|
|
@@ -4664,12 +4688,12 @@ var pages;
|
|
|
4664
4688
|
}
|
|
4665
4689
|
notifySuccess() {
|
|
4666
4690
|
this.ensureNotNotified();
|
|
4667
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.
|
|
4691
|
+
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_SaveEvent_NotifySuccess), 'settings.save.success');
|
|
4668
4692
|
this.notified = true;
|
|
4669
4693
|
}
|
|
4670
4694
|
notifyFailure(reason) {
|
|
4671
4695
|
this.ensureNotNotified();
|
|
4672
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.
|
|
4696
|
+
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_SaveEvent_NotifyFailure), 'settings.save.failure', [reason]);
|
|
4673
4697
|
this.notified = true;
|
|
4674
4698
|
}
|
|
4675
4699
|
ensureNotNotified() {
|
|
@@ -4701,12 +4725,12 @@ var pages;
|
|
|
4701
4725
|
}
|
|
4702
4726
|
notifySuccess() {
|
|
4703
4727
|
this.ensureNotNotified();
|
|
4704
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.
|
|
4728
|
+
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_RemoveEvent_NotifySuccess), 'settings.remove.success');
|
|
4705
4729
|
this.notified = true;
|
|
4706
4730
|
}
|
|
4707
4731
|
notifyFailure(reason) {
|
|
4708
4732
|
this.ensureNotNotified();
|
|
4709
|
-
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.
|
|
4733
|
+
sendMessageToParentWithVersion(getApiVersionTag(pagesTelemetryVersionNumber, ApiName.Pages_RemoveEvent_NotifyFailure), 'settings.remove.failure', [reason]);
|
|
4710
4734
|
this.notified = true;
|
|
4711
4735
|
}
|
|
4712
4736
|
ensureNotNotified() {
|
|
@@ -4821,6 +4845,8 @@ var pages;
|
|
|
4821
4845
|
* Hide from docs
|
|
4822
4846
|
* ------
|
|
4823
4847
|
* Provides APIs to interact with the full-trust part of the SDK. Limited to 1P applications
|
|
4848
|
+
* @internal
|
|
4849
|
+
* Limited to Microsoft-internal use
|
|
4824
4850
|
*/
|
|
4825
4851
|
let fullTrust;
|
|
4826
4852
|
(function (fullTrust) {
|
|
@@ -4829,6 +4855,7 @@ var pages;
|
|
|
4829
4855
|
* Hide from docs
|
|
4830
4856
|
* ------
|
|
4831
4857
|
* Place the tab into full-screen mode.
|
|
4858
|
+
*
|
|
4832
4859
|
*/
|
|
4833
4860
|
function enterFullscreen() {
|
|
4834
4861
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content);
|
|
@@ -5261,6 +5288,125 @@ function handlers_registerOnResumeHandler(handler) {
|
|
|
5261
5288
|
!isNullOrUndefined(handler) && sendMessageToParent('registerHandler', ['load']);
|
|
5262
5289
|
}
|
|
5263
5290
|
|
|
5291
|
+
;// CONCATENATED MODULE: ./src/internal/nestedAppAuth.ts
|
|
5292
|
+
|
|
5293
|
+
|
|
5294
|
+
const nestedAppAuthLogger = getLogger('nestedAppAuth');
|
|
5295
|
+
const tryPolyfillWithNestedAppAuthBridgeLogger = nestedAppAuthLogger.extend('tryPolyfillWithNestedAppAuthBridge');
|
|
5296
|
+
/**
|
|
5297
|
+
* @hidden
|
|
5298
|
+
* Enumeration for nested app authentication message event names.
|
|
5299
|
+
*
|
|
5300
|
+
* @internal
|
|
5301
|
+
* Limited to Microsoft-internal use
|
|
5302
|
+
*
|
|
5303
|
+
* @enum {string}
|
|
5304
|
+
*
|
|
5305
|
+
* @property {string} Request - Event name for a nested app authentication request.
|
|
5306
|
+
* @property {string} Response - Event name for a nested app authentication response.
|
|
5307
|
+
*/
|
|
5308
|
+
var NestedAppAuthMessageEventNames;
|
|
5309
|
+
(function (NestedAppAuthMessageEventNames) {
|
|
5310
|
+
NestedAppAuthMessageEventNames["Request"] = "NestedAppAuthRequest";
|
|
5311
|
+
NestedAppAuthMessageEventNames["Response"] = "NestedAppAuthResponse";
|
|
5312
|
+
})(NestedAppAuthMessageEventNames || (NestedAppAuthMessageEventNames = {}));
|
|
5313
|
+
/**
|
|
5314
|
+
* @hidden
|
|
5315
|
+
* Attempt to polyfill the nestedAppAuthBridge object on the given window
|
|
5316
|
+
*
|
|
5317
|
+
* @internal
|
|
5318
|
+
* Limited to Microsoft-internal use
|
|
5319
|
+
*/
|
|
5320
|
+
function tryPolyfillWithNestedAppAuthBridge(clientSupportedSDKVersion, window, handlers) {
|
|
5321
|
+
var _a;
|
|
5322
|
+
const logger = tryPolyfillWithNestedAppAuthBridgeLogger;
|
|
5323
|
+
if (GlobalVars.isFramelessWindow) {
|
|
5324
|
+
logger('Cannot polyfill nestedAppAuthBridge as current window is frameless');
|
|
5325
|
+
return;
|
|
5326
|
+
}
|
|
5327
|
+
if (!window) {
|
|
5328
|
+
logger('Cannot polyfill nestedAppAuthBridge as current window does not exist');
|
|
5329
|
+
return;
|
|
5330
|
+
}
|
|
5331
|
+
const parsedClientSupportedSDKVersion = (() => {
|
|
5332
|
+
try {
|
|
5333
|
+
return JSON.parse(clientSupportedSDKVersion);
|
|
5334
|
+
}
|
|
5335
|
+
catch (e) {
|
|
5336
|
+
return null;
|
|
5337
|
+
}
|
|
5338
|
+
})();
|
|
5339
|
+
if (!parsedClientSupportedSDKVersion || !((_a = parsedClientSupportedSDKVersion.supports) === null || _a === void 0 ? void 0 : _a.nestedAppAuth)) {
|
|
5340
|
+
logger('Cannot polyfill nestedAppAuthBridge as current hub does not support nested app auth');
|
|
5341
|
+
return;
|
|
5342
|
+
}
|
|
5343
|
+
const extendedWindow = window;
|
|
5344
|
+
if (extendedWindow.nestedAppAuthBridge) {
|
|
5345
|
+
logger('nestedAppAuthBridge already exists on current window, skipping polyfill');
|
|
5346
|
+
return;
|
|
5347
|
+
}
|
|
5348
|
+
const nestedAppAuthBridge = createNestedAppAuthBridge(extendedWindow, handlers);
|
|
5349
|
+
if (nestedAppAuthBridge) {
|
|
5350
|
+
extendedWindow.nestedAppAuthBridge = nestedAppAuthBridge;
|
|
5351
|
+
}
|
|
5352
|
+
}
|
|
5353
|
+
const createNestedAppAuthBridgeLogger = nestedAppAuthLogger.extend('createNestedAppAuthBridge');
|
|
5354
|
+
/**
|
|
5355
|
+
* @hidden
|
|
5356
|
+
* Creates a bridge for nested app authentication.
|
|
5357
|
+
*
|
|
5358
|
+
* @internal
|
|
5359
|
+
* Limited to Microsoft-internal use
|
|
5360
|
+
*
|
|
5361
|
+
* @param {Window | null} window - The window object where the nested app authentication bridge will be created. If null, the function will log an error message and return null.
|
|
5362
|
+
* @returns {NestedAppAuthBridge | null} Returns an object with methods for adding and removing event listeners, and posting messages. If the provided window is null, returns null.
|
|
5363
|
+
*
|
|
5364
|
+
* @property {Function} addEventListener - Adds an event listener to the window. Only supports the 'message' event. If an unsupported event is passed, logs an error message.
|
|
5365
|
+
* @property {Function} postMessage - Posts a message to the window. The message should be a stringified JSON object with a messageType of 'NestedAppAuthRequest'. If the message does not meet these criteria, logs an error message.
|
|
5366
|
+
* @property {Function} removeEventListener - Removes an event listener from the window.
|
|
5367
|
+
*/
|
|
5368
|
+
function createNestedAppAuthBridge(window, bridgeHandlers) {
|
|
5369
|
+
const logger = createNestedAppAuthBridgeLogger;
|
|
5370
|
+
if (!window) {
|
|
5371
|
+
logger('nestedAppAuthBridge cannot be created as current window does not exist');
|
|
5372
|
+
return null;
|
|
5373
|
+
}
|
|
5374
|
+
const { onMessage, sendPostMessage } = bridgeHandlers;
|
|
5375
|
+
const nestedAppAuthBridgeHandler = (callback) => (evt) => onMessage(evt, callback);
|
|
5376
|
+
return {
|
|
5377
|
+
addEventListener: (eventName, callback) => {
|
|
5378
|
+
if (eventName === 'message') {
|
|
5379
|
+
window.addEventListener(eventName, nestedAppAuthBridgeHandler(callback));
|
|
5380
|
+
}
|
|
5381
|
+
else {
|
|
5382
|
+
logger(`Event ${eventName} is not supported by nestedAppAuthBridge`);
|
|
5383
|
+
}
|
|
5384
|
+
},
|
|
5385
|
+
postMessage: (message) => {
|
|
5386
|
+
// Validate that it is a valid auth bridge request message
|
|
5387
|
+
const parsedMessage = (() => {
|
|
5388
|
+
try {
|
|
5389
|
+
return JSON.parse(message);
|
|
5390
|
+
}
|
|
5391
|
+
catch (e) {
|
|
5392
|
+
return null;
|
|
5393
|
+
}
|
|
5394
|
+
})();
|
|
5395
|
+
if (!parsedMessage ||
|
|
5396
|
+
typeof parsedMessage !== 'object' ||
|
|
5397
|
+
parsedMessage.messageType !== NestedAppAuthMessageEventNames.Request) {
|
|
5398
|
+
logger('Unrecognized data format received by app, message being ignored. Message: %o', message);
|
|
5399
|
+
return;
|
|
5400
|
+
}
|
|
5401
|
+
// Post the message to the top window
|
|
5402
|
+
sendPostMessage(message);
|
|
5403
|
+
},
|
|
5404
|
+
removeEventListener: (eventName, callback) => {
|
|
5405
|
+
window.removeEventListener(eventName, nestedAppAuthBridgeHandler(callback));
|
|
5406
|
+
},
|
|
5407
|
+
};
|
|
5408
|
+
}
|
|
5409
|
+
|
|
5264
5410
|
;// CONCATENATED MODULE: ./src/internal/communication.ts
|
|
5265
5411
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
5266
5412
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -5282,6 +5428,7 @@ var communication_awaiter = (undefined && undefined.__awaiter) || function (this
|
|
|
5282
5428
|
|
|
5283
5429
|
|
|
5284
5430
|
|
|
5431
|
+
|
|
5285
5432
|
const communicationLogger = getLogger('communication');
|
|
5286
5433
|
/**
|
|
5287
5434
|
* @internal
|
|
@@ -5297,6 +5444,7 @@ class CommunicationPrivate {
|
|
|
5297
5444
|
}
|
|
5298
5445
|
CommunicationPrivate.parentMessageQueue = [];
|
|
5299
5446
|
CommunicationPrivate.childMessageQueue = [];
|
|
5447
|
+
CommunicationPrivate.topMessageQueue = [];
|
|
5300
5448
|
CommunicationPrivate.nextMessageId = 0;
|
|
5301
5449
|
CommunicationPrivate.callbacks = {};
|
|
5302
5450
|
CommunicationPrivate.promiseCallbacks = {};
|
|
@@ -5314,6 +5462,7 @@ function initializeCommunication(validMessageOrigins, apiVersionTag) {
|
|
|
5314
5462
|
Communication.currentWindow.parent !== Communication.currentWindow.self
|
|
5315
5463
|
? Communication.currentWindow.parent
|
|
5316
5464
|
: Communication.currentWindow.opener;
|
|
5465
|
+
Communication.topWindow = Communication.currentWindow.top;
|
|
5317
5466
|
// Listen to messages from the parent or child frame.
|
|
5318
5467
|
// Frameless windows will only receive this event from child frames and if validMessageOrigins is passed.
|
|
5319
5468
|
if (Communication.parentWindow || validMessageOrigins) {
|
|
@@ -5338,6 +5487,10 @@ function initializeCommunication(validMessageOrigins, apiVersionTag) {
|
|
|
5338
5487
|
version,
|
|
5339
5488
|
latestRuntimeApiVersion,
|
|
5340
5489
|
]).then(([context, clientType, runtimeConfig, clientSupportedSDKVersion]) => {
|
|
5490
|
+
tryPolyfillWithNestedAppAuthBridge(clientSupportedSDKVersion, Communication.currentWindow, {
|
|
5491
|
+
onMessage: processAuthBridgeMessage,
|
|
5492
|
+
sendPostMessage: sendNestedAuthRequestToTopWindow,
|
|
5493
|
+
});
|
|
5341
5494
|
return { context, clientType, runtimeConfig, clientSupportedSDKVersion };
|
|
5342
5495
|
});
|
|
5343
5496
|
}
|
|
@@ -5553,19 +5706,29 @@ function sendMessageToParent(actionName, argsOrCallback, callback) {
|
|
|
5553
5706
|
CommunicationPrivate.callbacks[request.id] = callback;
|
|
5554
5707
|
}
|
|
5555
5708
|
}
|
|
5556
|
-
const
|
|
5709
|
+
const sendNestedAuthRequestToTopWindowLogger = communicationLogger.extend('sendNestedAuthRequestToTopWindow');
|
|
5557
5710
|
/**
|
|
5558
5711
|
* @internal
|
|
5559
5712
|
* Limited to Microsoft-internal use
|
|
5560
5713
|
*/
|
|
5561
|
-
function
|
|
5562
|
-
const logger =
|
|
5563
|
-
const targetWindow = Communication.
|
|
5564
|
-
const request =
|
|
5565
|
-
logger('Message %i information: %o', request.id, { actionName
|
|
5714
|
+
function sendNestedAuthRequestToTopWindow(message) {
|
|
5715
|
+
const logger = sendNestedAuthRequestToTopWindowLogger;
|
|
5716
|
+
const targetWindow = Communication.topWindow;
|
|
5717
|
+
const request = createNestedAppAuthRequest(message);
|
|
5718
|
+
logger('Message %i information: %o', request.id, { actionName: request.func });
|
|
5719
|
+
return sendRequestToTargetWindowHelper(targetWindow, request);
|
|
5720
|
+
}
|
|
5721
|
+
const sendRequestToTargetWindowHelperLogger = communicationLogger.extend('sendRequestToTargetWindowHelper');
|
|
5722
|
+
/**
|
|
5723
|
+
* @internal
|
|
5724
|
+
* Limited to Microsoft-internal use
|
|
5725
|
+
*/
|
|
5726
|
+
function sendRequestToTargetWindowHelper(targetWindow, request) {
|
|
5727
|
+
const logger = sendRequestToTargetWindowHelperLogger;
|
|
5728
|
+
const targetWindowName = getTargetName(targetWindow);
|
|
5566
5729
|
if (GlobalVars.isFramelessWindow) {
|
|
5567
5730
|
if (Communication.currentWindow && Communication.currentWindow.nativeInterface) {
|
|
5568
|
-
logger(
|
|
5731
|
+
logger(`Sending message %i to ${targetWindowName} via framelessPostMessage interface`, request.id);
|
|
5569
5732
|
Communication.currentWindow.nativeInterface.framelessPostMessage(JSON.stringify(request));
|
|
5570
5733
|
}
|
|
5571
5734
|
}
|
|
@@ -5574,16 +5737,29 @@ function sendMessageToParentHelper(apiVersionTag, actionName, args) {
|
|
|
5574
5737
|
// If the target window isn't closed and we already know its origin, send the message right away; otherwise,
|
|
5575
5738
|
// queue the message and send it after the origin is established
|
|
5576
5739
|
if (targetWindow && targetOrigin) {
|
|
5577
|
-
logger(
|
|
5740
|
+
logger(`Sending message %i to ${targetWindowName} via postMessage`, request.id);
|
|
5578
5741
|
targetWindow.postMessage(request, targetOrigin);
|
|
5579
5742
|
}
|
|
5580
5743
|
else {
|
|
5581
|
-
logger(
|
|
5744
|
+
logger(`Adding message %i to ${targetWindowName} message queue`, request.id);
|
|
5582
5745
|
getTargetMessageQueue(targetWindow).push(request);
|
|
5583
5746
|
}
|
|
5584
5747
|
}
|
|
5585
5748
|
return request;
|
|
5586
5749
|
}
|
|
5750
|
+
const sendMessageToParentHelperLogger = communicationLogger.extend('sendMessageToParentHelper');
|
|
5751
|
+
/**
|
|
5752
|
+
* @internal
|
|
5753
|
+
* Limited to Microsoft-internal use
|
|
5754
|
+
*/
|
|
5755
|
+
function sendMessageToParentHelper(apiVersionTag, actionName, args) {
|
|
5756
|
+
const logger = sendMessageToParentHelperLogger;
|
|
5757
|
+
const targetWindow = Communication.parentWindow;
|
|
5758
|
+
const request = createMessageRequest(apiVersionTag, actionName, args);
|
|
5759
|
+
/* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
|
|
5760
|
+
logger('Message %i information: %o', request.id, { actionName, args });
|
|
5761
|
+
return sendRequestToTargetWindowHelper(targetWindow, request);
|
|
5762
|
+
}
|
|
5587
5763
|
const processMessageLogger = communicationLogger.extend('processMessage');
|
|
5588
5764
|
/**
|
|
5589
5765
|
* @internal
|
|
@@ -5618,6 +5794,69 @@ function processMessage(evt) {
|
|
|
5618
5794
|
});
|
|
5619
5795
|
});
|
|
5620
5796
|
}
|
|
5797
|
+
const processAuthBridgeMessageLogger = communicationLogger.extend('processAuthBridgeMessage');
|
|
5798
|
+
/**
|
|
5799
|
+
* @internal
|
|
5800
|
+
* Limited to Microsoft-internal use
|
|
5801
|
+
*/
|
|
5802
|
+
function processAuthBridgeMessage(evt, onMessageReceived) {
|
|
5803
|
+
var _a, _b;
|
|
5804
|
+
const logger = processAuthBridgeMessageLogger;
|
|
5805
|
+
// Process only if we received a valid message
|
|
5806
|
+
if (!evt || !evt.data || typeof evt.data !== 'object') {
|
|
5807
|
+
logger('Unrecognized message format received by app, message being ignored. Message: %o', evt);
|
|
5808
|
+
return;
|
|
5809
|
+
}
|
|
5810
|
+
const { args } = evt.data;
|
|
5811
|
+
const [, message] = args !== null && args !== void 0 ? args : [];
|
|
5812
|
+
const parsedData = (() => {
|
|
5813
|
+
try {
|
|
5814
|
+
return JSON.parse(message);
|
|
5815
|
+
}
|
|
5816
|
+
catch (e) {
|
|
5817
|
+
return null;
|
|
5818
|
+
}
|
|
5819
|
+
})();
|
|
5820
|
+
// Validate that it is a valid auth bridge response message
|
|
5821
|
+
if (!parsedData ||
|
|
5822
|
+
typeof parsedData !== 'object' ||
|
|
5823
|
+
parsedData.messageType !== NestedAppAuthMessageEventNames.Response) {
|
|
5824
|
+
logger('Unrecognized data format received by app, message being ignored. Message: %o', evt);
|
|
5825
|
+
return;
|
|
5826
|
+
}
|
|
5827
|
+
// Process only if the message is coming from a different window and a valid origin
|
|
5828
|
+
// valid origins are either a pre-known origin or one specified by the app developer
|
|
5829
|
+
// in their call to app.initialize
|
|
5830
|
+
const messageSource = evt.source || ((_a = evt === null || evt === void 0 ? void 0 : evt.originalEvent) === null || _a === void 0 ? void 0 : _a.source);
|
|
5831
|
+
const messageOrigin = evt.origin || ((_b = evt === null || evt === void 0 ? void 0 : evt.originalEvent) === null || _b === void 0 ? void 0 : _b.origin);
|
|
5832
|
+
if (!messageSource) {
|
|
5833
|
+
logger('Message being ignored by app because it is coming for a target that is null');
|
|
5834
|
+
return;
|
|
5835
|
+
}
|
|
5836
|
+
if (!shouldProcessMessage(messageSource, messageOrigin)) {
|
|
5837
|
+
logger('Message being ignored by app because it is either coming from the current window or a different window with an invalid origin');
|
|
5838
|
+
return;
|
|
5839
|
+
}
|
|
5840
|
+
/**
|
|
5841
|
+
* In most cases, top level window and the parent window will be same.
|
|
5842
|
+
* If they're not, perform the necessary updates for the top level window.
|
|
5843
|
+
*
|
|
5844
|
+
* Top window logic to flush messages is kept independent so that we don't affect
|
|
5845
|
+
* any of the code for the existing communication channel.
|
|
5846
|
+
*/
|
|
5847
|
+
if (!Communication.topWindow || Communication.topWindow.closed || messageSource === Communication.topWindow) {
|
|
5848
|
+
Communication.topWindow = messageSource;
|
|
5849
|
+
Communication.topOrigin = messageOrigin;
|
|
5850
|
+
}
|
|
5851
|
+
// Clean up pointers to closed parent and child windows
|
|
5852
|
+
if (Communication.topWindow && Communication.topWindow.closed) {
|
|
5853
|
+
Communication.topWindow = null;
|
|
5854
|
+
Communication.topOrigin = null;
|
|
5855
|
+
}
|
|
5856
|
+
flushMessageQueue(Communication.topWindow);
|
|
5857
|
+
// Return the response to the registered callback
|
|
5858
|
+
onMessageReceived(message);
|
|
5859
|
+
}
|
|
5621
5860
|
const shouldProcessMessageLogger = communicationLogger.extend('shouldProcessMessage');
|
|
5622
5861
|
/**
|
|
5623
5862
|
* @hidden
|
|
@@ -5756,27 +5995,70 @@ function handleChildMessage(evt) {
|
|
|
5756
5995
|
}
|
|
5757
5996
|
}
|
|
5758
5997
|
}
|
|
5998
|
+
/**
|
|
5999
|
+
* @internal
|
|
6000
|
+
* Limited to Microsoft-internal use
|
|
6001
|
+
*
|
|
6002
|
+
* Checks if the top window and the parent window are different.
|
|
6003
|
+
*
|
|
6004
|
+
* @returns {boolean} Returns true if the top window and the parent window are different, false otherwise.
|
|
6005
|
+
*/
|
|
6006
|
+
function areTopAndParentWindowsDistinct() {
|
|
6007
|
+
return Communication.topWindow !== Communication.parentWindow;
|
|
6008
|
+
}
|
|
5759
6009
|
/**
|
|
5760
6010
|
* @internal
|
|
5761
6011
|
* Limited to Microsoft-internal use
|
|
5762
6012
|
*/
|
|
5763
6013
|
function getTargetMessageQueue(targetWindow) {
|
|
5764
|
-
|
|
5765
|
-
|
|
5766
|
-
|
|
5767
|
-
|
|
5768
|
-
|
|
6014
|
+
if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
|
|
6015
|
+
return CommunicationPrivate.topMessageQueue;
|
|
6016
|
+
}
|
|
6017
|
+
else if (targetWindow === Communication.parentWindow) {
|
|
6018
|
+
return CommunicationPrivate.parentMessageQueue;
|
|
6019
|
+
}
|
|
6020
|
+
else if (targetWindow === Communication.childWindow) {
|
|
6021
|
+
return CommunicationPrivate.childMessageQueue;
|
|
6022
|
+
}
|
|
6023
|
+
else {
|
|
6024
|
+
return [];
|
|
6025
|
+
}
|
|
5769
6026
|
}
|
|
5770
6027
|
/**
|
|
5771
6028
|
* @internal
|
|
5772
6029
|
* Limited to Microsoft-internal use
|
|
5773
6030
|
*/
|
|
5774
6031
|
function getTargetOrigin(targetWindow) {
|
|
5775
|
-
|
|
5776
|
-
|
|
5777
|
-
|
|
5778
|
-
|
|
5779
|
-
|
|
6032
|
+
if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
|
|
6033
|
+
return Communication.topOrigin;
|
|
6034
|
+
}
|
|
6035
|
+
else if (targetWindow === Communication.parentWindow) {
|
|
6036
|
+
return Communication.parentOrigin;
|
|
6037
|
+
}
|
|
6038
|
+
else if (targetWindow === Communication.childWindow) {
|
|
6039
|
+
return Communication.childOrigin;
|
|
6040
|
+
}
|
|
6041
|
+
else {
|
|
6042
|
+
return null;
|
|
6043
|
+
}
|
|
6044
|
+
}
|
|
6045
|
+
/**
|
|
6046
|
+
* @internal
|
|
6047
|
+
* Limited to Microsoft-internal use
|
|
6048
|
+
*/
|
|
6049
|
+
function getTargetName(targetWindow) {
|
|
6050
|
+
if (targetWindow === Communication.topWindow && areTopAndParentWindowsDistinct()) {
|
|
6051
|
+
return 'top';
|
|
6052
|
+
}
|
|
6053
|
+
else if (targetWindow === Communication.parentWindow) {
|
|
6054
|
+
return 'parent';
|
|
6055
|
+
}
|
|
6056
|
+
else if (targetWindow === Communication.childWindow) {
|
|
6057
|
+
return 'child';
|
|
6058
|
+
}
|
|
6059
|
+
else {
|
|
6060
|
+
return null;
|
|
6061
|
+
}
|
|
5780
6062
|
}
|
|
5781
6063
|
const flushMessageQueueLogger = communicationLogger.extend('flushMessageQueue');
|
|
5782
6064
|
/**
|
|
@@ -5786,7 +6068,7 @@ const flushMessageQueueLogger = communicationLogger.extend('flushMessageQueue');
|
|
|
5786
6068
|
function flushMessageQueue(targetWindow) {
|
|
5787
6069
|
const targetOrigin = getTargetOrigin(targetWindow);
|
|
5788
6070
|
const targetMessageQueue = getTargetMessageQueue(targetWindow);
|
|
5789
|
-
const target = targetWindow
|
|
6071
|
+
const target = getTargetName(targetWindow);
|
|
5790
6072
|
while (targetWindow && targetOrigin && targetMessageQueue.length > 0) {
|
|
5791
6073
|
const request = targetMessageQueue.shift();
|
|
5792
6074
|
/* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
|
|
@@ -5860,6 +6142,28 @@ function createMessageRequest(apiVersionTag, func, args) {
|
|
|
5860
6142
|
apiversiontag: apiVersionTag,
|
|
5861
6143
|
};
|
|
5862
6144
|
}
|
|
6145
|
+
/**
|
|
6146
|
+
* @internal
|
|
6147
|
+
* Limited to Microsoft-internal use
|
|
6148
|
+
*
|
|
6149
|
+
* Creates a nested app authentication request.
|
|
6150
|
+
*
|
|
6151
|
+
* @param {string} message - The message to be included in the request. This is typically a stringified JSON object containing the details of the authentication request.
|
|
6152
|
+
* The reason for using a string is to allow complex data structures to be sent as a message while avoiding potential issues with object serialization and deserialization.
|
|
6153
|
+
*
|
|
6154
|
+
* @returns {NestedAppAuthRequest} Returns a NestedAppAuthRequest object with a unique id, the function name set to 'nestedAppAuthRequest', the current timestamp, an empty args array, and the provided message as data.
|
|
6155
|
+
*/
|
|
6156
|
+
function createNestedAppAuthRequest(message) {
|
|
6157
|
+
return {
|
|
6158
|
+
id: CommunicationPrivate.nextMessageId++,
|
|
6159
|
+
func: 'nestedAppAuth.execute',
|
|
6160
|
+
timestamp: Date.now(),
|
|
6161
|
+
// Since this is a nested app auth request, we don't need to send any args.
|
|
6162
|
+
// We avoid overloading the args array with the message to avoid potential issues processing of these messages on the hubSDK.
|
|
6163
|
+
args: [],
|
|
6164
|
+
data: message,
|
|
6165
|
+
};
|
|
6166
|
+
}
|
|
5863
6167
|
/**
|
|
5864
6168
|
* @internal
|
|
5865
6169
|
* Limited to Microsoft-internal use
|
|
@@ -7621,6 +7925,11 @@ class ParentAppWindow {
|
|
|
7621
7925
|
|
|
7622
7926
|
|
|
7623
7927
|
|
|
7928
|
+
|
|
7929
|
+
/**
|
|
7930
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
7931
|
+
*/
|
|
7932
|
+
const secondaryBrowserTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
7624
7933
|
/**
|
|
7625
7934
|
* Namespace to power up the in-app browser experiences in the host app.
|
|
7626
7935
|
* For e.g., opening a URL in the host app inside a browser
|
|
@@ -7651,7 +7960,7 @@ var secondaryBrowser;
|
|
|
7651
7960
|
if (!url || !isValidHttpsURL(url)) {
|
|
7652
7961
|
throw { errorCode: ErrorCode.INVALID_ARGUMENTS, message: 'Invalid Url: Only https URL is allowed' };
|
|
7653
7962
|
}
|
|
7654
|
-
return
|
|
7963
|
+
return sendAndHandleSdkErrorWithVersion(getApiVersionTag(secondaryBrowserTelemetryVersionNumber, ApiName.SecondaryBrowser_OpenUrl), 'secondaryBrowser.open', url.toString());
|
|
7655
7964
|
}
|
|
7656
7965
|
secondaryBrowser.open = open;
|
|
7657
7966
|
/**
|
|
@@ -8880,6 +9189,11 @@ function validatePersona(persona) {
|
|
|
8880
9189
|
|
|
8881
9190
|
|
|
8882
9191
|
|
|
9192
|
+
|
|
9193
|
+
/**
|
|
9194
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
9195
|
+
*/
|
|
9196
|
+
const profileTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
8883
9197
|
/**
|
|
8884
9198
|
* Namespace for profile related APIs.
|
|
8885
9199
|
*
|
|
@@ -8913,7 +9227,7 @@ var profile;
|
|
|
8913
9227
|
height: showProfileRequest.targetElementBoundingRect.height,
|
|
8914
9228
|
},
|
|
8915
9229
|
};
|
|
8916
|
-
resolve(
|
|
9230
|
+
resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(profileTelemetryVersionNumber, ApiName.Profile_ShowProfile), 'profile.showProfile', requestInternal));
|
|
8917
9231
|
});
|
|
8918
9232
|
}
|
|
8919
9233
|
profile.showProfile = showProfile;
|
|
@@ -9414,6 +9728,11 @@ VideoPerformanceStatistics.maxSessionTimeoutInMs = 1000 * 30;
|
|
|
9414
9728
|
;// CONCATENATED MODULE: ./src/internal/videoPerformanceMonitor.ts
|
|
9415
9729
|
|
|
9416
9730
|
|
|
9731
|
+
|
|
9732
|
+
/**
|
|
9733
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
9734
|
+
*/
|
|
9735
|
+
const videoPerformanceMonitorTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
9417
9736
|
/**
|
|
9418
9737
|
* This class is used to monitor the performance of video processing, and report performance events.
|
|
9419
9738
|
*/
|
|
@@ -9425,7 +9744,7 @@ class VideoPerformanceMonitor {
|
|
|
9425
9744
|
this.frameProcessingStartedAt = 0;
|
|
9426
9745
|
this.frameProcessingTimeCost = 0;
|
|
9427
9746
|
this.processedFrameCount = 0;
|
|
9428
|
-
this.performanceStatistics = new VideoPerformanceStatistics(VideoPerformanceMonitor.distributionBinSize, (result) => this.reportPerformanceEvent('video.performance.performanceDataGenerated', [result]));
|
|
9747
|
+
this.performanceStatistics = new VideoPerformanceStatistics(VideoPerformanceMonitor.distributionBinSize, (result) => this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_Constructor), 'video.performance.performanceDataGenerated', [result]));
|
|
9429
9748
|
}
|
|
9430
9749
|
/**
|
|
9431
9750
|
* Start to check frame processing time intervally
|
|
@@ -9438,7 +9757,7 @@ class VideoPerformanceMonitor {
|
|
|
9438
9757
|
}
|
|
9439
9758
|
const averageFrameProcessingTime = this.frameProcessingTimeCost / this.processedFrameCount;
|
|
9440
9759
|
if (averageFrameProcessingTime > this.frameProcessTimeLimit) {
|
|
9441
|
-
this.reportPerformanceEvent('video.performance.frameProcessingSlow', [averageFrameProcessingTime]);
|
|
9760
|
+
this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_StartMonitorSlowFrameProcessing), 'video.performance.frameProcessingSlow', [averageFrameProcessingTime]);
|
|
9442
9761
|
}
|
|
9443
9762
|
this.frameProcessingTimeCost = 0;
|
|
9444
9763
|
this.processedFrameCount = 0;
|
|
@@ -9506,11 +9825,7 @@ class VideoPerformanceMonitor {
|
|
|
9506
9825
|
this.performanceStatistics.processEnds();
|
|
9507
9826
|
if (!this.isFirstFrameProcessed) {
|
|
9508
9827
|
this.isFirstFrameProcessed = true;
|
|
9509
|
-
this.reportPerformanceEvent('video.performance.firstFrameProcessed', [
|
|
9510
|
-
Date.now(),
|
|
9511
|
-
this.appliedEffect.effectId,
|
|
9512
|
-
(_a = this.appliedEffect) === null || _a === void 0 ? void 0 : _a.effectParam,
|
|
9513
|
-
]);
|
|
9828
|
+
this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_ReportFrameProcessed), 'video.performance.firstFrameProcessed', [Date.now(), this.appliedEffect.effectId, (_a = this.appliedEffect) === null || _a === void 0 ? void 0 : _a.effectParam]);
|
|
9514
9829
|
}
|
|
9515
9830
|
}
|
|
9516
9831
|
/**
|
|
@@ -9526,7 +9841,7 @@ class VideoPerformanceMonitor {
|
|
|
9526
9841
|
reportTextureStreamAcquired() {
|
|
9527
9842
|
if (this.gettingTextureStreamStartedAt !== undefined) {
|
|
9528
9843
|
const timeTaken = performance.now() - this.gettingTextureStreamStartedAt;
|
|
9529
|
-
this.reportPerformanceEvent('video.performance.textureStreamAcquired', [this.currentStreamId, timeTaken]);
|
|
9844
|
+
this.reportPerformanceEvent(getApiVersionTag(videoPerformanceMonitorTelemetryVersionNumber, ApiName.VideoPerformanceMonitor_ReportTextureStreamAcquired), 'video.performance.textureStreamAcquired', [this.currentStreamId, timeTaken]);
|
|
9530
9845
|
}
|
|
9531
9846
|
}
|
|
9532
9847
|
}
|
|
@@ -9562,6 +9877,11 @@ var videoEffects_rest = (undefined && undefined.__rest) || function (s, e) {
|
|
|
9562
9877
|
|
|
9563
9878
|
|
|
9564
9879
|
|
|
9880
|
+
|
|
9881
|
+
/**
|
|
9882
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
9883
|
+
*/
|
|
9884
|
+
const videoEffectsTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
9565
9885
|
/**
|
|
9566
9886
|
* Namespace to video extensibility of the SDK
|
|
9567
9887
|
* @beta
|
|
@@ -9570,7 +9890,7 @@ var videoEffects;
|
|
|
9570
9890
|
(function (videoEffects) {
|
|
9571
9891
|
const videoPerformanceMonitor = inServerSideRenderingEnvironment()
|
|
9572
9892
|
? undefined
|
|
9573
|
-
: new VideoPerformanceMonitor(
|
|
9893
|
+
: new VideoPerformanceMonitor(sendMessageToParentWithVersion);
|
|
9574
9894
|
/**
|
|
9575
9895
|
* Video frame format enum, currently only support NV12
|
|
9576
9896
|
* @beta
|
|
@@ -9656,7 +9976,7 @@ var videoEffects;
|
|
|
9656
9976
|
if (!parameters.videoFrameHandler || !parameters.videoBufferHandler) {
|
|
9657
9977
|
throw new Error('Both videoFrameHandler and videoBufferHandler must be provided');
|
|
9658
9978
|
}
|
|
9659
|
-
|
|
9979
|
+
registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterSetFrameProcessTimeLimitHandler), 'video.setFrameProcessTimeLimit', (timeLimitInfo) => videoPerformanceMonitor === null || videoPerformanceMonitor === void 0 ? void 0 : videoPerformanceMonitor.setFrameProcessTimeLimit(timeLimitInfo.timeLimit), false);
|
|
9660
9980
|
if (doesSupportMediaStream()) {
|
|
9661
9981
|
registerForMediaStream(parameters.videoFrameHandler, parameters.config);
|
|
9662
9982
|
}
|
|
@@ -9683,7 +10003,7 @@ var videoEffects;
|
|
|
9683
10003
|
if (!isSupported()) {
|
|
9684
10004
|
throw errorNotSupportedOnPlatform;
|
|
9685
10005
|
}
|
|
9686
|
-
|
|
10006
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifySelectedVideoEffectChanged), 'video.videoEffectChanged', [effectChangeType, effectId]);
|
|
9687
10007
|
}
|
|
9688
10008
|
videoEffects.notifySelectedVideoEffectChanged = notifySelectedVideoEffectChanged;
|
|
9689
10009
|
/**
|
|
@@ -9696,8 +10016,8 @@ var videoEffects;
|
|
|
9696
10016
|
if (!isSupported()) {
|
|
9697
10017
|
throw errorNotSupportedOnPlatform;
|
|
9698
10018
|
}
|
|
9699
|
-
|
|
9700
|
-
|
|
10019
|
+
registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterEffectParameterChangeHandler), 'video.effectParameterChange', createEffectParameterChangeCallback(callback, videoPerformanceMonitor), false);
|
|
10020
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoEffect), 'video.registerForVideoEffect');
|
|
9701
10021
|
}
|
|
9702
10022
|
videoEffects.registerForVideoEffect = registerForVideoEffect;
|
|
9703
10023
|
/**
|
|
@@ -9706,7 +10026,7 @@ var videoEffects;
|
|
|
9706
10026
|
* @beta
|
|
9707
10027
|
*/
|
|
9708
10028
|
function notifyVideoFrameProcessed(timestamp) {
|
|
9709
|
-
|
|
10029
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifyVideoFrameProcessed), 'video.videoFrameProcessed', [timestamp]);
|
|
9710
10030
|
}
|
|
9711
10031
|
/**
|
|
9712
10032
|
* Sending error notification to host
|
|
@@ -9714,7 +10034,7 @@ var videoEffects;
|
|
|
9714
10034
|
* @param errorMessage - The error message that will be sent to the host
|
|
9715
10035
|
*/
|
|
9716
10036
|
function notifyError(errorMessage) {
|
|
9717
|
-
|
|
10037
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_NotifyError), 'video.notifyError', [errorMessage]);
|
|
9718
10038
|
}
|
|
9719
10039
|
/**
|
|
9720
10040
|
* Checks if video capability is supported by the host.
|
|
@@ -9736,13 +10056,13 @@ var videoEffects;
|
|
|
9736
10056
|
if (!isSupported() || !doesSupportMediaStream()) {
|
|
9737
10057
|
throw errorNotSupportedOnPlatform;
|
|
9738
10058
|
}
|
|
9739
|
-
|
|
10059
|
+
registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterStartVideoExtensibilityVideoStreamHandler), 'video.startVideoExtensibilityVideoStream', (mediaStreamInfo) => videoEffects_awaiter(this, void 0, void 0, function* () {
|
|
9740
10060
|
// when a new streamId is ready:
|
|
9741
10061
|
const { streamId } = mediaStreamInfo;
|
|
9742
10062
|
const monitoredVideoFrameHandler = createMonitoredVideoFrameHandler(videoFrameHandler, videoPerformanceMonitor);
|
|
9743
10063
|
yield processMediaStream(streamId, monitoredVideoFrameHandler, notifyError, videoPerformanceMonitor);
|
|
9744
10064
|
}), false);
|
|
9745
|
-
|
|
10065
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_MediaStream_RegisterForVideoFrame), 'video.mediaStream.registerForVideoFrame', [config]);
|
|
9746
10066
|
}
|
|
9747
10067
|
function createMonitoredVideoFrameHandler(videoFrameHandler, videoPerformanceMonitor) {
|
|
9748
10068
|
return (videoFrameData) => videoEffects_awaiter(this, void 0, void 0, function* () {
|
|
@@ -9759,7 +10079,7 @@ var videoEffects;
|
|
|
9759
10079
|
if (!isSupported() || !doesSupportSharedFrame()) {
|
|
9760
10080
|
throw errorNotSupportedOnPlatform;
|
|
9761
10081
|
}
|
|
9762
|
-
|
|
10082
|
+
registerHandlerWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoBufferHandler), 'video.newVideoFrame',
|
|
9763
10083
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9764
10084
|
(videoBufferData) => {
|
|
9765
10085
|
if (videoBufferData) {
|
|
@@ -9771,7 +10091,7 @@ var videoEffects;
|
|
|
9771
10091
|
}, notifyError);
|
|
9772
10092
|
}
|
|
9773
10093
|
}, false);
|
|
9774
|
-
|
|
10094
|
+
sendMessageToParentWithVersion(getApiVersionTag(videoEffectsTelemetryVersionNumber, ApiName.VideoEffects_RegisterForVideoFrame), 'video.registerForVideoFrame', [config]);
|
|
9775
10095
|
}
|
|
9776
10096
|
function normalizeVideoBufferData(videoBufferData) {
|
|
9777
10097
|
if ('videoFrameBuffer' in videoBufferData) {
|
|
@@ -9805,6 +10125,11 @@ var videoEffects;
|
|
|
9805
10125
|
|
|
9806
10126
|
|
|
9807
10127
|
|
|
10128
|
+
|
|
10129
|
+
/**
|
|
10130
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
10131
|
+
*/
|
|
10132
|
+
const searchTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
9808
10133
|
/**
|
|
9809
10134
|
* Allows your application to interact with the host M365 application's search box.
|
|
9810
10135
|
* By integrating your application with the host's search box, users can search
|
|
@@ -9864,10 +10189,10 @@ var search;
|
|
|
9864
10189
|
if (!isSupported()) {
|
|
9865
10190
|
throw errorNotSupportedOnPlatform;
|
|
9866
10191
|
}
|
|
9867
|
-
|
|
9868
|
-
|
|
10192
|
+
registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnClosedHandler), onClosedHandlerName, onClosedHandler);
|
|
10193
|
+
registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnExecutedHandler), onExecutedHandlerName, onExecuteHandler);
|
|
9869
10194
|
if (onChangeHandler) {
|
|
9870
|
-
|
|
10195
|
+
registerHandlerWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_RegisterOnChangeHandler), onChangeHandlerName, onChangeHandler);
|
|
9871
10196
|
}
|
|
9872
10197
|
}
|
|
9873
10198
|
search.registerHandlers = registerHandlers;
|
|
@@ -9884,7 +10209,7 @@ var search;
|
|
|
9884
10209
|
}
|
|
9885
10210
|
// This should let the host know to stop making the app scope show up in the search experience
|
|
9886
10211
|
// Can also be used to clean up handlers on the host if desired
|
|
9887
|
-
|
|
10212
|
+
sendMessageToParentWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_UnregisterHandlers), 'search.unregister');
|
|
9888
10213
|
removeHandler(onChangeHandlerName);
|
|
9889
10214
|
removeHandler(onClosedHandlerName);
|
|
9890
10215
|
removeHandler(onExecutedHandlerName);
|
|
@@ -9913,7 +10238,7 @@ var search;
|
|
|
9913
10238
|
if (!isSupported()) {
|
|
9914
10239
|
throw new Error('Not supported');
|
|
9915
10240
|
}
|
|
9916
|
-
resolve(
|
|
10241
|
+
resolve(sendAndHandleStatusAndReasonWithVersion(getApiVersionTag(searchTelemetryVersionNumber, ApiName.Search_CloseSearch), 'search.closeSearch'));
|
|
9917
10242
|
});
|
|
9918
10243
|
}
|
|
9919
10244
|
search.closeSearch = closeSearch;
|
|
@@ -9926,6 +10251,10 @@ var search;
|
|
|
9926
10251
|
|
|
9927
10252
|
|
|
9928
10253
|
|
|
10254
|
+
|
|
10255
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
10256
|
+
const sharingTelemetryVersionNumber_v1 = ApiVersionNumber.V_1;
|
|
10257
|
+
const sharingTelemetryVersionNumber_v2 = ApiVersionNumber.V_2;
|
|
9929
10258
|
/**
|
|
9930
10259
|
* Namespace to open a share dialog for web content.
|
|
9931
10260
|
* For more info, see [Share to Teams from personal app or tab](https://learn.microsoft.com/microsoftteams/platform/concepts/build-and-test/share-to-teams-from-personal-app-or-tab)
|
|
@@ -9941,6 +10270,7 @@ var sharing;
|
|
|
9941
10270
|
shareWebContent: 'sharing.shareWebContent',
|
|
9942
10271
|
};
|
|
9943
10272
|
function shareWebContent(shareWebContentRequest, callback) {
|
|
10273
|
+
const apiVersionTag = '';
|
|
9944
10274
|
// validate the given input (synchronous check)
|
|
9945
10275
|
try {
|
|
9946
10276
|
validateNonEmptyContent(shareWebContentRequest);
|
|
@@ -10029,6 +10359,11 @@ var sharing;
|
|
|
10029
10359
|
|
|
10030
10360
|
|
|
10031
10361
|
|
|
10362
|
+
|
|
10363
|
+
/**
|
|
10364
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
10365
|
+
*/
|
|
10366
|
+
const stageViewTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
10032
10367
|
/**
|
|
10033
10368
|
* Namespace to interact with the stage view specific part of the SDK.
|
|
10034
10369
|
*
|
|
@@ -10072,7 +10407,7 @@ var stageView;
|
|
|
10072
10407
|
if (!stageViewParams) {
|
|
10073
10408
|
throw new Error('[stageView.open] Stage view params cannot be null');
|
|
10074
10409
|
}
|
|
10075
|
-
resolve(
|
|
10410
|
+
resolve(sendAndHandleSdkErrorWithVersion(getApiVersionTag(stageViewTelemetryVersionNumber, ApiName.StageView_Open), 'stageView.open', stageViewParams));
|
|
10076
10411
|
});
|
|
10077
10412
|
}
|
|
10078
10413
|
stageView.open = open;
|
|
@@ -10105,6 +10440,11 @@ var visualMedia_awaiter = (undefined && undefined.__awaiter) || function (thisAr
|
|
|
10105
10440
|
|
|
10106
10441
|
|
|
10107
10442
|
|
|
10443
|
+
|
|
10444
|
+
/**
|
|
10445
|
+
* v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
|
|
10446
|
+
*/
|
|
10447
|
+
const visualMediaTelemetryVersionNumber = ApiVersionNumber.V_2;
|
|
10108
10448
|
/**
|
|
10109
10449
|
* @hidden
|
|
10110
10450
|
* Interact with images. Allows the app developer ask the user to get images from their camera / camera roll / file system.
|
|
@@ -10158,7 +10498,7 @@ var visualMedia;
|
|
|
10158
10498
|
throw errorNotSupportedOnPlatform;
|
|
10159
10499
|
}
|
|
10160
10500
|
const permissions = DevicePermission.Media;
|
|
10161
|
-
return
|
|
10501
|
+
return sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_HasPermission), 'permissions.has', permissions);
|
|
10162
10502
|
}
|
|
10163
10503
|
visualMedia.hasPermission = hasPermission;
|
|
10164
10504
|
/**
|
|
@@ -10176,7 +10516,7 @@ var visualMedia;
|
|
|
10176
10516
|
throw errorNotSupportedOnPlatform;
|
|
10177
10517
|
}
|
|
10178
10518
|
const permissions = DevicePermission.Media;
|
|
10179
|
-
return
|
|
10519
|
+
return sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_RequestPermission), 'permissions.request', permissions);
|
|
10180
10520
|
}
|
|
10181
10521
|
visualMedia.requestPermission = requestPermission;
|
|
10182
10522
|
/**
|
|
@@ -10201,7 +10541,7 @@ var visualMedia;
|
|
|
10201
10541
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
|
|
10202
10542
|
ensureSupported();
|
|
10203
10543
|
ensureImageInputValid(cameraImageInputs);
|
|
10204
|
-
const files = yield
|
|
10544
|
+
const files = yield sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_Image_CaptureImages), 'visualMedia.image.captureImages', cameraImageInputs);
|
|
10205
10545
|
ensureResponseValid(cameraImageInputs.maxVisualMediaCount, files);
|
|
10206
10546
|
return files;
|
|
10207
10547
|
});
|
|
@@ -10221,7 +10561,7 @@ var visualMedia;
|
|
|
10221
10561
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.task);
|
|
10222
10562
|
ensureSupported();
|
|
10223
10563
|
ensureImageInputValid(galleryImageInputs);
|
|
10224
|
-
const files = yield
|
|
10564
|
+
const files = yield sendAndHandleSdkErrorWithVersion(getApiVersionTag(visualMediaTelemetryVersionNumber, ApiName.VisualMedia_Image_RetrieveImages), 'visualMedia.image.retrieveImages', galleryImageInputs);
|
|
10225
10565
|
ensureResponseValid(galleryImageInputs.maxVisualMediaCount, files);
|
|
10226
10566
|
return files;
|
|
10227
10567
|
});
|
|
@@ -10996,6 +11336,11 @@ function navigateBack(onComplete) {
|
|
|
10996
11336
|
|
|
10997
11337
|
|
|
10998
11338
|
|
|
11339
|
+
|
|
11340
|
+
/**
|
|
11341
|
+
* v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
|
|
11342
|
+
*/
|
|
11343
|
+
const settingsTelemetryVersionNumber = ApiVersionNumber.V_1;
|
|
10999
11344
|
/**
|
|
11000
11345
|
* @deprecated
|
|
11001
11346
|
* As of 2.0.0, please use {@link pages.config} namespace instead.
|
|
@@ -11015,7 +11360,7 @@ var settings;
|
|
|
11015
11360
|
* @param validityState - Indicates whether the save or remove button is enabled for the user.
|
|
11016
11361
|
*/
|
|
11017
11362
|
function setValidityState(validityState) {
|
|
11018
|
-
|
|
11363
|
+
configSetValidityStateHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_SetValidityState), validityState);
|
|
11019
11364
|
}
|
|
11020
11365
|
settings.setValidityState = setValidityState;
|
|
11021
11366
|
/**
|
|
@@ -11028,7 +11373,7 @@ var settings;
|
|
|
11028
11373
|
*/
|
|
11029
11374
|
function getSettings(callback) {
|
|
11030
11375
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.remove, FrameContexts.sidePanel);
|
|
11031
|
-
|
|
11376
|
+
getConfigHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_GetSettings)).then((config) => {
|
|
11032
11377
|
callback(config);
|
|
11033
11378
|
});
|
|
11034
11379
|
}
|
|
@@ -11045,8 +11390,7 @@ var settings;
|
|
|
11045
11390
|
function setSettings(instanceSettings, onComplete) {
|
|
11046
11391
|
internalAPIs_ensureInitialized(runtime_runtime, FrameContexts.content, FrameContexts.settings, FrameContexts.sidePanel);
|
|
11047
11392
|
const completionHandler = onComplete !== null && onComplete !== void 0 ? onComplete : getGenericOnCompleteHandler();
|
|
11048
|
-
|
|
11049
|
-
.setConfig(instanceSettings)
|
|
11393
|
+
configSetConfigHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_SetSettings), instanceSettings)
|
|
11050
11394
|
.then(() => {
|
|
11051
11395
|
completionHandler(true);
|
|
11052
11396
|
})
|
|
@@ -11067,7 +11411,7 @@ var settings;
|
|
|
11067
11411
|
* @param handler - The handler to invoke when the user selects the save button.
|
|
11068
11412
|
*/
|
|
11069
11413
|
function registerOnSaveHandler(handler) {
|
|
11070
|
-
pages.config.registerOnSaveHandlerHelper(handler);
|
|
11414
|
+
pages.config.registerOnSaveHandlerHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_RegisterOnSaveHandler), handler);
|
|
11071
11415
|
}
|
|
11072
11416
|
settings.registerOnSaveHandler = registerOnSaveHandler;
|
|
11073
11417
|
/**
|
|
@@ -11082,7 +11426,7 @@ var settings;
|
|
|
11082
11426
|
* @param handler - The handler to invoke when the user selects the remove button.
|
|
11083
11427
|
*/
|
|
11084
11428
|
function registerOnRemoveHandler(handler) {
|
|
11085
|
-
pages.config.registerOnRemoveHandlerHelper(handler);
|
|
11429
|
+
pages.config.registerOnRemoveHandlerHelper(getApiVersionTag(settingsTelemetryVersionNumber, ApiName.Settings_RegisterOnRemoveHandler), handler);
|
|
11086
11430
|
}
|
|
11087
11431
|
settings.registerOnRemoveHandler = registerOnRemoveHandler;
|
|
11088
11432
|
})(settings || (settings = {}));
|
|
@@ -12329,7 +12673,9 @@ var files;
|
|
|
12329
12673
|
* @hidden
|
|
12330
12674
|
* Hide from docs
|
|
12331
12675
|
*
|
|
12332
|
-
* Gets a list of cloud storage folders added to the channel
|
|
12676
|
+
* Gets a list of cloud storage folders added to the channel. This function will not timeout;
|
|
12677
|
+
* the callback will only return when the host responds with a list of folders or error.
|
|
12678
|
+
*
|
|
12333
12679
|
* @param channelId - ID of the channel whose cloud storage folders should be retrieved
|
|
12334
12680
|
* @param callback - Callback that will be triggered post folders load
|
|
12335
12681
|
*
|
|
@@ -13498,7 +13844,7 @@ var videoEffectsEx;
|
|
|
13498
13844
|
videoEffectsEx.frameProcessingTimeoutInMs = 2000;
|
|
13499
13845
|
const videoPerformanceMonitor = inServerSideRenderingEnvironment()
|
|
13500
13846
|
? undefined
|
|
13501
|
-
: new VideoPerformanceMonitor(
|
|
13847
|
+
: new VideoPerformanceMonitor(sendMessageToParentWithVersion);
|
|
13502
13848
|
/**
|
|
13503
13849
|
* @hidden
|
|
13504
13850
|
* Error level when notifying errors to the host, the host will decide what to do acording to the error level.
|