sdavis3 / code-coverage-widgets

A dashboard widget for Azure DevOps or Team Foundation Server (TFS) to display information about unit test code coverage.
MIT License
16 stars 10 forks source link

Support for TFS 2017 Update 1 #15

Closed mvandegoor closed 7 years ago

mvandegoor commented 7 years ago

It seems the widget is not compatible with TFS 2017 Update 1, is that correct? After our build server was updated (from TFS 2017), the widget stopped working. When in configuration mode while adding a new widget instance, no build definitions are displayed.

Existing widgets show the following error:

Widget error: An undefined error occurred while attempting to connect to the server. Status code 0: error.

sdavis3 commented 7 years ago

@mvandegoor That version is supported. Can you please attach a screenshot? I'll work with the VSTS team to resolve.

Thank you for filing an issue.

mvandegoor commented 7 years ago

Thank you for your quick response. I can work with our build server support team if needed.

Existing widget error widget_failed_to_load

New widget no_build_definitions_for_new_widget

mvandegoor commented 7 years ago

Any progress?

sdavis3 commented 7 years ago

I have a suspicion as to the root cause of the issue, but not 100% confident. There simply isn't a good way (that I'm aware of) to test these packages across the variations of TFS/VSTS. I'm updating the package and should be done by the end of the week. I'll ping you here when I have an update if you're willing to test it out for me. Thanks for your patience.

mvandegoor commented 7 years ago

Thanks for your reply. Sure I can test it, let me know when it is ready. I will need to work with our support team, so it might take a few days, depending on their availability.

sdavis3 commented 7 years ago

Widget has been updated to 1.0.189. A good test would be to recreate one widget and see if it works. If you experience issues, please get a screenshot the Chrome developer tools console that shows some debugging information.

sdavis3 commented 7 years ago

Have you had a chance to test the update yet?

mvandegoor commented 7 years ago

Thanks for the update. The TFS 2017 build definitions are now shown, which is good. It used to show XAML build definitions as well, has this changed perhaps?

When using the page from the internet (instead of being on the internal network), the loading of the build definitions give the following error:

XMLHttpRequest cannot load https://<domain name>/tfs/_public/_Bundling/DynamicBundles?scripts=TFS%2FBuild%2FRestClient%3B-Dashboards%2FWidgetHelpers&v=Dev15.M112.5&json. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 440.

I suspect this is related to our setup; we're looking into this right now. Any helpful suggestions are welcome of course.

sdavis3 commented 7 years ago

Quick update. I've been working with several members of the VSTS product team and they are investigating internally. I'll continue to follow up.

sdavis3 commented 7 years ago

I received the following response: "I have been trying unsuccessfully to reproduce this issue. I tried with TFS 2017 update 1 as well as rtm and our latest bits and they all worked. I get the correct CORS response with the null origin. Would it be possible to get a Fiddler trace? I need to see more information about what is different in his environment."

Could you please attached a Fiddler trace? Do you have an email address that I can add to the thread and it might make it easier to troubleshoot?

sdavis3 commented 7 years ago

@mvandegoor Have you had an opportunity to capture a Fiddler trace? Alternatively I can add your email to our thread with the VSTS Team.

mvandegoor commented 7 years ago

Our support team thinks the problem may be caused by the extra headers which are added by the internal firewall. Some time in the future the firewall will be replaced, which will hopefully solve the problem. With a workaround for now (being on the internal network), the amount of time we'd have to further invest in researching this issue no longer warrants the added benefit of solving it. Thanks for your time and support.