Call viewMessage only when marking as read.

This commit is contained in:
John Preston 2023-07-28 12:19:14 +04:00
parent 7d1725b339
commit 815e9d2462
2 changed files with 6 additions and 4 deletions

View File

@ -1052,6 +1052,7 @@ void HistoryInner::paintEvent(QPaintEvent *e) {
_translateTracker->startBunch();
auto readTill = (HistoryItem*)nullptr;
auto readContents = base::flat_set<not_null<HistoryItem*>>();
const auto markingAsViewed = _widget->markingContentsRead();
const auto guard = gsl::finally([&] {
if (_pinnedItem) {
_translateTracker->add(_pinnedItem);
@ -1060,7 +1061,7 @@ void HistoryInner::paintEvent(QPaintEvent *e) {
if (readTill && _widget->markingMessagesRead()) {
session().data().histories().readInboxTill(readTill);
}
if (!readContents.empty() && _widget->markingContentsRead()) {
if (markingAsViewed && !readContents.empty()) {
session().api().markContentsRead(readContents);
}
_userpicsCache.clear();
@ -1093,7 +1094,7 @@ void HistoryInner::paintEvent(QPaintEvent *e) {
} else if (isUnread) {
readTill = item;
}
if (item->hasViews()) {
if (markingAsViewed && item->hasViews()) {
session().api().views().scheduleIncrement(item);
}
if (withReaction) {

View File

@ -2059,12 +2059,13 @@ void ListWidget::paintEvent(QPaintEvent *e) {
}
auto readTill = (HistoryItem*)nullptr;
auto readContents = base::flat_set<not_null<HistoryItem*>>();
const auto markingAsViewed = markingMessagesRead();
const auto guard = gsl::finally([&] {
if (_translateTracker) {
_delegate->listAddTranslatedItems(_translateTracker.get());
_translateTracker->finishBunch();
}
if (readTill && markingMessagesRead()) {
if (markingAsViewed && readTill) {
_delegate->listMarkReadTill(readTill);
}
if (!readContents.empty() && markingContentsRead()) {
@ -2136,7 +2137,7 @@ void ListWidget::paintEvent(QPaintEvent *e) {
} else if (isUnread) {
readTill = item;
}
if (item->hasViews()) {
if (markingAsViewed && item->hasViews()) {
session->api().views().scheduleIncrement(item);
}
if (withReaction) {