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

Disabling Share Presence also disables viewing read receipts and typing notifications #31

Open
BurnyBoi opened this issue Oct 30, 2024 · 6 comments
Labels
enhancement New feature or request open for contributions I probably won't work on it, but contributions are welcome.

Comments

@BurnyBoi
Copy link

BurnyBoi commented Oct 30, 2024

Describe the bug
Disabling Share Presence also causes other peoples read receipts and typing notifications to hide from the UI

To Reproduce
Steps to reproduce the behavior:
1.Check that Share Presence is enabled under Advanced Settings
2. Observe that read receipts and typing notifications display in a room
3. Disable Share Presence under Advanced Settings
4. Observe the same room and see that typing notifications and read receipts no longer display

Expected behavior
Read receipts and typing notifications from others should still display even if you choose to not share your own.

Smartphone (please complete the following information):

  • Device: Pixel 7
  • OS: Android 14

Additional context

  • App version: 0.7.2.sc13
  • Store: SpiritCroc's F-Droid
  • Homeserver: Self-hosted synapse 1.117.0

Upstream relevance

Element X devs are choosing to not separate viewing and sending read/typing receipts into different settings "As a product decision". Element Web & Schildichat (not Next) on Android currently support not sending read receipts & typing notifs while still seeing others.

@SpiritCroc SpiritCroc added enhancement New feature or request open for contributions I probably won't work on it, but contributions are welcome. labels Oct 31, 2024
@disabledautomatic
Copy link

disabledautomatic commented Nov 30, 2024

Yes, this is working as expected and was a product decision.

Its wild to me how they just state this without any explanation for why. Voice calls between desktop and mobile are broken unless you use ElementX. All this while ElementX is still pretty much non functional with how many basic things it is missing.

Typing notifications are something that annoys many people but read receipts serve a completely different purpose. Putting both under one toggle is a pretty absurd idea imho.

So yeah big +1 on this and thank you for making a fork of ElementX to make it usable.

@BurnyBoi
Copy link
Author

BurnyBoi commented Dec 2, 2024

My best guess is that New Vector doesn't want people "lurking" in chats undetected while being able to see everyone else's typing and read receipts. That being said, they currently allow this in Element Desktop, and being able to read the chat without anyone knowing you're there could be beneficial for moderators too.

@disabledautomatic
Copy link

New message/Notification badges are actually completely broken without read receipts because thats the only way your account can track your own read status across devices. So your options are "let people stalk your online status" or "live with a buggy mess". Thats just not a choice that a user should have to make.

This is potentially privacy sensitive data that anyone could log by just observing a public room the user has joined, it absolutely has to be possible to disable this without completely losing basic multi device functionality. Maybe they just want to collect more metadata from users...

@SpiritCroc
Copy link
Member

New message/Notification badges are actually completely broken without read receipts because thats the only way your account can track your own read status across devices. So your options are "let people stalk your online status" or "live with a buggy mess". Thats just not a choice that a user should have to make.

It used to be like that but is no longer correct since the introduction of private read receipts, which one can use to clear notification count while not sharing anything with other chat members

@disabledautomatic
Copy link

disabledautomatic commented Dec 4, 2024

Oh ok, thanks for the correction. Sorry if this has kind of devolved into a Q&A which this isnt really the place for i guess...

I guess Nheko just hasnt implemented this yet then? (even tho it supposedly supports up to matrix 1.10). I assume Element Desktop has this implemented?

Nevermind it does indeed support it, but it also has a secondary layer of the "has been locally read or not" variety

@disabledautomatic
Copy link

So just to clarify this, from what i can see all that happens when toggling "Share Presence" is that these 4 booleans get set. This still seems to be how it is implemented in the current build (from just quickly going through source with Ctrl+F, because i dont actually have any idea how Kotlin works)

  • renderTypingNotifications
  • sendTypingNotifications
  • renderReadReceipts
  • sendPublicReadReceipts

So to formulate a goal for what this maybe could/should look like...

In current non X Element we have 4 separate toggles for all of these which is (imo) optimal in terms of flexibility, but i can understand not wanting 4 toggles for this on the mobile app. Idk if you can do master/slave type toggles but that would be cool because it allows easy toggling for average users but also fine tuning for more advanced users.

I think the minimum should be 2 toggles:

  • Read receipts send+receive
  • Typing notifs send+receive

But there could be people that want to only receive but not send these events which also kind of has a place in a privacy oriented chat app imo.

So you could also conceive of two toggles like:

  • Send Presence (Read receipts send + Typing notifs send)
  • Receive Presence (Read receipts receive + Typing notifs receive)

What are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request open for contributions I probably won't work on it, but contributions are welcome.
Projects
None yet
Development

No branches or pull requests

3 participants