From fc26ceb6978ccfb508825b65a6164c8af53dc780 Mon Sep 17 00:00:00 2001 From: Eray Chou Date: Thu, 1 Jul 2021 12:28:16 -0700 Subject: [PATCH 1/5] Update MicrosoftTeams.schema.json --- MicrosoftTeams.schema.json | 136 ++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 1 deletion(-) diff --git a/MicrosoftTeams.schema.json b/MicrosoftTeams.schema.json index 84da945..00fdfb8 100644 --- a/MicrosoftTeams.schema.json +++ b/MicrosoftTeams.schema.json @@ -157,6 +157,19 @@ "$ref": "#/definitions/hexColor", "description": "A color to use in conjunction with the icon. The value must be a valid HTML color code starting with '#', for example `#4464ee`." }, + "requirements": { + "additionalProperties": false, + "properties": { + "apiSets": { + "description": "The set of host capabilities required by the app.", + "$ref": "#/definitions/clientApiSets" + }, + "elements": { + "description": "The set of supported elements required by the app.", + "$ref": "#/definitions/appFeatureTypes" + } + } + }, "configurableTabs": { "type": "array", "description": "These are tabs users can optionally add to their channels and 1:1 or group chats and require extra configuration before they are added. Configurable tabs are not supported in the personal scope. Currently only one configurable tab per app is supported.", @@ -324,6 +337,69 @@ ] } }, + "personalApp": { + "additionalProperties": false, + "properties": { + "isFullScreen": { + "type": "boolean", + "description": "A value indicating whether a personal app is rendered without a tab header-bar", + "default": false + }, + "pages": { + "type": "array", + "description": "A set of pages included in the personal app.", + "maxItems": 16, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "entityId": { + "type": "string", + "description": "A unique identifier for the entity which the page displays.", + "maxLength": 64 + }, + "contentType": { + "type": "string", + "description": "The type of page content.", + "enum": ["url", "bot"] + }, + "displayName": { + "type": "string", + "description": "The display name of the tab.", + "maxLength": 128 + }, + "contentUrl": { + "$ref": "#/definitions/httpsUrl", + "description": "The url which points to the entity UI to be displayed in the Teams canvas." + }, + "contentBotId": { + "$ref": "#/definitions/botId", + "description": "The Microsoft App ID specified for the bot in the Bot Framework portal (https://dev.botframework.com/bots)" + }, + "websiteUrl": { + "$ref": "#/definitions/httpsUrl", + "description": "The url to point at if a user opts to view in a browser." + }, + "requirements": { + "properties": { + "apiSets": { + "$ref": "#/definitions/clientApiSets", + "description": "The set of host capabilities required by this page." + } + } + } + }, + "required": [ + "entityId" + ] + } + } + }, + "required": [ + "pages" + ] + }, "bots": { "type": "array", "description": "The set of bots for this app. Currently only one bot per app is supported.", @@ -984,6 +1060,64 @@ "type": "string", "pattern": "^((([0-9]*\\.)?[0-9]+)|[lL][aA][rR][gG][eE]|[mM][eE][dD][iI][uU][mM]|[sS][mM][aA][lL][lL])$", "maxLength": 16 + }, + "clientApiSets": { + "type": "array", + "description": "Array of client API sets", + "maxItems": 15, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "name of the API Set", + "enum": [ + "chat", + "custom", + "deepLinks", + "dialogs", + "files", + "location", + "logs", + "media", + "meeting", + "menus", + "notifications", + "pages.backStack", + "pages.config", + "pages.fullTrust", + "teams.fullTrust" + ] + } + } + } + }, + "appFeatureTypes": { + "type": "array", + "description": "Set of app feature types", + "maxItems": 7, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "Type of the app feature", + "enum": [ + "personalApp", + "groupChannelApp", + "bot", + "messagingExtensions", + "connector", + "meetingExtension", + "scene" + ] + } + } + } } } -} \ No newline at end of file +} From 2d9db11a8f25c25ffc32eb0739ad1c4a2323cb74 Mon Sep 17 00:00:00 2001 From: Eray Chou Date: Sun, 22 Aug 2021 07:30:58 -0700 Subject: [PATCH 2/5] Update MicrosoftTeams.schema.json Renamed capabilities. Removed elements as a separate requirement type. Added composeMail context for compose extensions. --- MicrosoftTeams.schema.json | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/MicrosoftTeams.schema.json b/MicrosoftTeams.schema.json index 00fdfb8..c3cf241 100644 --- a/MicrosoftTeams.schema.json +++ b/MicrosoftTeams.schema.json @@ -160,13 +160,9 @@ "requirements": { "additionalProperties": false, "properties": { - "apiSets": { - "description": "The set of host capabilities required by the app.", + "capabilities": { + "description": "The set of host capabilities required by the app. ", "$ref": "#/definitions/clientApiSets" - }, - "elements": { - "description": "The set of supported elements required by the app.", - "$ref": "#/definitions/appFeatureTypes" } } }, @@ -599,7 +595,8 @@ "enum": [ "compose", "commandBox", - "message" + "message", + "composeMail" ] }, "description": "Context where the command would apply", @@ -1093,31 +1090,6 @@ } } } - }, - "appFeatureTypes": { - "type": "array", - "description": "Set of app feature types", - "maxItems": 7, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "type": "string", - "description": "Type of the app feature", - "enum": [ - "personalApp", - "groupChannelApp", - "bot", - "messagingExtensions", - "connector", - "meetingExtension", - "scene" - ] - } - } - } } } } From 714dd9653773ab54045f58fd2eae4d4e4a92d38d Mon Sep 17 00:00:00 2001 From: Eray Chou Date: Sun, 22 Aug 2021 07:34:08 -0700 Subject: [PATCH 3/5] Update MicrosoftTeams.schema.json --- MicrosoftTeams.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MicrosoftTeams.schema.json b/MicrosoftTeams.schema.json index c3cf241..5786588 100644 --- a/MicrosoftTeams.schema.json +++ b/MicrosoftTeams.schema.json @@ -379,7 +379,7 @@ }, "requirements": { "properties": { - "apiSets": { + "capabilities": { "$ref": "#/definitions/clientApiSets", "description": "The set of host capabilities required by this page." } From 627557f46637520a2aada8b3d0b9ef9efe2f6280 Mon Sep 17 00:00:00 2001 From: Eray Chou Date: Sun, 22 Aug 2021 07:38:19 -0700 Subject: [PATCH 4/5] Update MicrosoftTeams.Localization.schema.json --- MicrosoftTeams.Localization.schema.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MicrosoftTeams.Localization.schema.json b/MicrosoftTeams.Localization.schema.json index 3b077d9..04b4805 100644 --- a/MicrosoftTeams.Localization.schema.json +++ b/MicrosoftTeams.Localization.schema.json @@ -29,6 +29,10 @@ "type": "string", "maxLength": 128 }, + "^personalApp.pages\\[([0-9]|1[0-5])\\]\\.displayName$": { + "type": "string", + "maxLength": 128 + }, "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { "type": "string", "maxLength": 32 From df88760a74780a861b5550a58b992036ca644d42 Mon Sep 17 00:00:00 2001 From: Eray Chou Date: Fri, 3 Sep 2021 09:20:23 -0700 Subject: [PATCH 5/5] Update MicrosoftTeams.schema.json updating api enum --- MicrosoftTeams.schema.json | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/MicrosoftTeams.schema.json b/MicrosoftTeams.schema.json index 5786588..ab08d44 100644 --- a/MicrosoftTeams.schema.json +++ b/MicrosoftTeams.schema.json @@ -1061,7 +1061,7 @@ "clientApiSets": { "type": "array", "description": "Array of client API sets", - "maxItems": 15, + "maxItems": 14, "uniqueItems": true, "items": { "type": "object", @@ -1070,22 +1070,21 @@ "name": { "type": "string", "description": "name of the API Set", - "enum": [ - "chat", - "custom", - "deepLinks", - "dialogs", - "files", + "enum": [ + "calendar", "location", - "logs", + "mail", "media", - "meeting", - "menus", - "notifications", - "pages.backStack", + "monetization", + "onlineMeeting", "pages.config", - "pages.fullTrust", - "teams.fullTrust" + "pages.tabs", + "pages.backstack", + "pages.appButton", + "people", + "sharing", + "teamsCore", + "video" ] } }