-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Support increasing "unread count" for rooms without sending push notifications #5745
Comments
We tested this for mozilla, but found that people got confused about lack of notification counts. We probably want to figure out how to do that, c.f. element-hq/element-web#6061 and https://github.com/vector-im/riot-web/issues/3374 |
we're not actually sure we want to do this |
My 2c. Would love to get more feedback from others, though. I use synapse and riot personally and for work. In both cases, the amount of notifications, how "noisey" riot is, has been the biggest complaint, other than key-signing, and essentially causes users to stop using it via email rants about how distracting it is. No one likes getting a desktop/phone notification for every message of every work room they've been invited to. Especially if you are trying to work and it's the watercooler chat. For one-to-one rooms (initiated by "Start Chat"), sure. |
Desired behaviour is:-
Retain existing notification settings for pre existing rooms. |
worth noting that the spec defines default override push rules which are incompatible with that decision. Options include fixing the spec (either by adding a line saying the defaults are suggestions or fixing the defaults), or having clients deal with the new behaviour so as to represent the user's preference rather than the server's. |
My immediate reaction would be to fix the spec to suggest the new defaults. |
I've started braindumping about this issue here: https://docs.google.com/document/d/1KgYLJRZzLiPEno-xr1PDkE21ZFftth6FsiRPXekz7DM/edit. I'll try to get this doc in a better shape and do more digging when I'm back on Monday. |
This is horribly complicated due to the multiple moving parts of Riot/Synapse/Spec, each of which has its own behaviour, but to focus initially on the desired behaviour:
The current default here is "All mentions (noisy)". Changing this to "All messages" will mean that a message in a DM room will be pushed to mobile devices, but there will be no audible notification. Are you sure you want to change this behaviour?
As previously mentioned, we tried this before, but it means that there is no longer an "unread messages" count for these rooms (unless we do additional work to change that, cf #6061). Again: are you sure? |
@turt2live : I had a brief skim through https://matrix.org/docs/spec/client_server/r0.6.1#default-override-rules and couldn't see any that are incompatible. Can you clarify what you're referring to here? |
sorry, underride rules. https://matrix.org/docs/spec/client_server/r0.6.1#m-rule-message defines that the default for a message event be a badge count. |
You're correct. However, it's more nuanced than that I think. Reading through this issue, I hadn't realised this would be the case:
So principally what we want is the following separation of concerns: Room settingsPer room, let users manage the following, which they would expect to sync to all of their devices:
Account settingsTriggersOn triggers, which users would expect to sync to all their devices, and cause push etc:
These would change the default behaviour for their account, where they can still modify the per room settings above. AppearanceOn appearance, which would be advantageous to sync across devices:
AudioOn audio, the behaviour is more nuanced, and we would expect users to manage these locally:
Hopefully all of the above is clearer for all parties involved, but from scanning this issue I get the sense that there may be more dragons than we'd hoped. Let me know if you think it would be more productive to debug further async or on a call. |
We should probably acknowledge that the scope of this bug is changing into a general 'fix notif behaviour' one - but rather than polishing a turd, i'd rather that we did consider the bigger picture, so I think it's defensible for the scope to creep here. @nadonomy, I think your proposal above may be missing some edge cases:
So we may want to consider these. |
Relatedly we'll get ephemeral audio management as a part of Do Not Disturb, which I think is much closer aligned with users goals.
Ok, adding this to the product issue to consider the implications of this further. |
ok, sounds like this is not ready for development yet. I'm going to take it off the board for now. |
I talked with @erikjohnston and @jryans our conclusions:-
In any case working on getting the point where the defaults could be changed without changing existing behaviour is not blocked on the above, and as a start this issue should concentrate on getting to that point. |
So here's a plan of action for implementing these changes on Synapse:
Part of this work is also bundling a server-side solution to allow fixing https://github.com/vector-im/riot-web/issues/3374, and will probably involve reviving #6061. Step 2 and 3 should happen at the same time (but this is more a nice thing to have than a requirement), however 4 and 5 need to happen at the same time (albeit one right after the other) to avoid having to deal with a hybrid state where we're not sure of what the default value for a new user is. We have decided not to block implementing and merging steps 2 and 5 on the MSCs in step 1 being fully merged. Regarding step 4, a background database update was initially considered, however it's not ideal as it might conflict with actions the user might be doing while the update is being applied. A foreground schema update should be better in that regard thought it might block big servers for some time when restarting after upgrading. Maybe shouting loudly about that in the upgrade notes/changelog is good enough? |
First MSC is at matrix-org/matrix-spec-proposals#2625 |
We've been doing a lot of thinking about this. It turns out that it's more complicated than taking things we currently send notifications for and giving them a different action of
Of these, the biggest problem is encrypted messages. The plan here is:
|
since element-hq/element-web#7667 has landed, I'm going to close this in favour of element-hq/element-web#7723 which can cover the wider piece of work here. |
https://github.com/vector-im/riot-web/issues/8312
(actually, it's more https://github.com/vector-im/riot-web/issues/3268)
The text was updated successfully, but these errors were encountered: