Fix reading one message if last one is outgoing.

This commit is contained in:
John Preston 2021-08-17 18:07:20 +03:00
parent 662966ba31
commit f2f19b14eb
1 changed files with 10 additions and 1 deletions

View File

@ -1631,7 +1631,16 @@ void History::setUnreadCount(int newUnreadCount) {
const auto notifier = unreadStateChangeNotifier(true);
_unreadCount = newUnreadCount;
if (newUnreadCount == 1) {
const auto lastOutgoing = [&] {
const auto last = lastMessage();
return last
&& IsServerMsgId(last->id)
&& loadedAtBottom()
&& !isEmpty()
&& blocks.back()->messages.back()->data() == last
&& last->out();
}();
if (newUnreadCount == 1 && !lastOutgoing) {
if (loadedAtBottom()) {
_firstUnreadView = !isEmpty()
? blocks.back()->messages.back().get()