GithubHelp home page GithubHelp logo

rstedman / tfs-pullrequest-dashboard Goto Github PK

View Code? Open in Web Editor NEW
30.0 30.0 29.0 2.32 MB

tfs dashboard for pullrequests across all repos

License: MIT License

JavaScript 12.00% HTML 8.90% TypeScript 75.84% CSS 3.27%

tfs-pullrequest-dashboard's People

Contributors

nschonni avatar pascalberger avatar rstedman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tfs-pullrequest-dashboard's Issues

Dashboard generates CORS issues in Brave browser

Hi Stedman,

Your plugin is very handy and i am using it daily but since a few days the plugin seems to generate some issues in the Brave browser (in Chrome it is working fine). I've lowered all shields from the browser but it does not seem to make a difference, perhaps you can look in to it?

Access to XMLHttpRequest at 'https://myprojectname.visualstudio.com/_public/_Bundling/DynamicBundles?scripts=TFS%2FVersionControl%2FGitRestClient%3BVSS%2FIdentities%2FRestClient%3BTFS%2FDashboards%2FWidgetHelpers%3BTFS%2FCore%2FRestClient&v=M144_20190103.4&theme=Default&loc=en-US&json' from origin 'https://ryanstedman.gallerycdn.vsassets.io' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

Does not work with the new Azure DevOps base URL - dev.azure.com/organisation instead of organisation.visualstudio.com

Navigating to an opened pull request in Chrome from the Pull Request Dashboard (e.g. https://dev.azure.com/org/project/_git/repo/pullrequest/2146), I get the following error. This occurs in Chrome, IE, but not Edge, Firefox. It is happening for all of our developers on both work/personal devices on/off the site network.

This only occurs using the new dev.azure.com URL. The PR loads fine using https://org.visualstudio.com/project/_git/repo/pullrequest/2146.

The error text is:

An unexpected error has occurred within this region of the page. You can try reloading this component or refreshing the entire page.

[Refresh page] [Reload component]

Error: Failed to execute 'replaceState' on 'History': A history state object with URL 'https://dev.azure.com/org/project/_git/repo/pullrequest/2146' cannot be created in a document with origin 'https://dev.azure.com' and URL 'https://[email protected]/org/project/_git/repo/pullrequest/2146'. Stack in t in u in t in u in div in t in t in div in t in u in div in t in u in div in t in u in div in t in t

image

Logging out/back in, clearing browser cache, etc doesn't appear to work.

Failed to Load in TFS 2015

The Pull Request Dashboard fails to load in a TFS 2015 environment. Tested from Chrome 65 and IE 11 on Windows 7.

It looks like it is querying the DOM for "ms.vss-dashboards-web", but an element does not exist that matches this query selector in TFS 2015.

image

vendor.bundle.min.js:1 Uncaught TypeError: Cannot read property 'selectedHubId' of undefined
    at app.bundle.min.js:65178
    at Object.execCb (requirejs-2.1.14.min.js:6)
    at pt.check (requirejs-2.1.14.min.js:6)
    at pt.<anonymous> (requirejs-2.1.14.min.js:6)
    at requirejs-2.1.14.min.js:6
    at requirejs-2.1.14.min.js:6
    at f (requirejs-2.1.14.min.js:6)
    at pt.emit (requirejs-2.1.14.min.js:6)
    at pt.check (requirejs-2.1.14.min.js:6)
    at pt.<anonymous> (requirejs-2.1.14.min.js:6)

Enhancement : Show creation date of PR

During daily meetings, we review PR and inspect old PR.

Information such as creation date or an indication how old is a PR would be assist to do that requirement.

date format for list items has changed

It looks like the date format for list items has changed from MM/dd/yyyy TO dd/MM/yyyy. Can you change it back MM/dd/yyyy or provide a setting to set the format? Thank you!

readme.md and running locally

I was trying to run the extension locally, following the section "running locally" in the readme.md.
However, it appears that the text doesn't match the code:

  • Should "src/app/app.ts" be changed to "src/app/appconfig.service.ts"?
  • Should "AppConfigSettings" be changed to "AppConfigService"?
  • Should "... run serve" be changed to ".. run start"?

Also when starting I get several errors, the first one being

[mypath]/tfs-pullrequest-dashboard/node_modules/rxjs/Subject.d.ts(16,22): error TS2415: Class 'Subject<T>' incorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'.
      Type 'Observable<T>' is not assignable to type 'Observable<R>'.
        Type 'T' is not assignable to type 'R'.

"Access-Control-Allow-Origin" header error.

First of all thank you for your project!

I was playing around a bit with it. Locally it was running well in Chrome without web security (with dev=true). However when I packaged and uploaded to my TFS for testing (dev=false), I get the same error :(

Failed to load https://..../tfs/..../_apis/git/repositories: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'null' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

VM89 app.bundle.min.js:63759 Server error RestfulTfsService.handleError @ VM89 app.bundle.min.js:63759

ERROR Error: Uncaught (in promise): Server error at _ (VM85 vendor.bundle.min.js:1) at VM85 vendor.bundle.min.js:1 at rejected (VM89 app.bundle.min.js:63860) at e.invoke (VM85 vendor.bundle.min.js:1) at Object.onInvoke (VM89 app.bundle.min.js:70724) at e.invoke (VM85 vendor.bundle.min.js:1) at n.run (VM85 vendor.bundle.min.js:1) at VM85 vendor.bundle.min.js:1 at e.invokeTask (VM85 vendor.bundle.min.js:1) at Object.onInvokeTask (VM89 app.bundle.min.js:70716)

Could you please help me to understand what I am doing wrong?

Unable to build/run from master

I've forked the repository, and have followed the steps outlined in the ReadMe, however I was unable to successfully execute npm run start due to the following error:

[08:46:54] 'test' errored after 1.05 min
[08:46:54] Error: 1
at formatError (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\gulp\bin\gulp.js:169:10)
at Gulp.<anonymous> (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\gulp\bin\gulp.js:195:15)
at emitOne (events.js:116:13)
at Gulp.emit (events.js:211:7)
at Gulp.Orchestrator._emitTaskDone (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\orchestrator\index.js:264:8)
at C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\orchestrator\index.js:275:23
at finish (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\orchestrator\lib\runTask.js:21:8)
at cb (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\orchestrator\lib\runTask.js:29:3)
at Timeout.removeAllListeners [as _onTimeout] (C:\_source\VSTS_Extensions\tfs-pullrequest-dashboard\node_modules\karma\lib\server.js:380:7)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)

Commenting out the test function in the gulp file allowed compile

gulp.task('test', function(callback) {
    // new karma.Server({
    //     configFile: __dirname + '/karma.conf.js',
    //     singleRun: true
    // }, callback).start();
});

However, I'm still unable to start the service. Any help would be appreciated. I've updated the dev fields in appConfig.service.ts as indicated in the readme

image

Thanks!

Does not work over HTTPs

Loading over HTTPs TFS, you see the spinning loader graphic, but nothing more. Debug console shows the following:

image

Add PR Number

Please display the PR number for each PR on the Pull Request Dashboard.

Repository filters seem to change randomly

The repository filters selected to define my view suddenly changes overnight and a lot more repositories are selected in my view without me actually having selected those repositories.

Dashboard picks up recently installed font instead of default

I recently installed an extra set of fonts for other purposes and now the PR dashboard is picking up one of those instead of the regular one. Plus, the used font is a bold italic variant, which is even less readable:
image

This is with Firefox 60.3.0 on Windows 10.

However I have just found out that I have the same problem on a few other sites, so it might be a more general issue with font management.

Add toast notifications

When a new PR is created a toast should show up displaying the name of the PR, the project and the creator
When a PR of mine is completed show a notification saying it is completed.

The list of repositories is not displayed

Hi,

We use:

  1. Azure DevOps Server Version 17.143.28912.1,
  2. Pull Request Dashboard version 2.3.1.

And one of the users sees the following:
attachments

He has access to all repositories in the project.
The problem is reproduced in the latest version of Chrome as well as IE, and on different operating systems (Win 10 / Ubuntu).

We tried to re-issued permissions to the project for the user, but it did not help.
Clearing the cache (ctrl+F5) doesn't help.

One HTTP GET 404 error:
Request URL: https://CollectionName/_apis/ExtensionManagement/InstalledExtensions/ryanstedman/tfs-pullrequest-dashboard/Data/Scopes/User/Me/Collections/%24settings/Documents/allProjects

Message: "TF1590005: Document with id $settings does not exist in collection User for {GUID} = dateFormat"

You do not know how to solve this problem?

Add Draft indicator for PRs in Draft mode

When a PR is in draft mode, it would be helpful to have a Draft indicator. This is an example of a PR in draft mode:

image

Currently in the tfs-pullrequest-dashboard:

image

It would be helpful to see this is in draft mode. Perhaps a notification like this:

image

Add "updated" indicator and text

The standard My pull requests TFS page shows PRs that have been changed since you last looked at them with an indicator to the left of the user thumbnail (blue dot in the screenshot) and also includes text under the right-hand vote indicators describing what has changed (e.g. "1 new vote", "2 new comments, 1 new push").

These are both hugely valuable when looking for which PRs I've already looked at but have been updated.

image

Use officially supported method for determining if running as a dashboard widget

A single extension codebase is used for both the code hub and the dashboard widget. The layout & behavior of the extension display changes slightly based on if the extension is running as a dashboard widget, or as a code hub page. It does this with the following check on the initialization of the extension:

context.getPageContext().hubsContext.selectedHubId.startsWith("ms.vss-dashboards-web");

This is not an officially supported means for determining context, and could change in a future release. This needs to be updated to something officially supported by VSTS.

Missing style when CDN not available

Using on-premise DevOps server 2019 our clients doesn't have internet-access which means that we can't access the CDN-sources

GET https://cdn.materialdesignicons.com/2.0.46/css/materialdesignicons.min.css net::ERR_EMPTY_RESPONSE
index.html:16 GET https://code.jquery.com/jquery-3.2.1.min.js net::ERR_EMPTY_RESPONSE
index.html:11 GET https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css net::ERR_EMPTY_RESPONSE
index.html:12 GET https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css net::ERR_EMPTY_RESPONSE
index.html:17 GET https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js net::ERR_EMPTY_RESPONSE

Could this be integrated?

Assigned to my Team not load a Pull Resquests

Hi,

I installed a plugin in my vsts, but it does not show a pull requests when I configured to Pull Requests to my Team, but the pull request showed in summary (pull request dashboard).

Could you help me?

Issue with layout after long running read process

Recently the dashboard has been very slow to load and when it does the font and layout are not normal and there is a very small grey button with no text on it that displays with a tooltip of "Settings".

Feature Suggestion: Dashboard Tile

Thanks for this awesome plugin.

I have a suggestion for a feature that would make it even more useful:

How about a dashboard tile, showing the number of open PRs, (like the 1ร—1 query tiles), which, when clicked, opens the pullrequest dashboard page.

Switching between TFS Projects resets the selected repos

When I switch between TFS projects at my workplace, the selected repos for the PR-Dashboard are reset to selecting all of them.

For Example
Proj - A ( 100 Repos, 5 Selected )
switch to Proj - B
Proj - B ( 10 Repos, 10 Selected )
switch to Proj - A
Proj - A ( 100 Repos, 100 Selected )

Enhancement: Add Dark Mode

Now Azure Devops has dark mode and working pretty well would it be possible to add a configuration to add dark mode to this as well?

Bug: Changing reviewer status in a branch policy isn't updating reviewers for open PRs

Given I am on the dashboard screen
And I have PRs in a master branch that currently has required reviewers
When I change the master branch to mark those reviewers optional
Then I expect the reviewers to appear as optional in the Dashboard


Here's our current situation:
image

  • RepoName master has branch policies with Reviewer1 and Reviewer2 required.
  • We updated RepoName master branch policies to make them optional.
  • We abandoned the PR and reactivated it for the branch policies to be applied to the PR.
  • I went back to the dashboard and still saw:

image

I was expecting to see:

image

Outage?

The extension directly gets an error, but does load, but the Dashboard Widgets are erroring out.

image
image

Theme azure devops not used in dashboard

Azure DevOps let the user choose a theme (Dark, Light, Neptune...)

Background of the webpage is always white even when the theme use a dark color.

As a minimal solution, just enable a theme light or dark in dashboard.

Dark theme support

Recently, Azure Devops introduced dark theme support.

Would it be possible to also support a dark theme when the user specified this in his/her preferences?

failed to load

Microsoft Visual Studio Team Foundation Server
Version 15.112.26307.0

Got following error msg:

tfs-pullrequest-dashboard by ryanstedman failed to load.Learn More about this extension, including available support options.

Favorite Repos

Great extension! Recommend having Favorite Repos grouping separate from Other Open Pull Requests. Favorite Repos would basically work the same as "Other Open Pull Requests" works now. I.e. it uses a sticky filter. That would allow me to separate the ones I really care about, but still see all others.

Option to disable the PR dashboard entry

We're using the extension for the global widget and loving it !

But the dev's are complaining of the new menu entry "Pull request Dashboard".
As nobody is using it we would like an option to disable the dashboard menu entry.

We might have to disable the extension as we're impacting hundreds of dev for one widget.
I can submit a PR if needs be.

Cheers !

Add icon to signify auto-complete

I like to be able to visually see that all PRs have the auto-complete done. This way branches are cleaned up. It would be nice to have a visual indicator that it is set.

Authentication required popup

Installed this extension on TFS 2017 Update 3. Anytime I try to access the Pull Request Dashboard I am prompted for credentials.

Opening developer tools in chrome shows me this:

TF400813: Resource not available for anonymous access. Client authentication required.
type: Microsoft.TeamFoundation.Framework.Server.UnauthorizedRequestException
isRemoteException: false
errorCode: 0
eventId: 3000

And in the developer tools console I see this also:

ERROR Error: Uncaught (in promise): TFS.WebApi.Exception: TF400813: Resource not available for anonymous access. Client authentication required.
TFS.WebApi.Exception: TF400813: Resource not available for anonymous access. Client authentication required.

Page should refresh

I'd like to be able to keep the dashboard page open and have it refresh as the PR is updated.

Minimal permission scopes

Is it possible to reduce the permissions scope of this extension from vso.code to vso.code_status or does this scope lack anything essential?

vso.code also include permissions to read the full source code which is quite a dangerous permission to have.

Widget Failed to Load

image

Hi,

I'm new to Azure DevOps and I've just installed this into my organisation getting the following errors.

image

Have i done something wrong?
I didn't have the option to configure anything, so i'm not sure what to do? Is there any debugging logs anywhere?

Option "Assigned to me or my team"

I am evaluating this plugin and was seeing a difference in the default TFS widget and the widget from this plugin.
When I select 'Assigned to my team' I only see the issues that are assigned to the team, but not the issues I have participated in (either as reviewer or as requester). While the default widget does show both.
I really do like the added value of this plugin that it gets all pullrequests to all repositories, but I don't really want to lose the behaviour of the default widget. But since we have a lot of teams, I can't use the option "All". So would it be possible to add an option "Assigned to me or my team"?

CodeCoverage Tag is showing and duplicating

Since the release 2 days ago, a new tag (CodeCoverage) is showing on the Dashboard, and keeps duplicating. Im not sure what this tag is supposed to be showing or why it just now started showing on our projects?

image

image

Show Policy Status

If the PR has a build - it should show the status of the build. Our team does not even look at a PR if the build is failing because any updates to the branch will reset our reviews.
If the PR has a minimum number of reviewers it should show the list of required users still needed (ie. 1 of 2 required users..)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.