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

Add ability to mark messages unread #347

Open
colans opened this issue Jun 24, 2017 · 65 comments
Open

Add ability to mark messages unread #347

colans opened this issue Jun 24, 2017 · 65 comments
Labels
A-Read-Marker Green line showing how far _you_ have read O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement

Comments

@colans
Copy link

colans commented Jun 24, 2017

As in other messaging applications, it would be nice to mark a particular message in a room as unread, returning to the state before it was read. This is helpful for when you need a future reminder to do something, or you didn't have a chance to read everything up to the present, and would like to move the unread marker back.

So when clicking on the 3 dots to open the message menu, ideally there would be an item entitled Mark unread.

Amendment (2021-11-30): I'd be fine with being able to mark the entire room/conversation unread. Signal did this, and it works well enough for me so I believe it could work here as well, even though it would be slightly less than optimal.

@uhoreg
Copy link
Member

uhoreg commented Jun 27, 2017

Being able to "star" messages (#2938) might be better for being able to find something later. But I can see how it could be useful to "mark as unread from this point forward" if, say, you started reading something but decided you want to read it later instead.

@colans
Copy link
Author

colans commented Jun 27, 2017

Makes sense. Let's keep these as two separate issues.

@MurzNN
Copy link

MurzNN commented Sep 7, 2017

Star and Mark unread are different things, Stars can't replace unread marker, because very often I open room, see long messages and have no time to read whole messages, so I want to switch room and read it later. But if I go to another room - unread marker will disappear and I don't bethink that room have unread message.

@nunoperalta
Copy link

I completely agree with implementing this feature.

And, if possible, allow choosing a message (either right-click or long-tap on a message I choose) and "Mark Unread from Here". Skype has this functionality.

Sometimes I read messages my colleague sent, but I don't have time to reply right now. So, I want to be able to mark as unread from where I need to reply, and reply later.

@Throne3d
Copy link

(Copied from element-hq/element-web#8666 (comment), where I put it first:)

From #riot-web:matrix.org:

Throne3d, 02:35
Discord uses alt+clicks to let you manually mark some point read/unread, so you can move your unread marker to save your place if you're reading history
(it's not very well advertised as a feature)
I find that very useful – maybe it'd be a good thing to add wrt this?

(If you alt+click the last message in a channel, it marks the whole channel as read – in fact, it marks everything up to, and including, the message you click, as read, and everything after it as unread.)

@jamesmontalvo3
Copy link

I'm using riot.im regularly. I also use other proprietary chat programs regularly. Lack of "mark unread" in riot is the one thing that makes using it very painful. I have several coworkers who refuse to use riot for this reason.

@MurzNN
Copy link

MurzNN commented Jul 1, 2019

@jamesmontalvo3 can you describe which other chat apps can mark messages as unread?

@jamesmontalvo3
Copy link

Slack and every email client.

@nunoperalta
Copy link

and Facebook Messenger, WhatsApp, Skype, Linked In, Signal, and pretty much every other email/chat client I know.

@t3chguy
Copy link
Member

t3chguy commented Jul 1, 2019

I'm struggling to find this in WhatsApp and Facebook, unless you mean mark conversation as unread, which is very different to mark individual messages as read /unread

@jamesmontalvo3
Copy link

Just making sure we’re talking about the same thing: riot shouldn’t allow individual messages marked unread; it should allow you to select a message and mark it “unread” which just moves the unread pointer to that message, implying everything before that is read and everything after unread. I’m not expecting specific messages to be unread interspersed with read messages.

@t3chguy
Copy link
Member

t3chguy commented Jul 2, 2019

Do Facebook and WhatsApp have that? I think they just have a mark as unread for the whole chat and I guess it just marks the latest message as unread

@nunoperalta
Copy link

Sorry for any confusion. The question was "mark messages", so I listed apps where the "mark unread" is present, whether it is individual or threads. Facebook and Whatsapp just mark whole thread. Riot doesn't even have that function at all.

If Riot could have something like Skype, where we can move the pointer to a specific message, that would be absolutely perfect!

@t3chguy
Copy link
Member

t3chguy commented Jul 2, 2019

I now understand :D
That seems reasonable. The only blocker atm is synapse only ever let's that pointer move forward

@nunoperalta
Copy link

Thank you. Can we get them to change that? :)

@t3chguy
Copy link
Member

t3chguy commented Jul 2, 2019

Presumably it has its reasons, so maybe we need a way to force, to say to a matrix server that we're explicitly putting it into the past. This would need an MSC so that it's in the spec and not specific to riot/synapse

@nunoperalta
Copy link

nunoperalta commented Jul 2, 2019

Even if we could do it in a way that Riot stores an override in a cookie/LocalStorage or so... meaning that Synapse has its own counter, but Riot has an override (per thread), and uses that override instead, if exists.
I know this wouldn't be ideal, but would prevent changes in Synapse.

@t3chguy
Copy link
Member

t3chguy commented Jul 2, 2019

But then it would be a riot specific thing, which isn't ideal, many people use other clients too. Best would be to get it into the matrix specification

@kittykat kittykat added the S-Major Severely degrades major functionality or product features, with no satisfactory workaround label Sep 17, 2021
@d33tah
Copy link

d33tah commented Nov 30, 2021

I skimmed through the comments here and wanted to underline something: lack of presence for this feature can and will affect the mental health of users. I'm not exagerrating. When using Element, it's way more often than you imagine that you get a message sometime late during the day and have to decide whether read it and react immediately or skip it and regret because it was important. Given the pandemic, it's something that has even more importance. Especially since there's no way that I can see to turn off read notifications (see element-hq/element-web#2527), so it's a pretty nasty combination, creating unnecessary stress and miscommunication.

@ShadowJonathan
Copy link

There is a "partial" spec support MSC for this at MSC2867, which can mark whole rooms as unread. While not a complete solution, I think that MSC is simple to implement, and can "take the edge off" on the stress that the absence of this feature can cause. I most often find myself reaching for a feature like this, after years of telegram, (some) whatsapp, and discord usage.

@gwpl
Copy link

gwpl commented Nov 30, 2021 via email

@ShadowJonathan
Copy link

That's a whole separate feature; #319

@colans
Copy link
Author

colans commented Nov 30, 2021

As the person who opened this issue, I updated the issue summary to state that I'd be fine with marking the whole room/conversation unread.

@SethFalco
Copy link

When or if this is implemented, it would be nice if we could hold ALT and click a message to mark all messages up-to that one selected as unread.

Both Discord and Slack have this behavior.

With both Discord and Slack, it works like a marker. For example, it doesn't matter where the last unread message was, when I hold ALT and click, it will mark anything above it as read, and anything below it as unread. (Even if messages above it were previously unread.)

@SimonBrandner SimonBrandner removed the P3 label Jan 5, 2022
@SethFalco
Copy link

One thing to also think about, how will this impact read receipts? Could we have an option to take back read receipts, or for the read receipt to have an effect on it if it was marked unread after?

In my opinion, it'd be great if read receipts turned gray if the message was opened then marked as unread.

This should probably be an option, not sure if it would be enabled or disabled by default.

The motivation is for cases where we want to come back to a message later, but in some cases, the other user may feel like they were "left on read".

@t3chguy
Copy link
Member

t3chguy commented Jan 14, 2022

Mark as read in Matrix is the read receipt, I haven't read the MSC but I'd presume it'd back pedal the RR. The RM on the other hand is the last point in history you've read everything up to.

@ShadowJonathan
Copy link

but I'd presume it'd back pedal the RR.

@t3chguy MSC2867 doesn't do that, it just adds an extra bit of information to room account data to mark it being unread, it doesn't revert read receipts, which would be a much more difficult task.

@mcg-matrix
Copy link

but I'd presume it'd back pedal the RR.

[...], it doesn't revert read receipts, which would be a much more difficult task.

Just a thought: If the status of a message having been marked unread is stored for the account but does not affect anybody else's view of the world, it's just one special application of being able to mark (or flag or star or pick-a-verb) messages somehow, isn't it?

I think it would be great if I could add an indicator to funny messages, a different indicator (different colour, shape, sign, ...) to messages that need a follow-up sometime later, a third style indicator to messages that need a follow-up soon (= mark as unread), and so on.

  • For one (or multiple) selected indicator, show a count in the list of rooms and make it easy to find the marked messages in a room, and the application of “marking messages unread” should be covered.
  • Add a feature of filtering the list of rooms (list of threads in a room, list of messages in a room, ...) based on the indicators, and we're getting much closer to having a fine tool for asynchronous work. :-)

@MightyCreak
Copy link

Just a thought: If the status of a message having been marked unread is stored for the account but does not affect anybody else's view of the world, it's just one special application of being able to mark (or flag or star or pick-a-verb) messages somehow, isn't it?

Yes, but you want your unread marker to propagate across your different sessions (desktop, web, mobile, ...), that's why it has to be stored server-side (i.e. the account) and not only client-side (i.e. the application).

@ChargingBulle
Copy link

I would like to use this feature as "not yet read"
because sometimes you accidentally "read" something.
For example when you open the Element Electron app and it opens the last visited channel and thus marks that as "read".

Slack (and others) handle this much better. When someone sends me contract work to review perhaps I only have time for it in the next week. Slack offers a remind-me-again feature which works really great for "Yes I read it but no I'll act upon it later"

@t3chguy t3chguy transferred this issue from element-hq/element-web May 24, 2022
@nailyk-fr
Copy link

Hello,

I didn't read all but see that you are talking about a bounty. Is there one already in place ?
If not, is it ok I start one ?

Thanks for your answer and sorry for my 'noisy' comment.

@gabrc52
Copy link

gabrc52 commented May 6, 2023

Here's some random person's musings on the importance of this feature: https://matthewbischoff.com/mark-as-unread-for-messages/

@yousefamar
Copy link

This is one of the main reasons I use Schildichat

@nerdoc
Copy link

nerdoc commented Feb 8, 2024

@yousefamar: Why? Schildichat does not provide this feature yet.

@yousefamar
Copy link

@nerdoc To clarify, I meant marking a room as unread, not an individual message, which Schildichat supports on both desktop and mobile. On mobile you even have the option "open without reading". Frankly, I can't believe Element still doesn't have mark unread -- would have hoped the feature could be pulled from Schildichat since it's a fork afaik.

@nerdoc
Copy link

nerdoc commented Feb 10, 2024

ah, OK, I see. yes,, Schildichat can mark rooms as unread, which is IMHO the feature I need. individual messages doesn't make sense IMHO, as I don't want to mark the third-last message as unread. It's always the last one, hence the room.

@gabrc52
Copy link

gabrc52 commented Feb 10, 2024

Yeah, tbh I just want to be able to mark conversations as unread just so that I can stop accidentally ignoring friends and classmates. Mark as unread is an indication that I should get back to it later.

Putting the burden on the user to remember to respond to conversations is just going to mean less conversations are going to be responded to, and overall less talking on the Matrix network.

@MightyCreak
Copy link

ah, OK, I see. yes,, Schildichat can mark rooms as unread, which is IMHO the feature I need. individual messages doesn't make sense IMHO, as I don't want to mark the third-last message as unread. It's always the last one, hence the room.

I do have a use case for "mark message as unread". I use it a lot in other apps (e.g. EMail, Teams, ...). It's especially useful in rooms with several people.

Example: you enter a room where you have 15 unread messages. Most of the time, you can skim through, but not this time: there's a message that picked your interest. You decide to mark the message as unread (from this point in time, not just this message especially), so you can close the app and come back when you'll have more time to read it and its responses, and think about it.

I'd say I do that at least once per day in the other apps.

@gabrc52
Copy link

gabrc52 commented Feb 10, 2024

Yes, that use case does make sense for large rooms, and I do use it on Discord.

Although I think that the point is that having the feature is better than not at all. This issue has been open since 2017 and it appears to be blocked only because of this doubt of whether to mark rooms or messages as unread. It is now 2024.

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 O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement
Projects
None yet
Development

No branches or pull requests