• GitHub
  • Documentation
  • Discord
  • Donate
search
  • chevron_right Threads
  • label Roadmap

Notifications

rafalp
March 31, 2023
chat_bubble_outline 27
chevron_right last_page
chevron_right last_page
  • link
    rafalp
    Project Lead 1979 posts
    March 31, 2023, 1:05 a.m. March 31, 2023, 1:05 a.m.
    link

    In past Misago used to have notifications feature but it was dropped during the grand rewrite of 2014. Since then I have planned to bring this feature back, but I've always had more important things to do, eventually resulting in this feature not happening.

    Well, not anymore because the time is finally upon us and notifications are now priority thing I've started working on as we speak.

    The plan is to implement new notifications framework for all Misago's notifications needs and for first release implement an MVP of notifications that only supports notifications about new replies to threads.

    Notifications will live in misago.notifications module and will cover both in-app notifications and email sending.

    GitHub pull request with the work: #1536

  • link
    rafalp
    Project Lead 1979 posts
    April 2, 2023, 4:35 a.m. April 2, 2023, 4:35 a.m.
    link

    Couple other ideas for notifications:

    Getting notified when you are mentioned in a post, selecting if you want notifications from everyone or just users you follow.

    Getting notified when user you follow starts thread or posts reply, sounds cool when you have user who posts high value content but does it rarely.

    Getting mentioned when your post is liked. Limiting this to likes by those you are following.

    Getting notifed of moderator doing something with your content. Deleting your thread, moving it to other category or splitting your post into new thread.

    Getting notified about new user following you.

    Getting notified about your post being selected as an answer to question.

    codemesma likes this.

    favorite 1

  • link
    rafalp
    Project Lead 1979 posts
    April 6, 2023, 9:33 p.m. April 6, 2023, 9:33 p.m.
    link

    Just a sneak peek at new notifications preferences:

    Zrzut ekranu 2023-04-6 o 21.30.50.png

    Zrzut ekranu 2023-04-6 o 21.30.50.png

    PNG, 159.2 KB, uploaded by rafalp on April 6, 2023.

    uwnyuD likes this.

    favorite 1

  • link
    rafalp
    Project Lead 1979 posts
    April 10, 2023, 10:09 p.m. April 10, 2023, 10:09 p.m.
    link

    Over the long weekend here I've managed to find enough time to implement most of notifications API, and now I've started to work on the UI:

    Zrzut ekranu 2023-04-10 o 22.02.27.png

    I'll now focus on completing the UI for notifications and replacing existing "subscriptions" UI with "watched threads". After UI is in place, I'll move to having thread replies use this new notifications framework.

    Zrzut ekranu 2023-04-10 o 22.02.27.png

    PNG, 27.6 KB, uploaded by rafalp on April 10, 2023.

  • link
    tetricky
    Members 159 posts
    April 10, 2023, 11:14 p.m. April 10, 2023, 11:14 p.m.
    link

    I'm not a fan of email notification (but I do like other methods - go-sendxmpp for xmpp, via a ntfy server for personal and group alerts). Will the hooks be available to potentially write a plugin to offer other types of notification (and not email)?

  • link
    rafalp
    Project Lead 1979 posts
    April 10, 2023, 11:16 p.m. April 10, 2023, 11:16 p.m.
    link

    Not in first release, but once plugin hooks from v4 are ported over to current codebase, I agree "notify about X" functions should be replace-able by the plugins.

    There's also question of enabling plugins to fiddle in the JS. I know how to do it, but that's kind of a tall order currently because it will require moving assets build step to misago-docker. I hope I'll be able to get that in later in the summer or after that tho.

  • link
    rafalp
    Project Lead 1979 posts
    April 16, 2023, 7:59 p.m. April 16, 2023, 7:59 p.m.
    link

    Another week, another milestone. Notifications dropdown and page with all notifications!

    Zrzut ekranu 2023-04-16 o 19.54.44.png

    Zrzut ekranu 2023-04-16 o 19.56.14.png

    Yup, I know there are two notification buttons in navbar! One of those buttons opens notificatins dropdown while the other is for full-screen notifications list, which is used on small screens. I'll add logic for hiding right button when I am finished with testing and designing.

    Zrzut ekranu 2023-04-16 o 19.56.14.png

    PNG, 140.5 KB, uploaded by rafalp on April 16, 2023.

    Zrzut ekranu 2023-04-16 o 19.54.44.png

    PNG, 163.5 KB, uploaded by rafalp on April 16, 2023.

    uwnyuD likes this.

    favorite 1

  • link
    AlainCh2
    Members 1 post
    April 16, 2023, 10:01 p.m. April 16, 2023, 10:01 p.m.
    link
    @rafalp has written:

    Notifications dropdown and page with all notifications!

    Great a thing !!

    What I was missing most:
    - nametag/Mention @AlainCh2
    - reply/quote to any of my posts
    - "first" New post in a subscribed thread

    No need for @-notification the Icon is enough!!

    Thanks @rafalp

  • link
    rafalp
    Project Lead 1979 posts
    April 27, 2023, 12:57 p.m. April 27, 2023, 12:57 p.m.
    link

    As part of the work on notifications I’ll also update the navbar. It no longer uses bootstrap components, it collapses nav options into dropdown so I’ll be able to fit more of them into it (for example, hamburger menu may include links to categories too)

    CF5B1D25-1A67-48A5-8309-7C4ADF7E46D2.png

    CF5B1D25-1A67-48A5-8309-7C4ADF7E46D2.png

    PNG, 11.4 KB, uploaded by rafalp on April 27, 2023.

    pycleus and AlainCh2 like this.

    favorite 2

  • link
    rafalp
    Project Lead 1979 posts
    May 4, 2023, 9:13 p.m. May 4, 2023, 9:13 p.m.
    link

    Notorious "Disabled" button has been replaced with new "Watch" button which changes to "Watching" when user enables notification for new replies in thread:

    Zrzut ekranu 2023-05-4 o 21.08.54.png

    Zrzut ekranu 2023-05-4 o 21.08.54.png

    PNG, 44.8 KB, uploaded by rafalp on May 4, 2023.

    uwnyuD likes this.

    favorite 1

  • link
    rafalp
    Project Lead 1979 posts
    May 5, 2023, 7:41 p.m. May 5, 2023, 7:41 p.m.
    link

    Another important milestone reached: New notifications logic for threads replies has been implemented and posting process now uses it in place of old one.

    Best thing about new implementation is that this logic is now part separate process (tasks queue) and not main HTTP process. Reply authors no longer have to wait for Misago to notify all thread watchers about new reply being posted by them before they are redirected to their reply 👏 Also, if there's an error while notifying one of watchers about new reply, this watcher will be simply skipped and forum will still notify other watchers.

    I will now move to adding notifications when users are added to private threads.

    There's now hope that new notifications will be released before May ends🤞

  • link
    rafalp
    Project Lead 1979 posts
    May 6, 2023, 10:33 p.m. May 6, 2023, 10:33 p.m.
    link

    New notification logic for private threads has been implemented. As with notifications about new replies, this one is part of separate process, making posting of private threads snappier and more error-proof than it was before.

    Final feature for notifications framework MVP that I want to implement is adding "Click here to stop receiving emails with notifications from this thread" links to notification e-mails. After those are in I'll focus on code polishing and cleanups.

    I want to ship notifications sooner than later so I can put it in users hands and enable them to test it.

  • link
    rafalp
    Project Lead 1979 posts
    May 9, 2023, 9:28 p.m. May 9, 2023, 9:28 p.m.
    link

    Notifications MVP is feature complete 🎉

    What remains to do now is to write data integrity guards for scenarios when threads or users are moved or deleted and benchmark the implementation.

  • link
    rafalp
    Project Lead 1979 posts
    May 15, 2023, 12:08 a.m. May 15, 2023, 12:08 a.m.
    link

    Implementation is complete and I've started benchmarking. After I am happy with benchmarks results, I'll do one more test pass to see how those features are working, and then I'll make an release.

  • link
    rafalp
    Project Lead 1979 posts
    May 15, 2023, 11:35 p.m. May 15, 2023, 11:35 p.m.
    link

    104 commits, 369 files changed but notifications MVP has been merged. ✅

    I will keep this thread open for discussion about future new events that should be added to notifications. There's also GitHub label for tracking notifications related work.

    Zrzut ekranu 2023-05-15 o 23.31.26.png

    Zrzut ekranu 2023-05-15 o 23.31.26.png

    PNG, 67.5 KB, uploaded by rafalp on May 15, 2023.

  • link
    rafalp
    Project Lead 1979 posts
    May 20, 2023, 11:35 p.m. May 20, 2023, 11:35 p.m.
    link

    Known issue: sometimes notification task is executed before transaction that triggered the notification completes. This makes the task fail with "Post.DoesNotExist" error (post exists, but its not yet visible to other database connections), preventing any notifications from being sent out.

    I'll add retry after 5 seconds when this happens. That should be good enough.

    Github: github.com/rafalp/Misago/issues/1600

  • link
    tetricky
    Members 159 posts
    Jan. 1, 2024, 3:22 p.m. Jan. 1, 2024, 3:22 p.m.
    link

    Just a follow up on this. I remain interested in sending notifications to xmpp or a ntfy push server.

    Obviously the roadmap has changed in regards 4.0, where does this leave the possibility for plugins on notifications?

    Essentially I want to be able to keep all the same logic, but add a notification by another method than email. Would it be possible to duplicate the email setting (xmpp addresses are in the same form) but use something like sendxmpp instead of sendmail (or whatever misago is using to send email)?

  • link
    rafalp
    Project Lead 1979 posts
    Jan. 1, 2024, 3:25 p.m. Jan. 1, 2024, 3:25 p.m.
    link

    There's no roadmap for 4.0 because 4.0 itself is not planned anymore.

    Now that there's a plugin system, notifications will be connected to plugins eventually, and developers will be able to add new and replace existing notification methods with plugins.

    I have no idea when this is going to happen, because there is quite a lot of stuff that ought to happen in 2024. But I want to do it. Also, there is quite a lot other work planned for notifications.

chevron_right last_page
arrow_upward Go to top
  • This site uses cookies to gather statistical data for use in traffic analysis.
  • GitHub
  • Documentation
  • Discord
  • Donate
  • Terms of service
  • Privacy policy
powered by misago