Notification system: differences from Element client and API spec
I believe element currently fetches those settings from server, since it syncs between instances. So I imagine the data is available in the account data. Currently, I have to disable notifications to avoid being constantly distracted. Thanks for the amazing client. :pray:
The ement-notify library does not match Element and the spec 1:1. It is a bespoke system which affords more flexibility, but by default it may seem to notify for more than is expected.
Please see M-x customize-option RET ement-notify-notification-predicates RET; if you disable some of those, you can rein in excessive notifications. You can also add predicates of your own to that and other options in the ement-notify group.
In the future the system will likely be improved to match Element's behavior more closely by default.
The room list is already displaying the notification setting of each room. Is that used in the notification code yet? I could take a quick shot at it if youre not atm. Thanks :pray:
Yes, it affects the notification counts returned by the server, which affect whether rooms are considered unread. That is the extent of it at the moment.
Contributions are welcome, but be aware of the FSF copyright assignment requirement. As well, changes like this would likely not be trivial, so they would subject to extensive review. :)
by default it may seem to notify for more than is expected
My initial reaction to this had been "let's make the notifications buffer less spammy" but later I realised "oh, the notifications buffer can actually be my primary interface for reading all of the discussions without needing loads of room buffers, so I actually want it to show me everything.
(I even disabled the predicate which prevents your own messages from showing up, so that I have that context as well.)
@phil-s Yes, that was my original intention for the notifications buffer, to act as a "meta" buffer showing messages from multiple rooms (I think one of the screenshots demonstrates that as well). Now that that buffer also fetches the canonical "notifications" from the Matrix homeserver, the line becomes a bit blurred, perhaps. But I'd like to continue using the existing per-room notification settings to control which rooms' messages end up in that buffer, if possible. Alternatively, we could make some kind of third "meta buffer" with its own settings to direct rooms' messages into it, but I wouldn't want to add the extra complexity unless it's really necessary.
It seems like the most challenging aspect of all this is communicating to the user how these features work. Suggestions in that regard are most welcome.