Giter VIP home page Giter VIP logo

gerrit-monitor's People

Contributors

adg avatar allysillins avatar bro314 avatar chuim avatar curtisgalloway avatar dave-mccloskey avatar davidgreenaway avatar jkopczyn avatar jyaif avatar kurt-google avatar patrickkettner avatar sdefresne avatar shali3 avatar zsergua avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

gerrit-monitor's Issues

Change the sorting order for CLs

Gerrit-monitor sometimes shows new CLs in the middle or at the end of my list of "incoming CLs requiring your attention." This isn't ideal for me because I have some CLs in that list that I don't expect will be cleared any time soon (the authors probably won't pursue these CLs further, but that's aside from the point). It would work better for me if gerrit-monitor sorted by last-modified timestamp (more-recently modified CLs are at the top, stale CLs are at the bottom), so I could work from top to bottom (and stop when I get to the stale CLs).

I should also mention I use several gerrit instances. I'm not sure if this kind of sorting is already being applied within each gerrit instance, but I would prefer for it to be applied across all instances (ex. I don't want fresh chromium CLs to be sorted below stale Android CLs).

slow to open UI on extension click

I have multiple gerrit instances monitored. Every time I click on the extension icon, I have 2-5 second delay with "Loading" before I get the dashboard open.

Can we show cached results and allow more frequent "background" updates?

Error when a change doesn't have any revision

My Gerrit server is answering API requests to /changes/ with some changes which have the revisions property empty:

)]}'
[
  [
    {
      // The |current_revision| property is missing.

      // And |revisions| contains an empty object:
      "revisions": {},

      // ...
    }
  ]
]

This is due to an incomplete/incorrect index, since I just restarted my Gerrit instance and I guess I did it at the worst time. Running gerrit index changes {ID} to reindex the changes affected by this fixed the issue.

When this error occurs, the popup doesn't show any CLs but instead shows the following error: TypeError: Cannot read properties of undefined (reading 'commit'). The error occurs here:

// Returns the CL description.
//
// Requires detailed information (see fetchReviews).
getDescription() {
if (this.description_ === null) {
this.description_ = new Description(
this.getCurrentRevision().toJSON().commit.message);
}
return this.description_;
}

Maybe we can consider returning null if there aren't any revisions? And then in the CL widget, we could show the subject as a fallback if the description is null.

[Feature] Bulk open reviews

Pretty often in the morning I open my queue, have 5-10 reviews, and would like to open them all.

If it helps, now I open the window, right click inspect and run this command in the console:

[...document.querySelectorAll('.incomingRequiringAttention .changelistheader')].forEach((e)=>{e.click()})

And that seems to work ok, but it'd a nice to have a button that does the same.

Thanks,

Requests permissions with no clear way to grant them

I'm a long time user of this amazing extension, thank you!
Today, the extension refused to connect to my hosts, and instead showed the following message:
image
Clicking on "Grant permissions" sends me to the extension settings page with no clear action to take.
I tried reinstalling but it didn't help.

Can't loading from certain remotes, possibly those containing multiple "-"

Hello,

I use your monitor on 3 different hosts. 1 of those hosts works consistently, and 2 of them fail to work consistently. The names might be sensitive, but the ones that work are in the format aaaaaaaa-review and the ones that dont are in the format aaaaaa-aaaaa-review.

Could there be an issue with hosts with names with multiple '-'?

If that's not making sense, how can I help debug this issue?

Thanks

Improve "Ready to submit" notifications

I use the gerrit-monitor with chromium-review.googlesource.com

I would really like it if I got "Ready to submit" notifications even if the Verified label has no votes, since normally I will be the one adding that label, and it seems to get cleared frequently.

Likewise I would like to NOT get "ready to submit" notifications if the cl is already running in the commit queue.

Love the chrome extension.

Only use attention set even for Approved commits

Currently if "Only use Attention Set to judge required attention" is enabled, GerritMonitor still sends notifications for Approved commits.

I would expect those to be managed by attention set also. Gerrit will mark them as needing attention when they are approved. Using attention set allows the user to turn off attention in Gerrit if they want to wait to commit (for example if they are waiting on multiple approvals or something else to happen).

switch color & order of grant permission buttons for allow/deny

It took me 3 rounds of clicking the wrong button & having my permissions not be enabled before I realized that I was clicking the wrong button. I assumed the blue button was "Allow" and the white button was "Deny". I think this was due to both the colors and the order. I would have expected the left most button to be blue & "Allow" & the right side one to be white and "Deny". Would you consider swapping these around?

Screenshot 2021-02-27 2 47 50 PM

FR: Support attention set

Gerrit's new attention set feature is quite useful: it helps ensure everyone communicates who they think needs to do some action on a CL. This can work quite well in conjunction with this monitor extension in that the extension could use this information to decide whether some CL is "important" to someone at any given moment.

I didn't see an issue tracking the adoption of this information in the list, but apologies if I simply missed it!

Options Window Constantly Resizes

When enough servers are added to cause a scrollbar to appear in the options window, the window constantly cycles between two sizes, one with a scrollbar and one without.

Add a button to delete gerrit instances

I added a bunch of gerrit instances which I no longer use. I'm aware I can uncheck the "Enabled?" checkbox, but is there any way to delete them from the list entirely to declutter the settings page? It would also be nice to remove some of the defaults (I don't work on Fuchsia).

FR: Quieter notifications where an assignee is set

This is a great extension, but has some annoying qualities. A case I see a lot of is:

  • CL has several people, including me, assigned as Reviewers
  • one of these, not me, is also assigned as Assignee
  • It shows up as a red "Incoming CL requiring your attention" notification for me anyway

I see a few potential solutions. I've ordered them by estimated work to implement, simplest first:

  • If a CL has an Assignee set, Reviewers other than the Assignee see it lumped with stale CLs or with outgoing CLs requiring attention. Technically incorrect but an improvement on the status quo.
  • If a CL has an Assignee set, Reviewers other than the Assignee see it as a new category, ranked just below "outgoing CLs requiring attention" in the icon-color-priority hierarchy.
  • If a CL has ever had an Assignee set, Reviewers are ignored entirely unless they have unresolved comments on the CL.
  • If a CL has ever had an Assignee set, Reviewers are ignored unless they have unresolved comments on the CL or the CL is stale.

I am not wedded to any of these suggestions, they're just ideas which are better than a blank page. I believe they are also in ascending order of how helpful they'd be, but the effort/helpfulness curve is not linear.

Enhancing empty state

When there are no open issues the extension just opens a small window with the text "No CLs require your attention".

It would be useful to provide a way to open the gerrit instances instead (I can never remember their URL as I always use gerrit monitor to open the ones assigned to me).

Feature Request: Flag reviews with new patchsets

Hello,

For Sylvain: This issue relates to an email thread with the subject: "Gerrit Monitor - Extension: Feature Request: Flag reviews with new patchsets".

For everyone else, a paraphrased version of that thread;

A few reviews have not been flagged as incoming in this extension, resulting in a failure to review in a timely manner.

Looking at these instances it seems that the reason is someone pushes a patchset and expects the review to continue from there, but the extension triggers the incoming state on a new comment. I've noticed the Gerrit dashboard considers a review incoming when it has a new patchset.

Working directly with my team(s) I could easily ask them to comment back, but I also work with outside teams who change regularly. Unfortunately, telling them to send these comments would not be applied universally.

I wouldn't want my review sent out just because I uploaded a patchset. Perhaps this feature could be configurable (ideally per host)?

Periodic updates don't seem to be working

It seems that the periodic updates that should make the extension icon show actionable CLs are not working for me. I have the impression that it is only updating when I actually press the extension icon and force a refresh.

CLs without me in attention set are listed as "Needing Attention"

I have CLs without me in the attention set being listed as "Needing Attention". They are newly uploaded CLs without any reviewers. I do have "Only use Attention Set to judge required attention" set.

Unfortunately the example commits I have are all in a Google internal repo. I email you them directly. Thx!

allow opening a change in new tab

I sometimes want to open multiple changes in different tabs from the extension. However, after left-clicking on one change, the extension opens a new tab and closes itself.

Maybe a middle-mouse click (similar to html links) to open in a new tab but keep the current tab active + keep the extension ui visible?

Unable to request permissions after move to manifest v3

Following #48, the permissions to access to URLs changed. Since this version, however, I am unable to get Gerrit Monitor to work, as it asks me for permissions without any possibility to grant them.

It might seem that the issue lies in https://github.com/sdefresne/gerrit-monitor/blob/main/src/options.js#L201, which should use https://developer.chrome.com/docs/extensions/reference/permissions/#step-3-request-optional-permissions to request read permission on the origins, and not just notifications.

Show cached results when initially opened

It can take a while for monitor to display the list when opened (I have 11 gerrit instances I have to monitor). To speed up initial display time, monitor could show cached results when initially opened. Since user is often responding to its icon color, what they act on is probably already known to the monitor. In the background the monitor would still get latest updates, and then updated the list once it gets them (assuming its still open).

Change set marked as stale if reviewer assigned but no message from author

It seems like, whenever I upload a change to gerrit and add a reviewer, gerrit-monitor immediately considers it to be stale. For example, it is currently showing that http://r.android.com/889173, http://r.android.com/889174, and http://r.android.com/889154 are stale, even though I uploaded them less than 20 minutes ago, and I am waiting for the reviewer's first response.

(There was a fourth change, http://r.android.com/889153, which I uploaded at the same time which is not showing as stale, presumably either because I 'said something nice' when I added the reviewers, or because I commented myself since. That's not the normal workflow, at least for me, though.)

Add notifications for incoming reviews and CLs requiring attention.

When I get sent a review, I like to respond to it as quickly as possible to unblock the CL author. Currently, Gerrit Monitor will display a red badge when there is an incoming review, but I often don't see it for quite some time.

It would be nice if Gerrit Monitor could display a browser/desktop notification when an incoming review comes in. It probably also makes sense to show notifications when a CL requires attention, so that I can address reviewer feedback and get my CL unblocked as quickly as possible.

Different users will presumably have different workflows and preferences, so which notifications are sent (if any) should ideally be configurable.

I'm happy to attempt to contribute this, if such a feature is considered desirable.

Ignored CLs should not require attention

Gerrit allows to "ignore" CLs:

REST API docs

I have over a hundred of them (it's old CLs and my team is not in the business of abandoning external contributions). It would be nice if the "ignored" state would be taken into account for what is displayed.

Add a button to log in to all repositories

When I have multiple repos in gerrit-monitor and any of them is not signed in, I get a "Try loggin in" message with 4 links to click and I have to click all four of them, which is annoying.

Could we add a button that would click all the links?

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.