Fix for CopilotChat error: "Unable to load chats. Details: interaction_in_progress: Interaction is currently in progress." #1084
Merged
hathind-ms merged 6 commits intomicrosoft:mainfrom May 19, 2023
Conversation
teresaqhoang
approved these changes
May 19, 2023
hathind-ms
approved these changes
May 19, 2023
shawncal
pushed a commit
to johnoliver/semantic-kernel
that referenced
this pull request
May 19, 2023
…n_in_progress: Interaction is currently in progress." (microsoft#1084) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Issue Banner on Co-pilot start up: "Unable to load chats. Details: interaction_in_progress: Interaction is currently in progress." This error occurs when another MSAL interactive API call is currently in progress -- e.g., we are requesting a token before the previous token request has completed. Per the [MSAL React documentation](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/errors.md#interaction_in_progress), the solution is to check if another interaction is in progress and wait until it's done. We already do this when acquiring tokens for skills (in `TokenHelper.ts`), so we should use the same code to acquire the token for the SKaaS backend. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Pipe MSAL's `inProgress` indicator into all calls to `AuthHelper.getSKaaSAccessToken()` - Change `AuthHelper.getSKaaSAccessToken()` to call `TokenHelper.getAccessTokenUsingMsal()`, which already handles the `interaction_in_progress` error ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Teresa Hoang <125500434+teresaqhoang@users.noreply.github.com>
golden-aries
pushed a commit
to golden-aries/semantic-kernel
that referenced
this pull request
Oct 10, 2023
…n_in_progress: Interaction is currently in progress." (microsoft#1084) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Issue Banner on Co-pilot start up: "Unable to load chats. Details: interaction_in_progress: Interaction is currently in progress." This error occurs when another MSAL interactive API call is currently in progress -- e.g., we are requesting a token before the previous token request has completed. Per the [MSAL React documentation](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-react/docs/errors.md#interaction_in_progress), the solution is to check if another interaction is in progress and wait until it's done. We already do this when acquiring tokens for skills (in `TokenHelper.ts`), so we should use the same code to acquire the token for the SKaaS backend. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Pipe MSAL's `inProgress` indicator into all calls to `AuthHelper.getSKaaSAccessToken()` - Change `AuthHelper.getSKaaSAccessToken()` to call `TokenHelper.getAccessTokenUsingMsal()`, which already handles the `interaction_in_progress` error ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Teresa Hoang <125500434+teresaqhoang@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Issue Banner on Co-pilot start up: "Unable to load chats. Details: interaction_in_progress: Interaction is currently in progress."
This error occurs when another MSAL interactive API call is currently in progress -- e.g., we are requesting a token before the previous token request has completed. Per the MSAL React documentation, the solution is to check if another interaction is in progress and wait until it's done. We already do this when acquiring tokens for skills (in
TokenHelper.ts), so we should use the same code to acquire the token for the SKaaS backend.Description
inProgressindicator into all calls toAuthHelper.getSKaaSAccessToken()AuthHelper.getSKaaSAccessToken()to callTokenHelper.getAccessTokenUsingMsal(), which already handles theinteraction_in_progresserrorContribution Checklist
dotnet format