OfficeDev / Copilot-for-M365-Samples

Microsoft Copilot for Microsoft 365 samples
https://aka.ms/extendcopilotm365
MIT License
107 stars 71 forks source link

[Bug]: Intermittent 500 Error when running Northwind Sample #89

Closed francogior closed 3 months ago

francogior commented 4 months ago

Sample

msgext-northwind-inventory-ts

Description

We are experiencing intermittent issues when running the Northwind sample in Teams Toolkit, which results in a 500 error. This behavior is observed across both Teams Classic and the new Teams. The issue was not present last week.

Steps to reproduce

  1. Clone repo
  2. Setup Northwind sample (database and duplicate .env.local.user.sample)
  3. Message Extension works OK when using it directly/standalone: image
  4. Enable Northwind plugin in Copilot and developer mode. Ask a question but receive an error instead: image

Expected results

Copilot should contact our localhost server and return and answer, as shown in the sample images: image

Actual results

Error described above: image

Additional Info

luismanez commented 4 months ago

Having exactly this same issue, but in our case with sample: msgext-doc-search-csharp IMO seems like an issue with the tunnelling thing. Copilot apparently makes the call, but is lost "in the space"...

Thing is that the npm finder sample that is created from Teams toolkit for VS Code, works fine.

BTW, same behavior tested in 2 different Tenants, our prod tenant, and the shared MVP tenant provided by MS.

Any clue @garrytrinder @aycabas ?

Thanks!

luismanez commented 4 months ago

As weird as it seems, I've created a new Teams project using Visual Studio and Teams toolkit. I chose the "Custom Search Results" template. As mentioned before, that worked fine even in Copilot. Then, I've updated the project with code from the sample msgext-doc-search-csharp, and this is working fine too, and is being called from Copilot...

The only different I see are the nuget packages versions (but I updated sample versions and was failing too), and the other difference is that my new project is using .NET 8, and sample is still .NET 6 (haven´t tried the upgrade).

garrytrinder commented 4 months ago

@francogior @luismanez this could be related to an intermittent outage.

From the debug logs it would appear that Copilot was able to discover the plugin and select the correct command to execute. I'm going to assume that no breakpoints were hit in the plugin code, so no response was able to be returned by the plugin as it never received the request.

Is this still an issue?

francogior commented 4 months ago

@garrytrinder Hi! thanks for the response. Regarding your points:

I'm going to assume that no breakpoints were hit in the plugin code, so no response was able to be returned by the plugin as it never received the request.

Exactly, I've added more logs to the HTTP server and no endpoints were contacted at all.

Is this still an issue?

It was an issue up until last Friday (three days ago), but I'll double-check today just in case.

Thanks!

francogior commented 4 months ago

@garrytrinder Hey Garry, just wanted to let you know that the issue seems to be present still. Interestingly, the sample sometimes works, but eventually fails when stopping and restarting the browser/server/VSCode.

Given that we've seen this behavior during the last week (and before), could this be something different from a "temporal" outage? I'm attaching below a screenshot from today, showing the same issue (no logs in the console): image

Thanks!

garrytrinder commented 4 months ago

@rabwill @BobGerman would you be able to take a look at whether you can reproduce this issue?

garrytrinder commented 3 months ago

@francogior I just tested this sample against the tenant that I have access to using your prompt and all is working fine.

image

Could you raise a support ticket in the Admin portal and reference this issue?