This Chrome Extension adds a Snooze feature to GitHub issues and pull requests.
This extension allows to "snooze" GitHub issues and pull requests so that you get notified after a certain time if there is no activity on the issue or pull request.
This is useful for example if:
- you opened an issue and you're waiting for feedback on it
- you opened a pull request and you're waiting for a review
- you replied to an issue or pull request and you're waiting for somebody to reply
The GitHub Snooze Extension is available in the Chrome Web Store. You can install it as a regular extension.
You will need to generate a GitHub Personal Access Token (PAT), with these permissions:
repo
: used for getting the repository information, such as last update date time on issues and pull requestsread:user
: used for retrieving the current logged in user information (GitHub ID and username)
This extension will require this set of permissions:
tabs
: used for checking the current navigation URL on different tabs and if it matches thehttps://github.com/*
patternalarms
: used for periodic checks for the updates on a PR / issuestorage
: used for storing in thesync
andlocal
storage databackground
: used for running in background aservice_worker
that will manage all the background operations, such as: checking current url, set initial state, ...notifications
: used for sending in-browser notifications
No action is required by the user to allow or enable these permissions, the browser will manage those automatically.
The local storage will be used to store this information:
currentUrl
: the current url you are navigating on, only if it matches thehttps://github.com/*
patternpat
: the user personal access tokenuser
: user object with the information retrieved fromGET https://api.github.com/user
The sync storage will be used to store this information:
snoozeList
: the list of all the snooze the user plannedbadgeCounter
: the number of notifications (expired snoozes) available
A hosted Storybook is running here.
In order to use this extension locally from a compressed archive:
- Download the release artifact with the distribution files, the
dist.zip
and extract it. - Open the Extension Management page by navigating to:
chrome://extensions
- Enable Developer Mode by clicking the toggle switch next to Developer mode
- Click the Load unpacked button and select the extension directory, in this case the previously extracted folder
In order to use this extension during the development:
- Run
npm start
in the project root, this command will generate thedist
folder and will run the extension inwatch
mode - Open the Extension Management page by navigating to:
chrome://extensions
- Enable Developer Mode by clicking the toggle switch next to Developer mode
- Click the Load unpacked button and select the extension directory, in this case the
dist
folder
The extension is published automatically to the Chrome Store whenever a new release is made in the repository.
To publish a new release, use the standard release workflow from the Actions tab of the repository.
Screenshots to be included in the store listing can be generated with storycap running the command npm run storycap
.
It uses Storybook to generate stories for the screenshots.