Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding notification for reviews #3

Open
pducolin opened this issue Apr 30, 2020 · 8 comments
Open

Adding notification for reviews #3

pducolin opened this issue Apr 30, 2020 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@pducolin
Copy link
Contributor

It would be awesome to be notified when:

  • a comment is added to a PR, to the PR owner

  • a reply is added to a comment, to the comment owner

  • a build fails

  • all builds passed

Additionaly, could be great to have a mute notifications buttons, for folks who prefer polling their PRs regularly

@Mikescops Mikescops added the enhancement New feature or request label May 1, 2020
@Mikescops Mikescops self-assigned this May 1, 2020
@Mikescops
Copy link
Owner

Mikescops commented May 1, 2020

Hello,

I see two different improvement here:

  • comments notfications
  • build notifications

They both are under different API.

Also there is a need for a notification system, whether with a new tab in the UI or (/and) with browser notifications.

My approach would be to compare after polling the API the stored content and the new content to trigger notifications if there are differences.

Work to be done:

  • Create a new UI for notifications listing.
  • Add storage for notifications
  • Add a "done" button (Github like) to clear a specific notification or all notifications.
  • Change display style of a notification if visited.

For comments (AFAIK):

  • compare the comments number for each MR
  • trigger a notification if there are changes
  • try to know if the user was tagged?

For builds (AFAIK):

  • call the pipeline status API
  • store the state of the pipeline for each MR in the extension storage
  • compare the status of the pipeline with the previous stored state
  • trigger a notification if there are changes
  • display in the main UI if the pipeline succeeded for each MR

@pducolin
Copy link
Contributor Author

pducolin commented May 1, 2020

I would also add a clear all for notifications, maybe clear them if older than 24h ? I would go for both separate tab + extension icon notifications (is it possible). Step 1, starting with a new tab.

I can look into it :)

@Mikescops
Copy link
Owner

Mikescops commented May 1, 2020

I would also add a clear all for notifications

It was already written ^^

maybe clear them if older than 24h

Let's keep everything (because some user are not using it on a daily basis) and add more option to customize later.

I have done part of the work of getting the notifications that are new:
image

@pducolin
Copy link
Contributor Author

pducolin commented May 2, 2020

I'm creating a tab for notifications

@pducolin
Copy link
Contributor Author

pducolin commented May 2, 2020

I'm on it, I started a but of refactoring, my proposal would be to poll for MR list every X seconds / minutes -> remove the retry
I would also keep the rendering in the return part of the component, while the getMR functions would only return a list of objects. What do you think?
I would like to extract 2 separate components for assigned and owned MRs

@Mikescops
Copy link
Owner

I see two different approach for notifications:

  1. Creating notifications in the background (title, content, author, link..) and store them in the local storage
  2. Build notifications at display time from the content of the PRs

@pducolin
Copy link
Contributor Author

pducolin commented May 8, 2020

I have a PR ready for the refactor of App.tsx, I fork?

@scop
Copy link

scop commented Jan 17, 2023

Any news to share about this? It'd be a great feature, making the extension a complete replacement for e-mail based notifications.

The different notification levels as in GitLab's Profile -> Notifications would be great. I'd be personally happy with just the "Participate" level though :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants