From c2805d92a58c8787d37186845f9a2f6a4e417dce Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 19 Jul 2023 18:34:04 +0400 Subject: [PATCH] Fix marking stories as read. --- Telegram/SourceFiles/data/data_stories.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/data/data_stories.cpp b/Telegram/SourceFiles/data/data_stories.cpp index 904813765..df0615038 100644 --- a/Telegram/SourceFiles/data/data_stories.cpp +++ b/Telegram/SourceFiles/data/data_stories.cpp @@ -286,7 +286,10 @@ void Stories::processExpired() { void Stories::parseAndApply(const MTPUserStories &stories) { const auto &data = stories.data(); const auto peerId = peerFromUser(data.vuser_id()); - const auto readTill = data.vmax_read_id().value_or_empty(); + const auto already = _readTill.find(peerId); + const auto readTill = std::max( + data.vmax_read_id().value_or_empty(), + (already != end(_readTill) ? already->second : 0)); const auto user = _owner->peer(peerId)->asUser(); auto result = StoriesSource{ .user = user,