diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Privacy/BlockedPeersContext.swift b/submodules/TelegramCore/Sources/TelegramEngine/Privacy/BlockedPeersContext.swift index c7d2f7f683..87922c03ca 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Privacy/BlockedPeersContext.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Privacy/BlockedPeersContext.swift @@ -204,7 +204,12 @@ public final class BlockedPeersContext { return peers } |> castError(BlockedPeersContextAddError.self) - |> mapToSignal { peers -> Signal in + |> mapToSignal { [weak self] peers -> Signal in + Queue.mainQueue().async { + if let strongSelf = self { + strongSelf._state = BlockedPeersContextState(isLoadingMore: strongSelf._state.isLoadingMore, canLoadMore: strongSelf._state.canLoadMore, totalCount: peers.count, peers: peers.map(RenderedPeer.init)) + } + } let inputPeers = peers.compactMap { apiInputPeer($0) } return network.request(Api.functions.contacts.setBlocked(flags: flags, id: inputPeers, limit: Int32(peers.count))) |> mapError { _ -> BlockedPeersContextAddError in diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift index e33421d5e5..20099333b7 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift @@ -453,6 +453,8 @@ final class StoryItemContentComponent: Component { } func update(component: StoryItemContentComponent, availableSize: CGSize, state: EmptyComponentState, environment: Environment, transition: Transition) -> CGSize { + let previousItem = self.component?.item + self.component = component self.state = state let environment = environment[StoryContentItem.Environment.self].value @@ -730,7 +732,7 @@ final class StoryItemContentComponent: Component { } if self.contentLoaded { - if reloadMedia { + if let previousItem, previousItem.mediaAreas != component.item.mediaAreas { if let mediaAreasEffectView = self.mediaAreasEffectView { self.mediaAreasEffectView = nil mediaAreasEffectView.removeFromSuperview()