element-hq / element-hq/element-x-android
Add setting to make room notifications silent/non-noisy and consider making it the default for public rooms
- Dominant language
- Kotlin
- Stars
- 2.4k
- Forks
- 624
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 149
Description
### Your use case
#### What would you like to do?
When there is a message in a public room I'm part of, I want a silent notification for each one.
When I am written in a 1:1 chat or private room or am directly pinged in a public room, I want a noisy notification.
It is currently impossible to do both because these distinct types of notification are both funnelled into the noisy notification channel.
#### Why would you like to do it?
I'm forced to make the decision between the ability to be responsive to "important" matters (noisy notification) and keeping up with public rooms via notifications.
#### How would you like to achieve it?
I'd like notification settings to distinguish between silent and noisy notifications. The desktop client even does this and, in my memory, the original Element android app did so too at some point but it was removed.
### Have you considered any alternatives?
You can, of course, disable notifications for rooms entirely. I do this for a bunch of big high-traffic public rooms that I'm "part of" in the sense that I'm listed as a member, able to be pinged and able to open it up quickly without joining/leaving all the time.
I do not read every message in those rooms.
There are rooms however where I do want to at least see every message at some point but don't usually need them to be brought to my attention. They're important enough to be brought into my notifications feed but not important enough to require immediate attention which is precisely what silent notifications are for.
### Additional context
I currently use Matrix/Element to interface with people on FOSS projects where large public rooms are common but also smaller public rooms for specific interest groups and also sometimes 1:1 chats for direct conversations.
If element ever wants to have a chance as a messenger for personal matters rather than just a modern IRC for nerds, getting notifications right is critical. You can't have people choose between either being properly notified of their loved ones' messages and not being bombarded with noisy notifications when part of a public room.
While we're on the topic, it is also critical for Element to distinguish between use-cases in its *default* notification policy. A small private room for i.e. a group of friends or a family should *by default* have noisy notifications for instance while larger public rooms shouldn't. High-traffic rooms should only notify on mentions by default.
You could have users micro-manage this and nerds might be fine with that but if the average Joe doesn't get his family's messages or is bombarded by a ton of noisy notifications for joining a room, I'm sorry but they're just going to uninstall your app and go back to WhatsApp, Discord, Telegram or whatever other abusive closed messenger who, to their credit, at least get this right.
### Are you willing to provide a PR?
No
Contributor guide
Research direction
No files or tests are named. Start by tracing the Android notification settings and room notification policy, then identify how public-room messages, direct mentions, private rooms, and one-to-one chats are currently classified; done means silent and noisy behavior can be configured separately and the default policy is defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100