-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added appId parameter to getContext #2337
base: main
Are you sure you want to change the base?
Changes from all commits
941ab45
f093425
9a39dfc
d1f4c45
78af571
4d07b51
75b56c7
e4847fd
e9d8e5d
008d988
2fd2a53
27ac101
a07acae
09d60af
8079cc6
5780071
2c74249
c96f356
86232cf
67df88a
ef4be07
17bcf30
a4b6d3c
6a26ec4
c142a94
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"type": "minor", | ||
"comment": "Added a new parameter to `app.getContext` called `appId` which contains the current application's AppId. This value is used in deeplinks and hosts to identify apps", | ||
"packageName": "@microsoft/teams-js", | ||
"email": "[email protected]", | ||
"dependentChangeType": "patch" | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -354,6 +354,11 @@ export namespace app { | |
* ID for the current visible app which is different for across cached sessions. Used for correlating telemetry data. | ||
*/ | ||
appLaunchId?: string; | ||
|
||
/** | ||
* App id that is used by Hosts to distinguish between different apps sideloaded or in store | ||
*/ | ||
appId: string; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
} | ||
|
||
/** | ||
|
@@ -1007,6 +1012,7 @@ function transformLegacyContextToAppContext(legacyContext: LegacyContext): app.C | |
ringId: legacyContext.ringId, | ||
}, | ||
appLaunchId: legacyContext.appLaunchId, | ||
appId: legacyContext.appId, | ||
}, | ||
page: { | ||
id: legacyContext.entityId, | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -758,6 +758,14 @@ export interface Context { | |
* They help pre-fill the dialog with necessary information (`dialogParameters`) along with other details. | ||
*/ | ||
dialogParameters?: Record<string, string>; | ||
|
||
/** | ||
* @deprecated | ||
* As of 2.0.0, please use {@link app.AppInfo.appId | app.Context.app.appId} instead | ||
* | ||
* App id that is used by Hosts to distinguish between different apps sideloaded or in store | ||
*/ | ||
appId: string; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since this is a new feature, can I know why we need to add this parameter to a deprecated interface and as a deprecated element? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I believe the Context deprecated interface is still used in the legacyContext transformation so I kept it There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This one should probably also be optional |
||
} | ||
|
||
/** Represents the parameters used to share a deep link. */ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maglims brought up a good question that I forgot: since not all hosts will be setting this value, shouldn't it be optional (like appLaunchId)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will always be populated as long as there is an app def sent back; I rewrote the code in host SDK so that hosts no longer need to pass the value and instead it is taken from app definition
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about hosts that aren't yet using the updated host-sdk? I believe in that case this would not be set, right? That's generally why we mark things like this optional, to handle backwards compatibility