mirror of https://github.com/procxx/kepka.git
Workaround for a server-side bug with dates of migrate/invite.
Fixes the appearing of duplicated supergroup migrate message together with not needed client side joined/invited message.
This commit is contained in:
parent
8e0bab5adc
commit
fccae52654
|
@ -398,12 +398,14 @@ HistoryJoined *ChannelHistory::insertJoinedMessage(bool unread) {
|
||||||
HistoryItem *item = block->items.at(--itemIndex);
|
HistoryItem *item = block->items.at(--itemIndex);
|
||||||
HistoryItemType type = item->type();
|
HistoryItemType type = item->type();
|
||||||
if (type == HistoryItemMsg) {
|
if (type == HistoryItemMsg) {
|
||||||
|
// Due to a server bug sometimes inviteDate is less (before) than the
|
||||||
|
// first message in the megagroup (message about migration), let us
|
||||||
|
// ignore that and think, that the inviteDate is always greater-or-equal.
|
||||||
|
if (item->isGroupMigrate() && peer->isMegagroup() && peer->migrateFrom()) {
|
||||||
|
peer->asChannel()->mgInfo->joinedMessageFound = true;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
if (item->date <= inviteDate) {
|
if (item->date <= inviteDate) {
|
||||||
if (peer->isMegagroup() && peer->migrateFrom() && item->isGroupMigrate()) {
|
|
||||||
peer->asChannel()->mgInfo->joinedMessageFound = true;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
++itemIndex;
|
++itemIndex;
|
||||||
_joinedMessage = HistoryJoined::create(this, inviteDate, inviter, flags);
|
_joinedMessage = HistoryJoined::create(this, inviteDate, inviter, flags);
|
||||||
addNewInTheMiddle(_joinedMessage, blockIndex, itemIndex);
|
addNewInTheMiddle(_joinedMessage, blockIndex, itemIndex);
|
||||||
|
|
Loading…
Reference in New Issue