fix: read stories crashes

This commit is contained in:
AlexeyZavar 2025-03-09 00:53:32 +03:00
parent bd742689e9
commit 277a2edb57

View file

@ -1120,16 +1120,8 @@ void Stories::markAsRead(FullStoryId id, bool viewed) {
return;
}
// AyuGram sendReadStories
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadStories) {
_markReadRequests.clear();
_markReadPending.clear();
_incrementViewsRequests.clear();
_incrementViewsPending.clear();
return;
}
@ -1278,16 +1270,8 @@ void Stories::toggleHidden(
void Stories::sendMarkAsReadRequest(
not_null<PeerData*> peer,
StoryId tillId) {
// AyuGram sendReadStories
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadStories) {
_markReadRequests.clear();
_markReadPending.clear();
_incrementViewsRequests.clear();
_incrementViewsPending.clear();
return;
}
@ -1320,6 +1304,12 @@ void Stories::checkQuitPreventFinished() {
void Stories::sendMarkAsReadRequests() {
_markReadTimer.cancel();
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadStories) {
return;
}
for (auto i = begin(_markReadPending); i != end(_markReadPending);) {
const auto peerId = *i;
if (_markReadRequests.contains(peerId)) {
@ -1339,11 +1329,8 @@ void Stories::sendIncrementViewsRequests() {
return;
}
// AyuGram sendReadStories
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadStories) {
_incrementViewsPending.clear();
_incrementViewsRequests.clear();
return;
}
@ -1948,17 +1935,14 @@ void Stories::togglePinnedList(
bool Stories::isQuitPrevent() {
if (!_markReadPending.empty()) {
// AyuGram sendReadStories
const auto settings = &AyuSettings::getInstance();
if (settings->sendReadStories) {
sendMarkAsReadRequests();
}
sendMarkAsReadRequests();
}
if (!_incrementViewsPending.empty()) {
sendIncrementViewsRequests();
}
if (_markReadRequests.empty() && _incrementViewsRequests.empty()) {
const auto settings = &AyuSettings::getInstance();
if (!settings->sendReadStories || _markReadRequests.empty() && _incrementViewsRequests.empty()) {
return false;
}
LOG(("Stories prevents quit, marking as read..."));