Coder Social home page Coder Social logo

fwouts / prmonitor Goto Github PK

View Code? Open in Web Editor NEW
117.0 5.0 17.0 22.62 MB

A browser extension to keep track of incoming and outgoing PRs

License: MIT License

HTML 0.39% TypeScript 97.85% JavaScript 1.75%
github developer-tools development pull-request chrome-extension firefox-addon

prmonitor's Introduction

PR Monitor

Note Looking for new maintainer

PR Monitor is stable, no new features are planned and it's in maintenance only.

If you'd like to improve it further, please send a pull request or feel free to fork the project.

CircleCI License Chrome Web Store Mozilla Add-on

PR Monitor is a Chrome and Firefox extension that helps you keep track of incoming and outgoing PRs, and notifies you when you receive a pull request on GitHub.

What does it look like?

Here's a quick demo of PR Monitor in action:

GIF made with Gifski 2

How to install

  1. Install the Chrome extension or Firefox extension
  2. Create a GitHub personal access token with the repo permission
  3. Enter the token into the extension
  4. Enjoy

Using PR Monitor with GitHub Enterprise

In order to use PR Monitor with GitHub Enterprise, you'll need to download the source code and set the baseUrl to match your GitHub Enterprise API URL, then compile the code (see below).

It's a two-line change, so don't be afraid! Refer to #769 for an example.

How to build it yourself

If you don't trust a random browser extension on the Internet with your GitHub token, that's understandable.

Here's how to build the extension yourself from source:

  1. Install Yarn.
  2. Install dependencies with yarn install.
  3. Run yarn build.
  4. In Chrome, go to chrome://extensions and enable "Developer mode" in the top-right corner.
  5. Click "Load unpacked" and select the generated dist/ directory.

Feedback

Feel free to file an issue with your feedback.

prmonitor's People

Contributors

cplesner-humio avatar dependabot-preview[bot] avatar dependabot[bot] avatar fregante avatar fwouts avatar nikbuskirk-dh avatar teejae avatar tomtuz 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

prmonitor's Issues

Mute everything for X hours

If you receive a PR off working hours, you probably shouldn't jump on it right away. By showing notifications, we make it too tempting to look at them. It would be good to be able to set a schedule, and/or snooze for some time.

Improve the setup process

  • Automatically prompt for the GitHub API token on install
  • Check whether the API token is correct or not immediately
  • Immediately show notifications for pull requests

Ability to ignore specific repositories

You may want PR Monitor to only watch some repositories. For example on my laptop at work, I don't want to see pull requests for my personal projects.

It should be possible to either:

  • uncheck specific repositories
  • uncheck entire repository owners (e.g. my personal account)
  • or maybe the opposite?

Clean up the GraphQL request

The GraphQL request we're making to fetch the pull requests assigned to the current user is scandalously large. It would probably make GitHub API engineers very sad.

Improve first-use experience

If you use PR Monitor for the first time, you may see a loading spinner for a long while.

It would be useful to explain why this is taking longer than usual, and reassure users that things are going as expected.

Add an "Open all unreviewed PRs" button

If you have 25 PRs to review (e.g. because of dependabot), it gets pretty tiring to open the popup, click on a PR, re-open the popup, click on the next one, etc.

Speed up popup loading

Right now, the popup only loads after double checking the authentication token. This should be instant, since we already do that in the background.

Allow users to mute a pull request

Sometimes, the author of a PR responds to comments but hasn't yet addressed all of them.

A few different approaches could be used:

  1. mute for X hours
  2. mute until next commit pushed to the branch
  3. mute until review re-requested

I think option 3 makes the most sense, as long as the PR is still accessible via the popup.

Add tests

A number of bugs could be avoided, both now and in the future, with proper test coverage.

Reduce the number of GitHub requests

We could be a bit smarter with the requests we make on each open PR. For example, we can probably save avoid fetching all previous reviews and comments every time.

We may also be able to reduce requests to list repos, as these only change very occasionally (but when you're added to a new repo, you probably want notifications right away).

My PR is marked as 'Waiting for review' despite of fulfilling merge-ability conditions.

The PRs in 'My PRs' section are marked as 'Waiting for review' despite of fulfilling mergeability conditions configured for our repo:

  • having a passing review (out of at least one reviewer, which is our setting, 3 codeowners auto-added as reviewers)
  • green required CI run

If the condition is actually waiting for all reviews to complete, maybe just adding a new 'mergeable' badge based on https://developer.github.com/v3/git/#checking-mergeability-of-pull-requests would be enough.

Green badge when 0 active PRs is obnoxious

When there are 0 active PRs, the extension icon has a badge with 0 on a green background in white text. It's particularly hard to read, and doesn't match other extensions. I would either make it grey, or remove it entirely when there are 0.

Screen Shot 2019-06-03 at 3 30 42 pm

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.