Git Product home page Git Product logo

nickzuber / meteorite Goto Github PK

View Code? Open in Web Editor NEW
111.0 4.0 9.0 14.31 MB

:sparkles::seedling: Smarter GitHub notifications. Organize and score notifications based on importance and relevance.

Home Page: https://meteorite.dev

License: MIT License

HTML 13.28% JavaScript 85.09% CSS 1.63%
github notifications productivity github-api github-notifications webapp meteorite meteorite-app decentralized web-notifications

meteorite's Introduction

meteorite

โœจ Smarter GitHub notifications ๐ŸŒฑ

Getting started

Just visit https://meteorite.dev, log in, and let the notifications roll in as they happen!

How it works

It's actually pretty simple - we use GitHub's notifications API to get your notifications as they come in, and keep track of relevant heuristics overtime on a per-thread basis, so we know why you're getting a notification and the previous reason's you've gotten it.

Using this information, we're able to give a score of importantce to each thread based on the history of reasons we saw coming in. For example, a pull request that is assigned to you, has your review requested, and has 30 comments on it, will be scored much higher than an issue you opened up and received a single comment of someone saying "nice" on it.

We're also able to hook into desktop notifications to alert you when you get a GitHub notification if you'd want - something like this is totally opt-in.

Some key features include:

  • Scores your notifications based on their importance, so we can surface the most critical updates at the top of your queue.
  • Provides you with quick context for why you're receiving each notification.
  • Allows you to opt in for desktop notifications whenever you recieve important update to help notify you right away.
  • Protects you from useless spammy notifications that you don't care about.
  • Let's you focus in on specific types of notifications that matter to you, like when your review is requested for a pull request or you were assigned an issue.
  • Unlocks dope statistics that help you understand how you interact with notifications on a daily basis.

We're also able to categorize some types of notifications and put a badge on them to help you quickly identify different kinds of issues. We support:

  • Old pull requests that require your review (icon is a green clock).
  • Very active threads that get a lot of updates in a short amount of time (icon is a red flame).
  • Threads that have a lot of comments and conversation on them (icon is a blue word bubble).

About this project

  • This project is currently hosted on Zeit
  • Built from an ejected CRA app
  • Authenticates with the help of Gatekeeper

Alternatives

Meteorite aims to solve the problem where GitHub notifications don't provide enough context, nor have enough smart functionality to help you be as productive as possible.

However, you might be looking for more general tools for managing your notifications. If that's the case, there is an excellent paid tool called Octobox which aims to treat your GitHub notifications more like an email inbox (with some additional features).

I believe these two tools solve different (but related) problems, but at the end of the day you should use whichever tool makes you more productive.

Contributing

All contributions are welcome, even if its just submitting feedback, giving a suggestion, or reporting a bug. If you're looking to add a feature to Meteorite, make sure you open an issue first (if there's not one open already), and make it known that you're going to be working on it as to avoid multiple people trying to pick up the same issue.

License

This software is free to use under the MIT License. See this reference for license text and copyright information.

meteorite's People

Contributors

asantarissy avatar dependabot[bot] avatar franky47 avatar nickzuber avatar rican7 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

meteorite's Issues

Request - Improve empty state UI

Would be cool to add an image instead of just plain text when you have no unread notifications to show, similar to the image shown when you lose internet connection.

Request - Indicate Issue/PR status

It would be awesome to see the status of the issue/PR notification.

I generally filter these out when looking through which notifications to read & respond to.

Bug - Desktop Notifications

Browser: Google Chrome Version 72.0.3626.119 (Official Build) (64-bit)
OS: macOS Mojave Version 10.14.3

Issue:
I'm not receiving any notification on my desktop.
screen shot 2019-02-28 at 12 42 07 pm

Menu overflows on mobile

I just discovered meteorite and already love the project. However I found an annoying UI issue on the notification panel as seen on the screenshot below:
Screenshot_20220202-135645.png
Let me know If you'd like additional inputs.

Request - Snooze/Pin notifications

Sometimes when I click on a notification, I want to come back to it later (RFCs, long and detailed PRs, etc).

It'd be great if there was an "undo" button somewhere that lets you "un-mark" as read for the notification you just opened.

We already support this manually, so this would just be an ease-of-access feature. Should be easy to add (famous last words).

Request - Desktop Progressive Web App (PWA)

So "Desktop Progressive Web Apps" are a thing now, and they're AWESOME. Basically, with some work you can make an app "installable" and "first-class" on your OS, similar to how it'd work if it were wrapped in Electron. Its available on Windows, Linux, and Android on Chrome 70, and soon on macOS with Chrome 72.

In some ways, this just improves the feel of the app, but in other ways it can actually really make a UX difference. For example, if Meteorite were a PWA, then I could have a shortcut to it on my desktop that opened a siloed window (with no browser 'chrome') and could have native notification integration in the OS.

Also, PWA's basically require that your app uses a decent architecture, such as Service Workers, so you get all the benefits there too.

At the end of the day, if this were done, the app would feel basically native, which would be HUGE and super exciting, personally.

Request - Silence threads

Create the ability to silence a thread from sending web notifications temporarily.

The trickiest part will be the UI/UX around this feature ๐Ÿค”

Bug - Heroku token provider offline

It looks like the gatekeeper instance for production got hit when heroku took down the free tier.

Screenshot 2023-01-20 at 9 25 25 AM

I'm able to reproduce this issue consistently in production when trying to log in with my github account.

I think this functionality should be relatively easy to transition to a netlify, vercel, or cloudflare cloud function. Some prior art from a quick google search:

Question - Requesting Write access to Company private Repos

Questions

Hi everyone.
Your project looks really nice and i will like to use it on my company private repos but it's asking for write access... so i am having trouble convincing them to allow me to use it. Is it really necessary to request write access to private repos of an organisation for it to work ?

Thanks in advance!

Request - First time users

First time users should be get a few special treatments:

  • first time loading the page, should check how many queued notifications there are.
    • a high number here could indicate that the user doesn't use notifications for triage, so we should ask them/recommend if they want to mark all as read

Request - Stale staged notification should get closed

If a notification is staged and hasn't been updated in X minutes/hours/days, it should be set to closed.

Likewise, if a notification is closed and hasn't been updated in Y minutes/hours/days, it should be purged from the cache and effectively deleted.

Bug - Web Notifications do not work in Safari

Hi, thanks for this great web app. In safari, on macOS Catalina 10.15.3, I've allowed notifications, yet I do not get any.

In the console log area, I see TypeError: undefined is not an object (evaluating 'Notification.requestPermission().then')

Thanks,
Linus

Bug - A wild state_changed appears!

i guess it is possible to get state_change reason if something happens after a PR/issue was merged/closed/etc

We should account for state_change and others, regardless of if we really see them or not.

Bug - Fix version in the footer

The version in the footer right now is static โ€” we should print the git hash from the latest commit.

This could be done via a pre-deploy hook which writes it to a txt file if we have to

Request - Add more ways to filter results

With the search UI, we should be able to filter by repository and/or date; not just by PR name.

Might be a good opportunity to look into more rich query support here.

Request - Add button for moving all in Queue to Closed

People who don't normally use their GH notifications for triage will have a lot of "unread" notifications that they might have already dealt with.

This button would allow as a soft escape hatch for starting fresh, without actually deleting anything from the cache.

Request - Adjust syncer based on use

Something like an inverted percentage backoff as the hourly limit is approaching.

I might not be using it a lot, but someone with a ton of notifications and subscribed to a lot of different repos (ahem, attius) might.

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.