alphapapa / ement.el

A Matrix client for GNU Emacs
GNU General Public License v3.0
476 stars 44 forks source link

Customize which events can (or cannot) affect the "latest timestamp" for a room #176

Open phil-s opened 1 year ago

phil-s commented 1 year ago

I'd like it if the "Latest" value in the room list represented the most recent message, but I think it reflects any event, including things like "someone changed their username", making it annoying to check the room to see what's new and find that the answer is "absolutely nothing of interest".

It would be really nice if you could constrain which events triggered a change to the timestamp for the room list purposes.

I got as far as looking at ement--push-joined-room-events and the push-events / setf latest-timestamp code, but I don't understand the Matrix API so I can only hand-wave about some kind of conditional code at that point (or maybe a second, new timestamp just for the room listing).

alphapapa commented 1 year ago

You could try using the notifications settings and then only checking rooms that have unread notifications.

Other than that, it seems like a reasonable idea, although it could affect performance. I'm willing to entertain patches to that effect, at least.