mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-23 09:37:08 +02:00
Fixed injecting of sponsored messages at first load of history messages.
This commit is contained in:
parent
1b3cf0a654
commit
ec6dda47ae
2 changed files with 7 additions and 2 deletions
|
@ -2065,6 +2065,7 @@ void HistoryWidget::showHistory(
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
_sponsoredMessagesStateKnown = false;
|
||||||
session().data().sponsoredMessages().clearItems(_history);
|
session().data().sponsoredMessages().clearItems(_history);
|
||||||
session().data().hideShownSpoilers();
|
session().data().hideShownSpoilers();
|
||||||
_composeSearch = nullptr;
|
_composeSearch = nullptr;
|
||||||
|
@ -2299,6 +2300,7 @@ void HistoryWidget::showHistory(
|
||||||
auto &sponsored = session().data().sponsoredMessages();
|
auto &sponsored = session().data().sponsoredMessages();
|
||||||
using State = Data::SponsoredMessages::State;
|
using State = Data::SponsoredMessages::State;
|
||||||
const auto state = sponsored.state(_history);
|
const auto state = sponsored.state(_history);
|
||||||
|
_sponsoredMessagesStateKnown = (state != State::None);
|
||||||
if (state == State::AppendToEnd) {
|
if (state == State::AppendToEnd) {
|
||||||
_scroll->setTrackingContent(
|
_scroll->setTrackingContent(
|
||||||
sponsored.canHaveFor(_history));
|
sponsored.canHaveFor(_history));
|
||||||
|
@ -3074,7 +3076,7 @@ void HistoryWidget::messagesReceived(
|
||||||
int requestId) {
|
int requestId) {
|
||||||
Expects(_history != nullptr);
|
Expects(_history != nullptr);
|
||||||
|
|
||||||
bool toMigrated = (peer == _peer->migrateFrom());
|
const auto toMigrated = (peer == _peer->migrateFrom());
|
||||||
if (peer != _peer && !toMigrated) {
|
if (peer != _peer && !toMigrated) {
|
||||||
if (_preloadRequest == requestId) {
|
if (_preloadRequest == requestId) {
|
||||||
_preloadRequest = 0;
|
_preloadRequest = 0;
|
||||||
|
@ -3148,6 +3150,7 @@ void HistoryWidget::messagesReceived(
|
||||||
}
|
}
|
||||||
|
|
||||||
historyLoaded();
|
historyLoaded();
|
||||||
|
injectSponsoredMessages();
|
||||||
} else if (_delayedShowAtRequest == requestId) {
|
} else if (_delayedShowAtRequest == requestId) {
|
||||||
if (toMigrated) {
|
if (toMigrated) {
|
||||||
_history->clear(History::ClearType::Unload);
|
_history->clear(History::ClearType::Unload);
|
||||||
|
@ -3352,7 +3355,7 @@ void HistoryWidget::loadMessagesDown() {
|
||||||
|
|
||||||
auto loadMigrated = _migrated && !(_migrated->isEmpty() || _migrated->loadedAtBottom() || (!_history->isEmpty() && !_history->loadedAtTop()));
|
auto loadMigrated = _migrated && !(_migrated->isEmpty() || _migrated->loadedAtBottom() || (!_history->isEmpty() && !_history->loadedAtTop()));
|
||||||
auto from = loadMigrated ? _migrated : _history;
|
auto from = loadMigrated ? _migrated : _history;
|
||||||
if (from->loadedAtBottom()) {
|
if (from->loadedAtBottom() && _sponsoredMessagesStateKnown) {
|
||||||
session().data().sponsoredMessages().request(_history, nullptr);
|
session().data().sponsoredMessages().request(_history, nullptr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -793,6 +793,8 @@ private:
|
||||||
ItemRevealAnimation> _itemRevealAnimations;
|
ItemRevealAnimation> _itemRevealAnimations;
|
||||||
int _itemsRevealHeight = 0;
|
int _itemsRevealHeight = 0;
|
||||||
|
|
||||||
|
bool _sponsoredMessagesStateKnown = false;
|
||||||
|
|
||||||
object_ptr<Ui::PlainShadow> _topShadow;
|
object_ptr<Ui::PlainShadow> _topShadow;
|
||||||
bool _inGrab = false;
|
bool _inGrab = false;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue