diff --git a/.gitignore b/.gitignore index 100cdd79..704dfd16 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,9 @@ xcode-files .bsp/** /.claude/ /buildbox/* + +# Local/private signing materials (keep fake-codesigning tracked) +/.profiles/ +/codesigning/ +/build-system/real-codesigning/ +/build-system/local-codesigning/ diff --git a/codesigning/profiles_backup/Ghostgram_BroadcastUpload_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_BroadcastUpload_Distribution.mobileprovision deleted file mode 100644 index a0439365..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_BroadcastUpload_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_Distribution.mobileprovision deleted file mode 100644 index fac7f9c4..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_NotificationContent_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_NotificationContent_Distribution.mobileprovision deleted file mode 100644 index c7ae0b3f..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_NotificationContent_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_NotificationService_Dist.mobileprovision b/codesigning/profiles_backup/Ghostgram_NotificationService_Dist.mobileprovision deleted file mode 100644 index af2aad2f..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_NotificationService_Dist.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_Share_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_Share_Distribution.mobileprovision deleted file mode 100644 index 0be3546f..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_Share_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_SiriIntents_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_SiriIntents_Distribution.mobileprovision deleted file mode 100644 index a5da2b13..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_SiriIntents_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_WatchApp_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_WatchApp_Distribution.mobileprovision deleted file mode 100644 index 51a6911e..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_WatchApp_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_WatchExtension_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_WatchExtension_Distribution.mobileprovision deleted file mode 100644 index 7e41ac87..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_WatchExtension_Distribution.mobileprovision and /dev/null differ diff --git a/codesigning/profiles_backup/Ghostgram_Widget_Distribution.mobileprovision b/codesigning/profiles_backup/Ghostgram_Widget_Distribution.mobileprovision deleted file mode 100644 index f2e8498e..00000000 Binary files a/codesigning/profiles_backup/Ghostgram_Widget_Distribution.mobileprovision and /dev/null differ diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift index abb4967a..99bdd97f 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift @@ -861,7 +861,8 @@ extension ChatControllerImpl { self.reloadCachedData() - if self.context.sharedContext.immediateExperimentalUISettings.crashOnLongQueries { + if self.context.sharedContext.immediateExperimentalUISettings.crashOnLongQueries, + case .internal = self.context.sharedContext.applicationBindings.appBuildType { let _ = (self.ready.get() |> filter({ $0 }) |> take(1) @@ -1509,7 +1510,7 @@ extension ChatControllerImpl { guard let targetView = itemNode.targetReactionView(value: updatedReaction) else { return } - if let reactionItem = reactionItem { + if let reactionItem = reactionItem, let controllerInteraction = strongSelf.controllerInteraction { let standaloneReactionAnimation = StandaloneReactionAnimation(genericReactionEffect: strongSelf.chatDisplayNode.historyNode.takeGenericReactionEffect()) strongSelf.chatDisplayNode.messageTransitionNode.addMessageStandaloneReactionAnimation(messageId: item.message.id, standaloneReactionAnimation: standaloneReactionAnimation) @@ -1519,7 +1520,7 @@ extension ChatControllerImpl { standaloneReactionAnimation.animateReactionSelection( context: strongSelf.context, theme: strongSelf.presentationData.theme, - animationCache: strongSelf.controllerInteraction!.presentationContext.animationCache, + animationCache: controllerInteraction.presentationContext.animationCache, reaction: reactionItem, avatarPeers: avatarPeers, playHaptic: true, diff --git a/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift b/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift index ea9c5938..c25dc71f 100644 --- a/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift +++ b/submodules/TelegramUI/Sources/Chat/UpdateChatPresentationInterfaceState.swift @@ -200,7 +200,9 @@ func updateChatPresentationInterfaceStateImpl( } else { isBot = false } - selfController.chatDisplayNode.historyNode.chatHasBots = updatedChatPresentationInterfaceState.hasBots || isBot + if selfController.isNodeLoaded { + selfController.chatDisplayNode.historyNode.chatHasBots = updatedChatPresentationInterfaceState.hasBots || isBot + } if let (updatedSearchQuerySuggestionState, updatedSearchQuerySuggestionSignal) = searchQuerySuggestionResultStateForChatInterfacePresentationState(updatedChatPresentationInterfaceState, context: selfController.context, currentQuery: selfController.searchQuerySuggestionState?.0) { selfController.searchQuerySuggestionState?.1.dispose() @@ -444,11 +446,13 @@ func updateChatPresentationInterfaceStateImpl( selfController.updateSlowmodeStatus() - switch updatedChatPresentationInterfaceState.inputMode { - case .media: - break - default: - selfController.chatDisplayNode.collapseInput() + if selfController.isNodeLoaded { + switch updatedChatPresentationInterfaceState.inputMode { + case .media: + break + default: + selfController.chatDisplayNode.collapseInput() + } } selfController.tempHideAccessoryPanels = selfController.presentationInterfaceState.search != nil @@ -559,7 +563,9 @@ func updateChatPresentationInterfaceStateImpl( } (selfController.navigationController as? NavigationController)?.updateMasterDetailsBlackout(isBlackout ? .master : nil, transition: transition) } - selfController.updateItemNodesSelectionStates(animated: transition.isAnimated) + if selfController.isNodeLoaded { + selfController.updateItemNodesSelectionStates(animated: transition.isAnimated) + } } } @@ -583,16 +589,20 @@ func updateChatPresentationInterfaceStateImpl( selfController.presentationInterfaceStatePromise.set(selfController.presentationInterfaceState) - if case .tag = selfController.chatDisplayNode.historyNode.tag { - } else { - if let historyFilter = selfController.presentationInterfaceState.historyFilter, historyFilter.isActive { - selfController.chatDisplayNode.historyNode.updateTag(tag: .customTag(historyFilter.customTag, nil)) + if selfController.isNodeLoaded { + if case .tag = selfController.chatDisplayNode.historyNode.tag { } else { - selfController.chatDisplayNode.historyNode.updateTag(tag: nil) + if let historyFilter = selfController.presentationInterfaceState.historyFilter, historyFilter.isActive { + selfController.chatDisplayNode.historyNode.updateTag(tag: .customTag(historyFilter.customTag, nil)) + } else { + selfController.chatDisplayNode.historyNode.updateTag(tag: nil) + } } } - selfController.updateDownButtonVisibility() + if selfController.isNodeLoaded { + selfController.updateDownButtonVisibility() + } if selfController.presentationInterfaceState.hasBirthdayToday { selfController.displayBirthdayTooltip()