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

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

Open
lukebarnard1 opened this Issue Jun 1, 2017 · 17 comments

Comments

Projects
None yet
@lukebarnard1
Copy link
Contributor

lukebarnard1 commented Jun 1, 2017

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor Author

lukebarnard1 commented Apr 14, 2018

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

This comment has been minimized.

Copy link
Member

turt2live commented Apr 14, 2018

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

This comment has been minimized.

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

@ara4n

This comment has been minimized.

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

@Tectract

This comment has been minimized.

Copy link

Tectract commented Sep 14, 2018

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.

@lampholder lampholder added this to To Do in First Impressions Sep 26, 2018

@fladd

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

ara4n commented Dec 4, 2018

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link

Tectract commented Dec 5, 2018

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

@natrius

This comment has been minimized.

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.

@turt2live turt2live removed this from To Do in First Impressions Dec 6, 2018

@bwindels bwindels added this to In Progress in Workflow Dec 7, 2018

@bwindels bwindels self-assigned this Dec 7, 2018

@jryans

This comment has been minimized.

Copy link
Member

jryans commented Jan 30, 2019

@jryans jryans closed this Jan 30, 2019

@turt2live

This comment has been minimized.

Copy link
Member

turt2live commented Jan 30, 2019

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 turt2live reopened this Jan 30, 2019

@jryans jryans removed this from In Test in Workflow Jan 30, 2019

@nunoperalta

This comment has been minimized.

Copy link

nunoperalta commented Feb 11, 2019

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?

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