From b871a29275f61d77f3219d715ecb29a0209dbf20 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 15 Aug 2023 19:16:50 +0200 Subject: [PATCH] Version 4.9.1: Fix states of archive settings. Fixes #26510. --- Telegram/SourceFiles/api/api_global_privacy.cpp | 8 ++++---- Telegram/SourceFiles/settings/settings_advanced.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/api/api_global_privacy.cpp b/Telegram/SourceFiles/api/api_global_privacy.cpp index 43a60e9a3..219d335f1 100644 --- a/Telegram/SourceFiles/api/api_global_privacy.cpp +++ b/Telegram/SourceFiles/api/api_global_privacy.cpp @@ -103,10 +103,10 @@ void GlobalPrivacy::update( | (archiveAndMute ? Flag::f_archive_and_mute_new_noncontact_peers : Flag()) - | (unarchiveOnNewMessage == UnarchiveOnNewMessage::AnyUnmuted + | (unarchiveOnNewMessage == UnarchiveOnNewMessage::None ? Flag::f_keep_archived_unmuted : Flag()) - | (unarchiveOnNewMessage != UnarchiveOnNewMessage::None + | (unarchiveOnNewMessage != UnarchiveOnNewMessage::AnyUnmuted ? Flag::f_keep_archived_folders : Flag()); _requestId = _api.request(MTPaccount_SetGlobalPrivacySettings( @@ -125,10 +125,10 @@ void GlobalPrivacy::apply(const MTPGlobalPrivacySettings &data) { data.match([&](const MTPDglobalPrivacySettings &data) { _archiveAndMute = data.is_archive_and_mute_new_noncontact_peers(); _unarchiveOnNewMessage = data.is_keep_archived_unmuted() - ? UnarchiveOnNewMessage::AnyUnmuted + ? UnarchiveOnNewMessage::None : data.is_keep_archived_folders() ? UnarchiveOnNewMessage::NotInFoldersUnmuted - : UnarchiveOnNewMessage::None; + : UnarchiveOnNewMessage::AnyUnmuted; }); } diff --git a/Telegram/SourceFiles/settings/settings_advanced.cpp b/Telegram/SourceFiles/settings/settings_advanced.cpp index 3f6bf052e..8ac221a4f 100644 --- a/Telegram/SourceFiles/settings/settings_advanced.cpp +++ b/Telegram/SourceFiles/settings/settings_advanced.cpp @@ -726,6 +726,7 @@ void ArchiveSettingsBox( ))->toggledChanges( ) | rpl::filter([=](bool toggled) { const auto current = privacy->unarchiveOnNewMessageCurrent(); + state->foldersWrap->toggle(!toggled, anim::type::normal); return toggled != (current == Unarchive::None); }) | rpl::start_with_next([=](bool toggled) { privacy->updateUnarchiveOnNewMessage(toggled @@ -733,7 +734,6 @@ void ArchiveSettingsBox( : state->folders->toggled() ? Unarchive::NotInFoldersUnmuted : Unarchive::AnyUnmuted); - state->foldersWrap->toggle(!toggled, anim::type::normal); }, container->lifetime()); AddSkip(container);