📮Untangle your GitHub Notifications
Перейти к файлу
Benjamin Nickolls 41564bd60f Update the Octobox logo (#835)
* * add new logo

* * add attribution

// becuase I based the icon design on one of Raeha's illustrations.

* * remove old svgs
* update pngs

* * change tagline

* * add new logo

* * add attribution

// becuase I based the icon design on one of Raeha's illustrations.

* * remove old svgs
* update pngs

* * change tagline

* * capitalise

* check in new icons

such icon, very image. wow.

* Pin the filter/action bar to the top of the notifications table (#821)

Fixes #817

* Make the mute selected button available on archive view

* Add missing documentation header

* Fixed misspellings of 'notification'

* Document runtime-dyno-metadata setting in heroku setup

Closes #795

* Delete removed labels from subjects when syncing (#825)

Fixes #808

* Mark notifications as read when archiving (#826)

Fixes #824

* Use git-merge icon for merged pull requests to match GitHub.com behavior (#827)

* Fix z-index of navbar dropdown

* Dark outline buttons should have white icons on focus as well

* Fix sync keyboard shortcut and animation

Fixes #829

* Bump autoprefixer-rails from 9.1.2 to 9.1.3 (#830)

Bumps [autoprefixer-rails](https://github.com/ai/autoprefixer-rails) from 9.1.2 to 9.1.3.
- [Release notes](https://github.com/ai/autoprefixer-rails/releases)
- [Changelog](https://github.com/ai/autoprefixer-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ai/autoprefixer-rails/compare/9.1.2...9.1.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Add spacing between icon and text on login button

* Simpler relationship between repositories and subjects

* Add label scope to Subject

* Avoid using fetch_subject config method directly in views

* Basic admin page (#833)

Closes #784

* Respect github_domain config when linking to notification settings (#832)

* Shorten units for human numbers in admin

* Fix ambiguous column error when filtering by unlabelled and assignee

* Simplify an inverted condition in helper method

* Add repository tests

* Remove tests of a branch that hasn't been merged yet

* Admin controller test

* More admin tests

* Add test for SyncAllUserNotificationsWorker

* Bump pg from 1.0.0 to 1.1.0 (#837)

Bumps [pg](https://bitbucket.org/ged/ruby-pg) from 1.0.0 to 1.1.0.
- [Changelog](https://bitbucket.org/ged/ruby-pg/src/master/History.rdoc)
- [Commits](https://bitbucket.org/ged/ruby-pg/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump et-orbi from 1.1.4 to 1.1.5 (#838)

Bumps [et-orbi](https://github.com/floraison/et-orbi) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/floraison/et-orbi/releases)
- [Changelog](https://github.com/floraison/et-orbi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/floraison/et-orbi/compare/v1.1.4...v1.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Revert "Bump pg from 1.0.0 to 1.1.0" (#840)

* Revert "Bump et-orbi from 1.1.4 to 1.1.5 (#838)"

This reverts commit 3b2c9852bc.

* Revert "Bump pg from 1.0.0 to 1.1.0 (#837)"

This reverts commit c1bdc01e92.

* Lock pg gem to 1.0.0

1.1.0 and 1.1.1 are broken on alpine linux

* Install Octobox as a GitHub App (#806)

* Lock pg gem to 1.0.0

1.1.0 and 1.1.1 are broken on alpine linux

* Install Octobox as a GitHub App

* Add documentation page (#834)

* * move keyboard mappings to shared partial

* * more search prefix help to shared partial

* * add repo scope required modal with stub content

* * add unfinished support page
* add unfinished documentation page

* * content checkpoint

* * fix scroll on small screens
* use list-group instead of nav pills for documentation

* * remove searchbar if there are no notifications on the page

* * add sidebar button on smaller devices
* fix scroll behaviour on small devices (need to set a scrollable) inner element though.

* * typo

* * fix up spacing of docs on smaller screens

* * add documentaiton to menu

* * remove padding classes

* * add new key for app install urls

* * hide some docs behind app_install_url

* * fix config option

* * review fixes

* * add support to documentation page
* add a redirect to support there in case anyone hand-crafts a url

* * update menu link

* * remove support page
* switch route to one that works

* * modify messaging if we need more scope, or we're on octobox.io

* * show lock icon if feature are actually disabled

* Add App Installation count to admin page

* Fix bug in documentation page

* Slight reordering of filters on docs page

* Add a simple header to all logged-out page content

* Rename duplicate app_install_url method

* Update logged out page header

* update main app icon

fit propportion of GH marketplace

* Swap octobox.svg for infinitacle-round.svg
2018-08-28 15:42:56 +01:00
app Update the Octobox logo (#835) 2018-08-28 15:42:56 +01:00
bin Upgrade rails to 5.2.0 (#573) 2018-04-10 22:37:08 +01:00
config Add documentation page (#834) 2018-08-28 13:40:06 +01:00
db Install Octobox as a GitHub App (#806) 2018-08-28 12:36:03 +01:00
docs Install Octobox as a GitHub App (#806) 2018-08-28 12:36:03 +01:00
lib Rename duplicate app_install_url method 2018-08-28 14:08:40 +01:00
log Hello World 2016-12-16 23:22:09 +00:00
openshift Some minor typo fixes on OPENSHIFT_INSTALLATION.MD 2018-06-04 09:42:03 +02:00
public Update the Octobox logo (#835) 2018-08-28 15:42:56 +01:00
test Update tagline 2018-08-28 14:59:02 +01:00
tmp Hello World 2016-12-16 23:22:09 +00:00
vendor/assets Hello World 2016-12-16 23:22:09 +00:00
.codeclimate.yml Add codeclimate config 2016-12-19 19:50:30 +00:00
.dockerignore Ignore dev files when deploying to heroku to reduce the slug size (#655) 2018-06-18 17:33:21 +01:00
.env.example Add bugsnag js notifier (#704) 2018-07-27 11:11:00 +01:00
.eslintignore Add codeclimate config 2016-12-19 19:50:30 +00:00
.eslintrc Add codeclimate config 2016-12-19 19:50:30 +00:00
.gitignore Add sidekiq scheduler for notification jobs (#589) 2018-04-11 13:39:38 -05:00
.rubocop.yml Fix up some warnings/errors in rubocop config 2018-08-16 15:36:12 +01:00
.ruby-version Update ruby to 2.5.1 (#583) 2018-04-03 14:07:27 +01:00
.slugignore Ignore dev files when deploying to heroku to reduce the slug size (#655) 2018-06-18 17:33:21 +01:00
.travis.yml Test against postgres 9.6 on travis 2018-08-10 13:50:43 +01:00
Dockerfile Update ruby to 2.5.1 (#583) 2018-04-03 14:07:27 +01:00
Gemfile Lock pg gem to 1.0.0 2018-08-28 10:35:28 +01:00
Gemfile.lock Lock pg gem to 1.0.0 2018-08-28 10:35:28 +01:00
LICENSE.txt Hello World 2016-12-16 23:22:09 +00:00
Procfile Automatically run migrations on heroku deploys (#657) 2018-06-18 17:33:05 +01:00
README.md Update tagline 2018-08-28 14:59:02 +01:00
Rakefile Generate api docs during asset build to enable api docs on heroku (#656) 2018-06-18 17:33:34 +01:00
app.json Update tagline 2018-08-28 14:59:02 +01:00
config.ru Add rack-canonical-host for redirecting to herokuapp subdomain to octobox.io (#760) 2018-08-09 14:34:50 +01:00
docker-compose-dev.yml Add redis to docker-compose configs 2018-03-18 11:49:03 +00:00
docker-compose.yml Add redis to docker-compose configs 2018-03-18 11:49:03 +00:00

README.md

Octobox 📮

📮 Untangle your GitHub Notifications.

Screenshot of  Octobox

Build Status View Performance Data on Skylight Docker Gitter OpenCollective OpenCollective Open Source Helpers license

Why is this a thing?

If you manage more than one active project on GitHub, you probably find GitHub Notifications pretty lacking.

Notifications are marked as read and disappear from the list as soon as you load the page or view the email of the notification. This makes it very hard to keep on top of which notifications you still need to follow up on. Most open source maintainers and GitHub staff end up using a complex combination of filters and labels in Gmail to manage their notifications from their inbox. If, like me, you try to avoid email, then you might want something else.

Octobox adds an extra "archived" state to each notification so you can mark it as "done". If new activity happens on the thread/issue/pr, the next time you sync the app the relevant item will be unarchived and moved back into your inbox.

Table of Contents

Getting Started

Octobox.io

You can use Octobox right now at octobox.io, a shared instance hosted by the Octobox team.

Note: octobox.io has a few features intentionally disabled:

  • Subject syncing (includes authorship and open/closed/merged status information) (#411)
  • Personal Access Tokens (#185)

Features are disabled for various reasons, such as not wanting to store users' tokens at this time. Some features might never be enabled, and some just might have other prerequisite work pending completion.

Install

You can also host Octobox yourself! See the installation guide for installation instructions and details regarding deployment to Heroku, Docker, and more.

Desktop usage

You can run Octobox locally as a desktop app too if you'd like, using Nativefier:

npm install -g nativefier
nativefier "https://octobox.io" # Or your own self-hosted URL

This will build a local application (.exe, .app, etc) and put it in your current folder, ready to use.

Web extension

You can also install the cross-browser Octobox Web Extension. It is available for Google Chrome and Mozilla Firefox, but you can also use it with other browsers that support web extensions.

Requirements

Web notifications must be enabled in your GitHub settings for Octobox to work.

Notifications settings screen

Keyboard shortcuts

You can use keyboard shortcuts to navigate and perform certain actions:

  • a - Select/deselect all
  • r or . - Refresh list
  • j - Move down the list
  • k - Move up the list
  • s - Star current notification
  • x - Mark/unmark current notification
  • y or e - Archive current/marked notification(s)
  • m - Mute current/marked notification(s)
  • d - Mark current/marked notification(s) as read here and on GitHub
  • o or Enter - Open current notification in a new window

Press ? for the help menu.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Contribute

Please do! The source code is hosted at GitHub. If you want something, open an issue or a pull request.

If you need want to contribute but don't know where to start, take a look at the issues tagged as "Help Wanted".

You can also help triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to Octobox on CodeTriage.

Finally, this is an open source project. If you would like to become a maintainer, we will consider adding you if you contribute frequently to the project. Feel free to ask.

For other updates, follow the project on Twitter: @octoboxio.

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so we don't break it in a future version unintentionally.
  • Send a pull request. Bonus points for topic branches.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

GNU Affero License © 2018 Andrew Nesbitt.