matrix-org / matrix-org/matrix-rust-sdk

Room Info: include also the current global/default notification mode

Open
#2,965 0 comments 0 reactions 0 assignees View on GitHub
A-Room-List X-Needs-Rust
Dominant language
Rust
Stars
2.3k
Forks
500
Avg merge
1d 16h
Merged PRs (30d)
106

Description

# Proposal

So far the room info includes only the user defined notification mode, however it would be nice to also include a separate variable called `default_notification_mode` or something like that.

The thing is that we rely on the user defined one on Element X only to determine what settings badge should be displayed (for example we only rely on the user defined value to show the mute icon in the room list), however the green/grey dot state should instead depend on the current set notification mode, which should be the user defined if it exists, or the default one if a user one does not exist.

# Alternatives

Another solution could be to have some kind of notification state variable that tells us through an enum:
- if there is a notification with a mention
- new notifications with no mention
- new message but no notifications

And this variable evolves accordingly to the state of the current set notification mode for the room, be it user defined or not. However this could become very client specific so we could probably handle everything client side if we just have the `default_notification_mode`

Contributor guide

Open the contributing guide

Research direction

Trace the room-info representation and the existing user-defined notification mode handling. Determine where the effective mode should be exposed alongside the user-defined value, then verify the behavior for rooms with and without a user override. Done means room info provides the default or effective notification information needed by clients without changing the existing user-defined setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.