From d44f70ad48a5997fe2ebdf941a5e3c8a52b5a1cb Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 7 Jul 2026 22:40:21 +0400 Subject: [PATCH] Guard empty replies when loading usernames --- Telegram/SourceFiles/api/api_user_names.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Telegram/SourceFiles/api/api_user_names.cpp b/Telegram/SourceFiles/api/api_user_names.cpp index d697de749d..187fc0b4db 100644 --- a/Telegram/SourceFiles/api/api_user_names.cpp +++ b/Telegram/SourceFiles/api/api_user_names.cpp @@ -71,6 +71,11 @@ rpl::producer Usernames::loadUsernames( _session->api().request(MTPusers_GetUsers( MTP_vector(1, data) )).done([=](const MTPVector &result) { + if (result.v.isEmpty()) { + consumer.put_next({}); + consumer.put_done(); + return; + } result.v.front().match([&](const MTPDuser &data) { push(data.vusernames(), data.vusername()); consumer.put_done(); @@ -85,6 +90,11 @@ rpl::producer Usernames::loadUsernames( MTP_vector(1, data) )).done([=](const MTPmessages_Chats &result) { result.match([&](const auto &data) { + if (data.vchats().v.isEmpty()) { + consumer.put_next({}); + consumer.put_done(); + return; + } data.vchats().v.front().match([&](const MTPDchannel &c) { push(c.vusernames(), c.vusername()); consumer.put_done();