aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Matrix.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-08-02 13:59:37 +0200
committerdec05eba <dec05eba@protonmail.com>2021-08-02 13:59:37 +0200
commit01bac70680553e622a655722959a113ed35f4de9 (patch)
treeb968f96dbefab52e404e1592f5827400b1d0b354 /src/plugins/Matrix.cpp
parent66a40b2bc729f60de81d87a6d26e12d66fd5608c (diff)
Matrix: use correct read marker for notifications (custom qm read marker)
Diffstat (limited to 'src/plugins/Matrix.cpp')
-rw-r--r--src/plugins/Matrix.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp
index 0bb3e7b..58a90c9 100644
--- a/src/plugins/Matrix.cpp
+++ b/src/plugins/Matrix.cpp
@@ -576,8 +576,9 @@ namespace QuickMedia {
read_marker_message_timestamp = read_marker_message->timestamp;
}
- if(read_marker_message_timestamp == 0 || read_marker_message_timestamp < room->read_marker_event_timestamp)
- read_marker_message_timestamp = room->read_marker_event_timestamp;
+ const int64_t qm_read_marker = room->read_marker_event_timestamp;
+ if(read_marker_message_timestamp == 0 || read_marker_message_timestamp < qm_read_marker)
+ read_marker_message_timestamp = qm_read_marker;
std::shared_ptr<Message> last_new_message = get_last_message_by_timestamp(new_messages);
if(!last_new_message)
@@ -2022,6 +2023,11 @@ namespace QuickMedia {
read_marker_message_timestamp = read_marker_message->timestamp;
}
+ // TODO: Make sure |events_set_user_read_marker| is called before |events_add_messages| so this is set
+ const int64_t qm_read_marker = room_data->read_marker_event_timestamp;
+ if(read_marker_message_timestamp == 0 || read_marker_message_timestamp < qm_read_marker)
+ read_marker_message_timestamp = qm_read_marker;
+
for(auto &message : new_messages) {
// TODO: Is @room ok? shouldn't we also check if the user has permission to do @room? (only when notifications are limited to @mentions)
// TODO: Is comparing against read marker timestamp ok enough?