Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display in Notifications settings the default mode for the group and the direct chats #1024

Closed
Tracked by #1676
giomfo opened this issue Jun 6, 2023 · 10 comments
Closed
Tracked by #1676
Assignees
Labels
A-Notifications T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements X-Needs-Design

Comments

@giomfo
Copy link
Member

giomfo commented Jun 6, 2023

Description

Add in the notifications settings a section "Notify me for" to provide the default setting for group chats and direct chats.

The default value for group chats depends on 2 Underride rules: .m.rule.message and .m.rule.encrypted. We will consider only their enabled attribute:

  • if both are enabled -> "All"
  • if both are disabled -> "Mentions"
  • if only one is enabled -> display a banner to let user know the configuration is not supported. A button is available to fix the pb. In that case, we enabled the second one to fix the pb.

The default value for group chats depends on 2 Underride rules: .m.rule.encrypted_room_one_to_one and .m.rule.room_one_to_one. We will consider only their enabled attribute:

  • if both are enabled -> "All"
  • if both are disabled -> "Mentions"
  • if only one is enabled -> display a banner to let user know the configuration is not supported. A button is available to fix the pb. In that case, we enabled the second one to fix the pb.

Suggested Design

image
@giomfo giomfo transferred this issue from element-hq/element-meta Jun 6, 2023
@pixlwave pixlwave added T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements T-Task and removed T-Task labels Jul 11, 2023
@giomfo
Copy link
Member Author

giomfo commented Aug 1, 2023

@amshakal we have to decide what should be displayed in the global notification settings when the 2 Underride rules are different for the group chats (or for the one-to-one chats). I remind you that one rule is defined for encrypted group chats, and another is defined for unencrypted group chats

In the current implementation (committed here), the displayed default value is "All" as soon as at least one of these 2 rules is enabled.

If I'm correct we were waiting for the result of the new Notification settings in beta in Element-Web client.

I see here 2 options:

  • display a banner to let user know the configuration is not supported. A button is available to fix the pb. In that case, we enabled the second one to fix the pb.
  • notify the user about the unexpected configuration and invite them to edit it from the web client

@giomfo
Copy link
Member Author

giomfo commented Aug 2, 2023

how big is this conflict?

When this use case happens the default notification setting displayed at the room level may be different from the global default one. For example , if .m.rule.message is disabled and .m.rule.encrypted is enabled, then an unencrypted group chat will display "Mentions" as its default notification setting whereas the default group chat setting will be "All" in the global settings. The display would be ok for an encrypted group chat ("All" at the room level like at the global level).

how often will one encounter this?

This should not be frequent. The new Web Notification settings (currently in Beta) should help to reduce the frequency

@giomfo
Copy link
Member Author

giomfo commented Aug 9, 2023

@amshakal we have to decide what should be displayed in the global notification settings when the 2 Underride rules are different for the group chats (or for the one-to-one chats). I remind you that one rule is defined for encrypted group chats, and another is defined for unencrypted group chats

In the current implementation (committed here), the displayed default value is "All" as soon as at least one of these 2 rules is enabled.

If I'm correct we were waiting for the result of the new Notification settings in beta in Element-Web client.

I see here 2 options:

  • display a banner to let user know the configuration is not supported. A button is available to fix the pb. In that case, we enabled the second one to fix the pb.
  • notify the user about the unexpected configuration and invite them to edit it from the web client

@nimau FYI @amshakal and I agreed on the first option. A design will be provided for this banner

@giomfo
Copy link
Member Author

giomfo commented Aug 11, 2023

@amshakal thank you, FYI we would go for the option 3.
But we would like to adapt the wording with you in order to handle a new use case raised by @nimau.

Your design satisfies entirely my initial request (which was to handle some legacy configuration which are not compatible with the new UI). We realised that this screen will appear in case of a potential server/network error when the user changes the default value. Indeed change a default value requires several requests, if one of these requests fails (and the retry fails too) we may land in the situation where configuration is incompatible. This screen will then appear, which is good to handle this edge case. We just need to update the wording to handle it correctly (a more general message would be better). Does that make sense to you?

@amshakal
Copy link

Sure! Happy to make changes to the copy to make it more generic. It makes sense to me. Did you have anything specific in mind? Should we say something on the lines of:

"There seems to be a mismatch. Some custom settings you’ve chosen in the past are not shown here, but they’re still active.If you proceed, some of your settings may change."

or

"We notice a difference. Certain custom settings you chose before aren't shown here, but they're still in effect. If you continue, some settings might change."

@amshakal
Copy link

@amshakal
Copy link

I tried various options for android and feel like this is the best? https://www.figma.com/file/0MMNu7cTOzLOlWb7ctTkv3/Element-X?type=design&node-id=9686%3A59303&mode=design&t=EY5fpl0LYqCRUEmW-1

@giomfo
Copy link
Member Author

giomfo commented Aug 17, 2023

Thx @amshakal , I will check this option 4 with @nimau.
About the wording, I would suggest:
"We’ve simplified Notifications Settings to ease the configuration.
Some settings of your current active configuration mismatch with the new rendering.
If you proceed/continue, some of your settings may change to adapt them to this rendering."

There is some redundancy in my suggestion, I would be happy to let you clean it.

About Android, I will have a look at it, and forward the link to the android-x issue

@giomfo
Copy link
Member Author

giomfo commented Aug 25, 2023

Done (behind the Developer Option "Show notification settings")

@giomfo giomfo closed this as completed Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Notifications T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements X-Needs-Design
Projects
None yet
Development

No branches or pull requests

5 participants