diff --git a/submodules/TelegramCore/Sources/UpdateCachedPeerData.swift b/submodules/TelegramCore/Sources/UpdateCachedPeerData.swift index 9c225b0dd6..357437184a 100644 --- a/submodules/TelegramCore/Sources/UpdateCachedPeerData.swift +++ b/submodules/TelegramCore/Sources/UpdateCachedPeerData.swift @@ -571,11 +571,19 @@ extension CachedPeerAutoremoveTimeout.Value { if let apiValue = apiValue { switch apiValue { case let .peerHistoryTTLPM(flags, ttlPeriodMy, ttlPeriodPeer): - guard let ttlPeriodPeer = ttlPeriodPeer else { + var anyTtl: Int32? + if let ttlPeriodMy = ttlPeriodMy { + anyTtl = ttlPeriodMy + } + if let ttlPeriodPeer = ttlPeriodPeer { + anyTtl = ttlPeriodPeer + } + if let anyTtl = anyTtl { + let pmOneSide = flags & (1 << 0) != 0 + self.init(myValue: ttlPeriodMy ?? anyTtl, peerValue: ttlPeriodPeer ?? anyTtl, isGlobal: !pmOneSide) + } else { return nil } - let pmOneSide = flags & (1 << 0) != 0 - self.init(myValue: ttlPeriodMy ?? ttlPeriodPeer, peerValue: ttlPeriodPeer, isGlobal: !pmOneSide) case let .peerHistoryTTL(ttlPeriodPeer): self.init(myValue: ttlPeriodPeer, peerValue: ttlPeriodPeer, isGlobal: true) } diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index bc19185ab1..7353d61815 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -7654,17 +7654,16 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G guard let actionSheet = actionSheet else { return } - actionSheet.dismissAnimated() - guard let strongSelf = self else { return } + strongSelf.updateChatPresentationInterfaceState(animated: false, interactive: false, { $0.updatedInterfaceState({ $0.withoutSelectionState() }) }) + + actionSheet.dismissAnimated() + let controller = peerAutoremoveSetupScreen(context: strongSelf.context, peerId: peer.id, completion: { updatedValue in - if case .updated = updatedValue { - if currentAutoremoveTimeout == nil { - self?.navigationButtonAction(.clearHistory) - } + if case let .updated(value) = updatedValue { } }) strongSelf.chatDisplayNode.dismissInput()