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

Complete notifications system #145

Closed
5 of 10 tasks
andreynering opened this issue Nov 11, 2016 · 49 comments · Fixed by #523
Closed
5 of 10 tasks

Complete notifications system #145

andreynering opened this issue Nov 11, 2016 · 49 comments · Fixed by #523
Labels
type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@andreynering
Copy link
Contributor

andreynering commented Nov 11, 2016

Today Gitea can send e-mail for new Issues/PRs/Comments and that's it.

I think it should have a complete notifications system, like GitHub and GitLab.

  • Notifications would be saved in a database table
  • A page to manage them. Equivalent to https://github.com/notifications
  • Mark as read/unread, pinning a notification (visible even if read)
  • Subscribe/Unsubscribe button
  • Mark all notifications as read
  • Mark all notifications as unread
  • Automatic subscribe on Open/Comment, etc
  • Also more refined watch options?
  • E-mail read means notification gone. Each user should have the ability to disable this
  • E-Mail notifications for pushes

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@andreynering andreynering added type/enhancement An improvement of existing functionality type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first. and removed type/enhancement An improvement of existing functionality labels Nov 11, 2016
@lunny lunny added this to the 1.x.x milestone Nov 11, 2016
@lunny
Copy link
Member

lunny commented Nov 11, 2016

If you watch some repository, then defaultly, you will subscribe all the issues and prs on this repository except you unsubscribe this issue.

@bkcsoft
Copy link
Member

bkcsoft commented Nov 28, 2016

Please implement notifications like GitLab does, where you actually have to press "I'm done with this" before it goes away 🙂

@stevenroose
Copy link

If you add an "e-mail read means notification gone" system like GitHub's, please make it opt-out :)

@lunny
Copy link
Member

lunny commented Nov 28, 2016

@stevenroose that is a great idea. I think I can implement it.

@lunny
Copy link
Member

lunny commented Nov 28, 2016

@andreynering could you add e-mail read means notification gone to the check list?

@andreynering
Copy link
Contributor Author

@lunny @stevenroose Updated

GitHub implements that by having a 1px-1px transparent image which point to https://github.com/some-route?token=.... When the GitHub server serve that image for the first time the notification is marked as read.

@lunny
Copy link
Member

lunny commented Nov 29, 2016

Yes. A small trick. :)

@stevenroose
Copy link

@andreynering I know they do it like that. But most e-mail clients don't have a feature to block displaying emails from specific senders :) So if you don't like that feature, it can be annoying.

@tboerger
Copy link
Member

👍 for opt-out of this feature.

@stevenroose
Copy link

@tboerger Don't get me wrong. I got to like the e-mail thing because now I read all my GitHub stuff from e-mail. But for someone who doesn't it be annoying. I had a lot of "ah, let me quickly check this issue in my email and look at it further tonight" and then I ended up not finding the issue and ploughing through archived e-mails to find it back :D

@stroucki
Copy link
Contributor

My team would like commit messages, so I'm working on implementing that for all watchers to a repository.

There is a "notifyWatchers" function on commit, but all it does is make an entry in a database table.

@andreynering
Copy link
Contributor Author

@stroucki Did you start anything?

I just started but only had time to create the database table until you sent this message. 😃

Maybe we should create a feature branch and work together on this, so we don't have conflicting changes.

@stroucki
Copy link
Contributor

stroucki commented Dec 1, 2016

@andreynering Actually I have something that works :)

Though it is probably not acceptable for general usage, since you can't opt out. It is similar to what gogs does for mentionemails: Do a database entry that apparently is only useful for webhooks, then send out email to all watchers.

You can see it in my fork: (note I am still based on gogs)
https://github.com/stroucki/gogs/tree/commitemails

But while testing I see that it is not working for commits made via ssh yet.

@andreynering
Copy link
Contributor Author

@stroucki Thanks for linking your branch.

I started something on #321 (still in an early stage) for who's interested.

We will probably integrate notifications and email sending. Your patch will be useful.

@stroucki
Copy link
Contributor

stroucki commented Dec 1, 2016

I've been looking at getting notifications working on ssh commits today.
This is pretty messy, because 1) the serve command doesn't set up any of the mailer stuff and 2) it uses "log.GitLogger" to log stuff, but the mailer initialization bits want to log, they use "log". Things don't even seem to blow up then, the git-receive-pack ends up hanging and nothing really happens.
I got to the point now where it is sending commit messages, but the command line output gets a "failed to push some refs" error (but things have committed).

@stroucki
Copy link
Contributor

stroucki commented Dec 2, 2016

OK. I think I have it. I now get commit messages on https and ssh commits.

The big thing was that console logs interfere with the git processes that gogs creates. I'm guessing that since the log used stdout, the subprocess never terminated. Besides that, mailing services needed to be initialized too.
It is too late for tonight, but tomorrow I'll update my branch.

@bkcsoft
Copy link
Member

bkcsoft commented Dec 2, 2016

@andreynering I also think that Action-table holds most of the data already. Might be worth looking into before making a new table 🙂

@lunny
Copy link
Member

lunny commented Dec 2, 2016

^

@andreynering
Copy link
Contributor Author

@bkcsoft @lunny I will take a look at that, but I think we need another table. An action is created every time an issue changes, but we should have only one notification per issue/PR.

Also, an user may be subscribed to an issue but don't watch the repo, so won't have an action for him, etc. Situations like this.

@stroucki
Copy link
Contributor

stroucki commented Dec 2, 2016

Is the action table actually used for anything?

@stroucki
Copy link
Contributor

stroucki commented Dec 2, 2016

I committed changes to my branch that now let commit messages go out to watchers on https and ssh commits.

@andreynering
Copy link
Contributor Author

@stroucki

Is the action table actually used for anything?

It's only used by the feed on the dashboard.

I committed changes to my branch that now let commit messages go out to watchers on https and ssh commits

I'll look into integrate that after I'm done with my implementation

ethantkoenig pushed a commit to ethantkoenig/gitea that referenced this issue Feb 15, 2017
Display as text if YAML parse fails
@lunny lunny mentioned this issue Feb 23, 2017
20 tasks
@gayprogrammer
Copy link

gayprogrammer commented Jun 8, 2017

I would like to note that email notifications currently do not say which user commented on the issue. It only displays the content of the comment.

Can we add the name of who commented to the email somehow?

@tboerger
Copy link
Member

tboerger commented Jun 8, 2017

Than the current mail template is missing that information

@mxmehl
Copy link

mxmehl commented Jun 23, 2017

It would be good to have a button to mark all notifications as read. (I hope this is the right issue for this feature request)

@andreynering
Copy link
Contributor Author

@mxmehl Yes, that's reasonable.

@mxmehl
Copy link

mxmehl commented Jun 23, 2017

@mxmehl Yes, that's reasonable.

Cool! Could you please add that to the list in the top post?

@andreynering
Copy link
Contributor Author

@mxmehl Done!

@McLive
Copy link

McLive commented Feb 22, 2018

Any update on this? I'd like to see E-Mail notifications for pushes.

gogs/gogs#1441

@lunny
Copy link
Member

lunny commented Feb 23, 2018

@McLive added

@hasufell
Copy link

What I find missing here is optional admin notifications, like when a user has registered.

@worthy7
Copy link

worthy7 commented Sep 5, 2019

2019 is this not happening?

@lafriks
Copy link
Member

lafriks commented Sep 6, 2019

@worthy7 everyone works of features they need most as no one is paid to work on Gitea and we are spending our free time to work on this project...

@worthy7
Copy link

worthy7 commented Sep 7, 2019

Some people need the features but can't work on the project because it's in Go - a language not everyone knows. I would do this myself but I don't know anything about Go. So the best I can do is complain.
If other people don't think this is important, I'd like to know how organization owners (anyone out there) deals with issues and @mentioning people.... Perhaps I'm just using it wrong?

@stroucki
Copy link
Contributor

stroucki commented Sep 7, 2019

@worthy7 then pick up a book and start learning. It's not a secret language.

@worthy7
Copy link

worthy7 commented Sep 7, 2019

I suppose people can just get round this by unwatching/unsubscribing to everything not concerning them for now. It doesn't seem like there's much demand for the feature since last year.

@McLive
Copy link

McLive commented Sep 7, 2019

I‘m also still waiting for this 🙈

@hasufell
Copy link

a language not everyone knows

It takes about ~3 days to learn Go. I think you will have more problems with the sheer complexity of the application than you will have with the language :)

@worthy7
Copy link

worthy7 commented Sep 23, 2019 via email

@6543
Copy link
Member

6543 commented Sep 7, 2020

beside Also more refined watch options? <- I think for repos you mean

I'll close this, feel free to open a new issue for the speciffic case you are missing for notifications

@6543 6543 closed this as completed Sep 7, 2020
@lunny lunny removed this from the 1.x.x milestone Sep 8, 2020
@go-gitea go-gitea locked and limited conversation to collaborators Nov 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

Successfully merging a pull request may close this issue.