What sort of notification configuration do we want? I believe fine-grained notification settings are very important, so people can be notified about things they care about, but not get spammed.
This must be designed together with the UI for editing notification settings.
Lets take a user stories approach. We can't support everything, but we should have an idea/framework for notif settings. Some example notification choices the user might want to make:
Notify me when somebody mentions me
Notify me when somebody comments on a document which I have created or co-authored
Notify me only for new discussions
Notify me for all comments
Notify me when somebody creates a child document inside a document I have authored
Notify me when a specific document gets edited
Notify me when a document gets created or edited within one section
Notify me for any new comments on a specific document - I didn't create this document but I care about the discussion there.
Notify me when my document receives a new citation.
Notify me when somebody replies to one of my comments
Notify me when there are new comments under one of my comments- maybe they are not replying to me directly but this is a discussion I started and people are replying to eachother
Email me for only some of my notifications. For the rest, I will check the app.
Send a summary email once a day (or week, or 4x per day) of all my notifications- I don't want to get spammed
Notify me via email immediately when I am mentioned, even if I have a summary email
Decide what not to get notified for. Github allows you to unsubscribe from an issue if the discussion gets too annoying. Discord has the concept of "muting" a channel that you don't care about.
Other edge cases to consider:
avoid double-notification if two conditions are met