diff --git a/Telegram/SourceFiles/data/data_histories.cpp b/Telegram/SourceFiles/data/data_histories.cpp index f2326b3130..25a9dfe35b 100644 --- a/Telegram/SourceFiles/data/data_histories.cpp +++ b/Telegram/SourceFiles/data/data_histories.cpp @@ -621,7 +621,11 @@ void Histories::finishSentRequest( not_null state, int id) { _historyByRequest.remove(id); - state->sent.remove(id); + const auto i = state->sent.find(id); + if (i != end(state->sent)) { + session().api().request(i->second.id).cancel(); + state->sent.erase(i); + } if (!state->postponed.empty() && !postponeHistoryRequest(*state)) { for (auto &[id, postponed] : base::take(state->postponed)) { const auto requestId = postponed.generator([=] {