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

[Story] Setting: Disable sending typing notifications and read receipts #2203

Closed
2 tasks done
VolkerJunginger opened this issue Nov 17, 2023 · 8 comments
Closed
2 tasks done

Comments

@VolkerJunginger
Copy link
Contributor

VolkerJunginger commented Nov 17, 2023

Story

As a user of the EX client I do not want to expose to other user that I am active in the app and therefor be able to not send read receipts or typing notifications.

Add a setting to disable user-presence:

  • The setting disables sending of typing notifications
  • The setting disables sending of read-receipts and make the client send private-read-receipts

If the user enabled the setting do the following in the timeline:

  • Don't show typing. notifications of other users
  • Don't show read receipts of other users.

Dependencies

  • TBD

Sign-offs

Android

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion

iOS

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion

Web

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion

Scope

Android

Preview Give feedback
  1. A-Typing T-Task
    bmarty

iOS

Preview Give feedback
  1. A-Typing T-Task
    stefanceriu

Out of scope

  • TBD
@VolkerJunginger VolkerJunginger self-assigned this Nov 17, 2023
@jplatte jplatte changed the title [Story] Setting: Disable sending read receipts [Story] Setting: Disable sending typing notifications Nov 21, 2023
@manuroe
Copy link
Member

manuroe commented Nov 21, 2023

@VolkerJunginger: the app does not support typing notification at all. It is weird to add a settings about them.

@jmartinesp
Copy link
Member

@manuroe @VolkerJunginger : there is some code for sending typing notification in the Rust SDK, it's not exposed to the apps though. Should we create the bindings, send the typing notifications and add this option to disable them?

@VolkerJunginger
Copy link
Contributor Author

yes, please.

@jmartinesp
Copy link
Member

We'll also need some designs for displaying the typing notifications on the timeline. I guess we'll use more or less the same designs and animations that we had in the legacy apps, but it would still be good to confirm this.

@bmarty
Copy link
Member

bmarty commented Jan 12, 2024

FTR this is the current design for this setting in Element Android, in Settings/Preferences section Message editor:

image

@VolkerJunginger VolkerJunginger changed the title [Story] Setting: Disable sending typing notifications [Story] Setting: Disable sending typing notifications and read receipts Feb 1, 2024
@amshakal
Copy link

amshakal commented Feb 1, 2024

Here is a suggestion for what copy can be

Screenshot 2024-02-01 at 12 37 37 pm

@bmarty
Copy link
Member

bmarty commented Feb 1, 2024

@amshakal the wording looks good, but I would replace all the or by and. Note that I am not a native English speaker, so you may just ignore me :)

Also, just to confirm, the toggle will be enabled by default.

@bmarty
Copy link
Member

bmarty commented Feb 5, 2024

Regarding the implementation, we will keep separate booleans internally, like:

  • renderTypingNotifications
  • sendTypingNotifications
  • renderReadReceipts
  • sendPublicReadReceipts (this one already exists on EXA)
    rather that just a global isPresenceEnabled or anything similar, just to be able to be flexible. There will still be one setting Share presence visible to the user that will set all the booleans at once.

To complete this, these settings will be lost when the user logs out, so they are stored in a store scoped to the session. This store is named SessionPreferencesStore on Android.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants