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

Scrolling: "Jump to first unread message" / Read Marker is really annoying #1418

Open
Tracked by #23539 ...
lukebarnard1 opened this issue Jun 1, 2017 · 40 comments
Open
Tracked by #23539 ...
Labels
A-Read-Marker Green line showing how far _you_ have read A-Timeline O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience T-Enhancement X-Needs-Design Z-Confidence-Medium Medium confidence in the enhancement or suggestion based on known factors, or as described.

Comments

@lukebarnard1
Copy link

Annoyances:

  • Having an RM for public rooms that I probably don't want to read every message of is annoying because I end up clicking the "X" every time to claim back my screen real-estate. Solutions are 1. and 2.
  • Skim-reading is very frustrating because you have to scroll down, scroll up to catch the RM, scroll down...

I think we should consider the following improvements:

  1. Per-room setting for disabling the RM entirely. This would hide the RM but under the hood set it to the RR.
  2. Disable the RM for public rooms by default. Or provide a global setting to disable/enable it when you first join.
  3. Make it easier to skim-read: update a local RM much more frequently and then debounce the setting of the server-side RM so as not to suffer from rate-limiting instead of tying the server-side rate limiting avoidance strategy to the UI.
@ara4n
Copy link
Member

ara4n commented Apr 12, 2018

Another option would be to just have it skip to the most recent unread message (before your current block) rather than the oldest.

@lukebarnard1
Copy link
Author

To be clear, when I do use (click on) it, it gets me to exactly where I want to be. But I find it's not very useful:

  • in rooms where I don't care about every message (perhaps I want to have a quick chat about something, then switch elsewhere) and
  • when skim-reading.

@turt2live
Copy link
Member

It'd be nice if it was less obtrusive in rooms that aren't being interacted with regularly. For instance, I rarely visit many rooms on my room list. When I do visit those rooms, it's because of a ping (usually) or I'm brought in for another reason. I often don't care too much about the history of the room and end up clearing the read marker just so I can more easily follow along in my short visit to the room before leaving it be for weeks/months/years.

@ara4n
Copy link
Member

ara4n commented Aug 24, 2018

The more I think about this, the more i think the solution is simply to have the 'jump to unread messages' banner take you up to wherever the RM is (if the RM is off the top of the page). And that's it - it shows you the most recent unread message since you were last in the room.

We might need to increase the delay or metric after which a room is considered read, so if you are just flipping through rapidly it doesn't reset the RM, but I think this is going to be the least unintuitive solution.

We should also give the option to disable it via granular settings as per element-hq/element-web#7225.

@ara4n
Copy link
Member

ara4n commented Sep 12, 2018

I think the only reason we didn't do this in the first place was because of concern that the RM gets flushed whenever you start reading a room, so you only get one shot to read the room - if you dip into it and decide not to hit the jump to old messages button, you then lose your place. Perhaps this is better than the current behaviour, though, especially if the prompt hangs around indefinitely until you click on it during a given view of the room (even though the underlying RM has faded away).

The only alternative i can see is the whole enchilada over at element-hq/element-web#6483.

@Tectract
Copy link

bump. Please, please disable this "new message" screen nag. Chatrooms don't need a popup notification to tell you that someone has chatted.

A good solution is to offer the user an option to "never display this message again" in the notification itself. Every notification should include the option to permanently disable it, imho.

@fladd
Copy link

fladd commented Oct 9, 2018

I am constantly confused about the RM. It basically never takes me to where I think it would take me. It most of the time takes me to some point days or weeks ago (basically the last time I clicked the X). When I am in a room, and go away for 5 min, I expect it to take me to the state of when I left the room. Irrespective of whether I have already reset the RM before I left the room or not. Every IRC client out there seems to get this right. But in Riot it seems I always have to manually reset the read marker even if I don't want go there every time I switch to a room, in order for it to track the correct new state next time I go away.

@natrius
Copy link

natrius commented Oct 22, 2018

Yeh, it seems like its mandatory to click the x after pressing "Get to the last unread message".

Skim-reading is very frustrating because you have to scroll down, scroll up to catch the RM, scroll down...

Imho the "Get to last unread message" should also act as "X" and close the message.

@ara4n
Copy link
Member

ara4n commented Dec 4, 2018

The only alternative i can see is the whole enchilada over at element-hq/element-web#6483.

Another possibility (which is like a lightweight version of element-hq/element-web#6483) would be to track the previous RM locations in a list, and let you jump back through them. This might not be too bad, although unsure what the UX would be to differentiate between "you have unread stuff you really want to jump back to" and "jump back further".

@ara4n
Copy link
Member

ara4n commented Dec 4, 2018

So, turns out that experimenting with the proposed change is pretty much a oneliner; to switch m.fully_read at https://github.com/matrix-org/matrix-react-sdk/blob/49ce4ef117b854eff3ab26ae30a1b336a250532d/src/components/structures/TimelinePanel.js#L126 to m.read.

The problem turns out to be that users may want to send RRs more rapidly than they clear their RM, however. So there is perhaps an argument that the client should explicitly update the RM location as something like an m.last_read field once the client has decided that the user has read on sufficiently that it no longer wants the old bookmarked location.

EDIT: except multiple clients won't necessarily know how to merge together m.last_read fields together as they won't necessarily know all IDs. So perhaps it does have to be done serverside via a dedicated UI anyway.

@bwindels
Copy link

bwindels commented Dec 4, 2018

So, turns out that experimenting with the proposed change is pretty much a oneliner; to switch m.fully_read at https://github.com/matrix-org/matrix-react-sdk/blob/49ce4ef117b854eff3ab26ae30a1b336a250532d/src/components/structures/TimelinePanel.js#L126 to m.read.

Yep, almost, see matrix-org/matrix-react-sdk@65db0fc

@nadonomy
Copy link

nadonomy commented Dec 4, 2018

@ara4n & I just jumped on a call to explore different options for solving this issue, writing up notes here:

https://docs.google.com/document/d/1PAZYgCfrGJuDOYGTJ8HZH7Pd2LK0yUkW13C9FMwhWHw

@Tectract
Copy link

Tectract commented Dec 5, 2018

How about this: give us an option to COMPLETELY DISABLE these spam notifications, forever.

@natrius
Copy link

natrius commented Dec 5, 2018

COMPLETELY DISABLE these ... notifications

At least per room would be nice. there are some rooms where i don't care whats written before.

@jryans
Copy link

jryans commented Jan 30, 2019

Fixed by matrix-org/matrix-react-sdk#2345.

@jryans jryans closed this as completed Jan 30, 2019
@jivanpal
Copy link

jivanpal commented Jun 1, 2021

@Tectract, your gripe is about whether you send read receipts at all (and thus whether other people can see which messages you've read), not about the specific feature of telling you which messages you haven't seen, which (I think) could be toggled independently of public read receipts. See element-hq/element-web#2527 for your concern. Also see related discussion in element-hq/element-web#8959.

@Tectract
Copy link

Tectract commented Jun 2, 2021

My gripe is not about whether other people can see which messages I have read. It's about the entire mechanism of the server tracking which messages I have read and which ones are "new". I don't want that. I actively want that to be turned OFF. It's stalkerish to have a chat room where you track which messages everyone has read and nag them about which ones are "new" or not, it's not a feature anyone ever requested, it's a bug that was implemented by a bad developer who didn't care about user desires or user privacy.

All I want a chat room to do is STAY on the most recent message and not annoy me with popups or notifications about which messages it thinks I have or haven't read yet. Like the old-fashioned chat rooms used to work. Literally the old AOL chatrooms from 1994 are better than your chat room because they didn't STALK me and NOTIFY me about chat messages all the time in ten ways that can't be disabled.

@jivanpal
Copy link

jivanpal commented Jun 2, 2021

@Tectract, perfectly fine that you feel that way, and I agree that it should be an option, but statements such as "it's not a feature anyone ever requested, it's a bug" are simply not true.

@5HT2
Copy link

5HT2 commented Jun 2, 2021

To an end user this issue quite literally feels like a bug.. I'm only subscribed here because I found this issue by googling something along the lines of "element not marking messages read properly".

If I'm scrolled down to the bottom, I expect that I have read all the messages. Instead I'm shown this silly blue banner saying "jump to first unread message" which is something I had already read when it was sent??. And the banner keeps coming back until I scroll past the message it links to a couple of times.

@rjtngit
Copy link

rjtngit commented Jun 5, 2021

Just make the banner optional.

@Tectract
Copy link

Tectract commented Jun 5, 2021

Every notification system should have the option to permanently disable it. This is a law of good software design. This thread exists because this axiom of good software design has been violated. Your "feature" is my bug.

@jivanpal
Copy link

jivanpal commented Jun 5, 2021

@Tectract, no, this thread exists because the feature does not work properly. There is a difference between wanting the feature to be fixed and wanting to disable the feature.

@Tectract
Copy link

Tectract commented Jun 5, 2021

You can't listen to the users and their desires. You don't care about user privacy. That's what I hear. What we want is to be able to turn this "feature" off.

@rjtngit
Copy link

rjtngit commented Jun 5, 2021

This issue is called "Jump to first unread message / Read Marker is really annoying". This is a subjective opinion, not a bug. The solution is to make the banner optional.

@Tectract
Copy link

Tectract commented Jun 5, 2021

It's a feature request, to make the banner optional, because some of us see the whole banner system itself as a bug, and some of us see it as merely annoying. Making it work properly when it is enabled is a separate but related issue, if it doesn't work properly, that amplfies how annoying the banners are. But those of us who see the entire banner system as a bug still want the option to completely disable it.

@MadLittleMods MadLittleMods added the A-Read-Marker Green line showing how far _you_ have read label Jun 17, 2021
@gwbrown
Copy link

gwbrown commented Nov 30, 2021

I'll be honest, I don't understand all the points in this thread. But the read marker is still very confusing and makes using Element with public rooms basically non-workable for me. It's very confusing:

  1. where it takes me when I click on it (sometimes the message it takes me to is wildly different from the last message I read),
  2. why it's so slow to do so,
  3. where it took me after I click it, because there's no way to display datestamps on messages, just timestamps, so if I'm going back more than a day I have no idea how many days back I am,
  4. why the scroll bar is all messed up after clicking the RM, and
  5. why there's no option to jump to the oldest unread message instead of the newest by default when viewing a channel with unread messages.

@cmurf
Copy link

cmurf commented Jun 1, 2022

Just like with tagged/labeled/sorted emails, sometimes I care about whether there are unread messages and sometimes I don't. I think "track unread" (or not), or "track mentions" (or not) per room might need consideration. My most active rooms, I don't even care about unread as much as I care about getting to the "most recent unread mention of my name or a keyword". Of course that also brings about per room keywords...

@Tectract
Copy link

Tectract commented Jun 1, 2022

Personally, I NEVER want which messages I have read to be tracked. I view it as a huge privacy violation. I never want notifications about unread messages in ANY chat room, and I would prefer if people are NOT ALLOWED to tag me, for any reason, ever. I just want to chat. I don't want notifications. No means no.

@Lamdarer
Copy link

Lamdarer commented Aug 5, 2022

Personally, I NEVER want which messages I have read to be tracked. I view it as a huge privacy violation.

See: element-hq/element-web#2527
Should be fixed soon

@Tectract
Copy link

Tectract commented Aug 5, 2022

Slowly people are seeing the light. "unread message" means "I am tracking everything you look at.". It's a MAJOR PRIVACY VIOLATION!!!

@jivanpal
Copy link

jivanpal commented Aug 7, 2022

@Tectract You don't need to keep repeating the same thing with different amounts of emphasis. We get it.

I just want to chat. I don't want notifications.

You can toggle ping notifications on a per-room basis.

@Tectract
Copy link

Tectract commented Aug 7, 2022

It's true that it is now possible to turn off ping notifications per room, however this doesn't solve the problem. Slack still tracks which messages I am reading and sends me "unread message" notifications.

You don't seem to get it. What I want is for Slack to stop tracking which messages I have read, COMPLETELY FOREVER IN ALL ROOMS. What I want is my PRIVACY back.

@natrius
Copy link

natrius commented Aug 7, 2022

Please, don't get me wrong, but... please stop commenting here. You have absolutely no technical clue how something could work and yet you demand(!) stuff without even asking before.
Another think: Why should we care about anything that Slack does? This Github Repo has nothing to do with Slack.

Still, i try to explain: The unread messages has NOTHING to do with a server. Thats your client doing that and its not tracking anything to be able to do something like that. So you have your privacy back and you can stop commenting here with stuff completely irrelevant for this issue.

Furthermore: Set up your own server and set use_presence = false and nobody can track anything. So there even exists a solution to your imagined privacy-violation.

@Tectract
Copy link

Tectract commented Aug 7, 2022

Natrius, you are being super-rude. This is not your repo so I don't appreciate your gatekeeping. This thread is about disabling the "unread message" notification, you are going on and on about "ping" notifications, which is a separate issue.

You have absolutely no technical clue how something could work and yet you demand(!) stuff without even asking before.

Brother I probably got my degree in computer engineering while you were in gradeschool, these types of unwarranted insults don't belong here.

use_presence = false

Would that stop the server from tracking me? Where do I put that? It should be a default.

@jivanpal
Copy link

jivanpal commented Aug 10, 2022

@Tectract

It's true that it is now possible to turn off ping notifications per room, however this doesn't solve the problem.

You mentioned two problems:

  1. Element sends read receipts, but you don't want it to.
  2. Element gives you notifications, but you don't want it to.

Problem (1) is described by element-hq/element-web#2527 and now solved in the client API/SDK, just needs to make its way to the client proper. Problem (2) is solved in notification settings.

Neither of those problems is the subject of this GitHub issue, so if you have questions or suggestions/requests concerning them (such as your desire for sending read receipts to be disabled by default), please do so in the relevant issue thread or open a new one. This is not the place for it; this issue thread only concerns the UI feature mentioned in the title.

@SimonBrandner SimonBrandner added O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience X-Needs-Design and removed P1 labels Aug 11, 2022
@nadonomy nadonomy added the Z-Confidence-Medium Medium confidence in the enhancement or suggestion based on known factors, or as described. label Aug 11, 2022
@Johennes Johennes changed the title "Jump to first unread message" / Read Marker is really annoying Scrolling: "Jump to first unread message" / Read Marker is really annoying Jan 30, 2023
@t3chguy t3chguy transferred this issue from element-hq/element-web Apr 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Read-Marker Green line showing how far _you_ have read A-Timeline O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience T-Enhancement X-Needs-Design Z-Confidence-Medium Medium confidence in the enhancement or suggestion based on known factors, or as described.
Projects
None yet
Development

No branches or pull requests