element-web icon indicating copy to clipboard operation
element-web copied to clipboard

"Jump to first unread message" / Read Marker is really annoying

Open lukebarnard1 opened this issue 8 years ago • 40 comments

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.

lukebarnard1 avatar Jun 01 '17 08:06 lukebarnard1

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

ara4n avatar Apr 12 '18 19:04 ara4n

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.

lukebarnard1 avatar Apr 14 '18 10:04 lukebarnard1

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.

turt2live avatar Apr 14 '18 18:04 turt2live

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 #7225.

ara4n avatar Aug 24 '18 23:08 ara4n

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 https://github.com/vector-im/riot-web/issues/6483.

ara4n avatar Sep 12 '18 22:09 ara4n

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.

Tectract avatar Sep 14 '18 18:09 Tectract

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.

fladd avatar Oct 09 '18 22:10 fladd

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.

natrius avatar Oct 22 '18 15:10 natrius

The only alternative i can see is the whole enchilada over at #6483.

Another possibility (which is like a lightweight version of #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 avatar Dec 04 '18 14:12 ara4n

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.

ara4n avatar Dec 04 '18 14:12 ara4n

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 https://github.com/matrix-org/matrix-react-sdk/commit/65db0fc15522a914686c020820f357cdc9722448

bwindels avatar Dec 04 '18 15:12 bwindels

@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

nadonomy avatar Dec 04 '18 16:12 nadonomy

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

Tectract avatar Dec 05 '18 02:12 Tectract

COMPLETELY DISABLE these ... notifications

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

natrius avatar Dec 05 '18 09:12 natrius

Fixed by https://github.com/matrix-org/matrix-react-sdk/pull/2345.

jryans avatar Jan 30 '19 15:01 jryans

I disagree - it still shows up when I don't expect it to, just now it's on the far right instead of across the top of the room.

turt2live avatar Jan 30 '19 15:01 turt2live

In all devices (Android, Web, Desktop, iOS, ...), is it possible that when I open a chat with a number of unread messages, we are auto-scrolled to the first/oldest unread message, instead of defaulting to being scrolled to the bottom?

nunoperalta avatar Feb 11 '19 02:02 nunoperalta

To add to this, I'm finding it incredibly annoying to see "jump to first unread message" every time someone sends a new message in a DM, despite clicking X on it each time. It'd be nice to be able to disable it entirely.

5HT2 avatar Mar 24 '21 22:03 5HT2

It's a bug not a feature. The last thing I want is popup notifications about a chat message, in a chat room, that can't be disabled.

I never asked for anyone to track which messages I have read. It's stalkerish and a major privacy violation too.

Tectract avatar Mar 24 '21 22:03 Tectract

This "feature" is entirely broken right now. I'm getting this hint both on web and android in every single chat. And even if I jump to the last message that's supposed to be unread, it doesn't mark them as read. The only way for me to mark messages as read is to click the "X / Mark all as read button" on. Shouldn't simply viewing a message be enough? This marker also doesn't correspond with the new message marker next to the chats. For instance I've chats that don't show a dot, next to them, meaning there no new messages, but when I open them I'm greeted with "jump to first unread message". This is all super annoying and confusing.

ggogel avatar May 13 '21 09:05 ggogel

@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 #2527 for your concern. Also see related discussion in #8959.

jivanpal avatar Jun 01 '21 18:06 jivanpal

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.

Tectract avatar Jun 02 '21 00:06 Tectract

@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.

jivanpal avatar Jun 02 '21 01:06 jivanpal

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.

5HT2 avatar Jun 02 '21 04:06 5HT2

Just make the banner optional.

rjtngit avatar Jun 05 '21 17:06 rjtngit

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.

Tectract avatar Jun 05 '21 17:06 Tectract

@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.

jivanpal avatar Jun 05 '21 21:06 jivanpal

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.

Tectract avatar Jun 05 '21 21:06 Tectract

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.

rjtngit avatar Jun 05 '21 21:06 rjtngit

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.

Tectract avatar Jun 05 '21 21:06 Tectract