diff --git a/Telegram/SourceFiles/calls/group/calls_group_call.cpp b/Telegram/SourceFiles/calls/group/calls_group_call.cpp index eb19c015b..64dc46a1b 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_call.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_call.cpp @@ -2601,8 +2601,17 @@ void GroupCall::requestCurrentTimeStart( finish(0); } }); - }).fail([=] { + }).fail([=](const MTP::Error &error) { finish(0); + + if (error.type() == u"GROUPCALL_JOIN_MISSING"_q + || error.type() == u"GROUPCALL_FORBIDDEN"_q) { + for (const auto &[task, part] : _broadcastParts) { + _api.request(part.requestId).cancel(); + } + setState(State::Joining); + rejoin(); + } }).handleAllErrors().toDC( MTP::groupCallStreamDcId(_broadcastDcId) ).send();