From a3637c12d6a5f71d7d7d03625251639c13317ca4 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 7 May 2025 18:53:21 +0400 Subject: [PATCH] Fix first message date with new peer info. --- Telegram/SourceFiles/history/history_item.h | 2 +- Telegram/SourceFiles/history/view/history_view_element.cpp | 2 +- Telegram/SourceFiles/history/view/history_view_list_widget.cpp | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/history/history_item.h b/Telegram/SourceFiles/history/history_item.h index a12c5e46de..e8153f2d78 100644 --- a/Telegram/SourceFiles/history/history_item.h +++ b/Telegram/SourceFiles/history/history_item.h @@ -323,7 +323,7 @@ public: return (_flags & MessageFlag::HideEdited); } [[nodiscard]] bool hideDisplayDate() const { - return (_flags & MessageFlag::HideDisplayDate); + return isEmpty() || (_flags & MessageFlag::HideDisplayDate); } [[nodiscard]] bool isLocal() const { return _flags & MessageFlag::Local; diff --git a/Telegram/SourceFiles/history/view/history_view_element.cpp b/Telegram/SourceFiles/history/view/history_view_element.cpp index e830ee5dbc..63faa7f783 100644 --- a/Telegram/SourceFiles/history/view/history_view_element.cpp +++ b/Telegram/SourceFiles/history/view/history_view_element.cpp @@ -1397,7 +1397,7 @@ void Element::recountDisplayDateInBlocks() { if (const auto previous = previousDisplayedInBlocks()) { const auto prev = previous->data(); - return prev->isEmpty() + return prev->hideDisplayDate() || (previous->dateTime().date() != dateTime().date()); } return true; diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index d70006e3f4..697b96f7ea 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -4077,7 +4077,8 @@ void ListWidget::refreshAttachmentsFromTill(int from, int till) { const auto viewDate = view->dateTime(); const auto nextDate = next->dateTime(); next->setDisplayDate(_context != Context::ShortcutMessages - && nextDate.date() != viewDate.date()); + && (nextDate.date() != viewDate.date() + || view->data()->hideDisplayDate())); auto attached = next->computeIsAttachToPrevious(view); next->setAttachToPrevious(attached, view); view->setAttachToNext(attached, next);