Respect "call_requests_disabled" for confcalls.

This commit is contained in:
John Preston 2025-04-16 14:27:08 +04:00
parent 4975a0a8d8
commit ff67d876b2
3 changed files with 17 additions and 3 deletions

View file

@ -18,6 +18,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "core/application.h" #include "core/application.h"
#include "core/core_settings.h" #include "core/core_settings.h"
#include "main/session/session_show.h" #include "main/session/session_show.h"
#include "main/main_app_config.h"
#include "main/main_session.h" #include "main/main_session.h"
#include "main/main_account.h" #include "main/main_account.h"
#include "apiwrap.h" #include "apiwrap.h"
@ -1090,7 +1091,8 @@ void Instance::showConferenceInvite(
const auto video = call->video; const auto video = call->video;
if (!conferenceId if (!conferenceId
|| call->state != Data::CallState::Invitation || call->state != Data::CallState::Invitation
|| user->isSelf()) { || user->isSelf()
|| user->session().appConfig().callsDisabledForSession()) {
return; return;
} else if (_currentCall } else if (_currentCall
&& _currentCall->conferenceId() == conferenceId) { && _currentCall->conferenceId() == conferenceId) {

View file

@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/ */
#include "main/main_app_config.h" #include "main/main_app_config.h"
#include "api/api_authorizations.h"
#include "apiwrap.h" #include "apiwrap.h"
#include "base/call_delayed.h" #include "base/call_delayed.h"
#include "main/main_account.h" #include "main/main_account.h"
@ -108,6 +109,15 @@ int AppConfig::pinnedGiftsLimit() const {
return get<int>(u"stargifts_pinned_to_top_limit"_q, 6); return get<int>(u"stargifts_pinned_to_top_limit"_q, 6);
} }
bool AppConfig::callsDisabledForSession() const {
const auto authorizations = _account->sessionExists()
? &_account->session().api().authorizations()
: nullptr;
return get<bool>(
u"call_requests_disabled"_q,
authorizations->callsDisabledHere());
}
int AppConfig::confcallSizeLimit() const { int AppConfig::confcallSizeLimit() const {
return get<int>( return get<int>(
u"conference_call_size_limit"_q, u"conference_call_size_limit"_q,
@ -314,8 +324,9 @@ bool AppConfig::suggestionCurrent(const QString &key) const {
if (_dismissedSuggestions.contains(key)) { if (_dismissedSuggestions.contains(key)) {
return false; return false;
} else { } else {
const auto known const auto known = _account->sessionExists()
= _account->session().data().knownContactBirthdays(); ? _account->session().data().knownContactBirthdays()
: std::vector<UserId>();
if (!known) { if (!known) {
return true; return true;
} }

View file

@ -79,6 +79,7 @@ public:
[[nodiscard]] int pinnedGiftsLimit() const; [[nodiscard]] int pinnedGiftsLimit() const;
[[nodiscard]] bool callsDisabledForSession() const;
[[nodiscard]] int confcallSizeLimit() const; [[nodiscard]] int confcallSizeLimit() const;
[[nodiscard]] bool confcallPrioritizeVP8() const; [[nodiscard]] bool confcallPrioritizeVP8() const;