mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Closes the seven remaining raw-Postbox leaks in TelegramEngine public
facades surfaced by a post-wave-6 scouting pass (all non-permanently-
blocked candidates).
Facades migrated in place (6 rewrites + 1 deletion; all _internal_*
implementations unchanged per the "internal Postbox-facing stays raw"
rule):
Messages:
downloadMessage Signal<Message?> -> Signal<EngineMessage?>
topPeerActiveLiveLocationMessages Signal<(Peer?, [Message])> -> Signal<(EnginePeer?, [EngineMessage])>
getSynchronizeAutosaveItemOperations deleted (dead facade; sole caller uses _internal_ directly)
Peers:
updatedRemotePeer Signal<Peer> -> Signal<EnginePeer>
(PeerReference param kept; no EnginePeer.Reference alias today)
Resources:
renderStorageUsageStatsMessages [EngineMessage.Id: Message] -> [EngineMessage.Id: EngineMessage]
clearStorage(peerId: ...) [Message] -> [EngineMessage]
clearStorage(peerIds: ...) [Message] -> [EngineMessage]
clearStorage(messages:) [Message] -> [EngineMessage]
(no external callers; migrated for overload-set consistency)
Consumer call-site updates (5 files):
- ChatListSearchListPaneNode drop redundant .flatMap(EngineMessage.init) wrap
- LocationViewControllerNode drop redundant .map(EngineMessage.init) wrap
- LiveLocationSummaryManager drop redundant EnginePeer(...) / EngineMessage(...) ctors
- StorageUsageScreen bridge [Message] <-> [EngineMessage] at the 4 facade-call points
(internal [MessageId: Message] / [Message] storage kept;
full-consumer-module migration is out of scope)
Discovery: grep of TelegramEngine/*/TelegramEngine*.swift public signatures
for `: Postbox|: Account|: MediaBox|: MediaResource|: Peer\b|: Message\b|
-> Signal<.*(Peer|Message)` turned up these seven candidates and no others.
After this wave, the full TelegramEngine.* facade surface is engine-typed
modulo the four permanently-blocked TelegramMediaResource-conforming
classes recorded in CLAUDE.md (ICloudFileResource, InstantPageExternal-
MediaResource, VideoLibraryMediaResource, YoutubeEmbedStoryboardMedia-
Resource).
No modules became Postbox-free in this wave. Plan: docs/superpowers/
plans/2026-04-20-postbox-to-telegramengine-wave-7.md.
Full project build verified green.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| AccountContext | ||
| AccountUtils | ||
| ActionSheetPeerItem | ||
| ActivityIndicator | ||
| AdUI | ||
| AlertUI | ||
| AnimatedAvatarSetNode | ||
| AnimatedCountLabelNode | ||
| AnimatedNavigationStripeNode | ||
| AnimatedStickerNode | ||
| AnimationCompression | ||
| AnimationUI | ||
| AppBundle | ||
| AppLock | ||
| AppLockState | ||
| ArchivedStickerPacksNotice | ||
| AsyncDisplayKit | ||
| AttachmentTextInputPanelNode | ||
| AttachmentUI | ||
| AudioBlob | ||
| AudioWaveform | ||
| AuthorizationUI | ||
| AuthorizationUtils | ||
| AvatarNode | ||
| AvatarVideoNode | ||
| BotPaymentsUI | ||
| BroadcastUploadHelpers | ||
| BrowserUI | ||
| BuildConfig | ||
| BuildConfigExtra | ||
| CalendarMessageScreen | ||
| CallListUI | ||
| Camera | ||
| ChatContextQuery | ||
| ChatImportUI | ||
| ChatInterfaceState | ||
| ChatListFilterSettingsHeaderItem | ||
| ChatListSearchItemHeader | ||
| ChatListSearchRecentPeersNode | ||
| ChatListUI | ||
| ChatMessageBackground | ||
| ChatMessageInteractiveMediaBadge | ||
| ChatPresentationInterfaceState | ||
| ChatSendMessageActionUI | ||
| ChatTextLinkEditUI | ||
| ChatTitleActivityNode | ||
| CheckNode | ||
| CloudData | ||
| CodeInputView | ||
| ComponentFlow | ||
| Components | ||
| ConfettiEffect | ||
| ContactListUI | ||
| ContactsHelper | ||
| ContactsPeerItem | ||
| ContextUI | ||
| CounterControllerTitleView | ||
| CountrySelectionUI | ||
| Crc32 | ||
| CryptoUtils | ||
| DatePickerNode | ||
| DateSelectionUI | ||
| DebugSettingsUI | ||
| DeleteChatPeerActionSheetItem | ||
| DeviceAccess | ||
| DeviceLocationManager | ||
| DeviceProximity | ||
| DirectionalPanGesture | ||
| DirectMediaImageCache | ||
| Display | ||
| DrawingUI | ||
| Emoji | ||
| EncryptionKeyVisualization | ||
| EncryptionProvider | ||
| FastBlur | ||
| FeaturedStickersScreen | ||
| FetchManagerImpl | ||
| ffmpeg | ||
| FFMpegBinding | ||
| FileMediaResourceStatus | ||
| GalleryData | ||
| GalleryUI | ||
| GameUI | ||
| Geocoding | ||
| GlassButtonNode | ||
| GradientBackground | ||
| GraphCore | ||
| GraphUI | ||
| GridMessageSelectionNode | ||
| GZip | ||
| HashtagSearchUI | ||
| HexColor | ||
| HorizontalPeerItem | ||
| ICloudResources | ||
| ImageBlur | ||
| ImageCompression | ||
| ImageContentAnalysis | ||
| ImageTransparency | ||
| ImportStickerPackUI | ||
| InAppPurchaseManager | ||
| InstantPageCache | ||
| InstantPageUI | ||
| InvisibleInkDustNode | ||
| InviteLinksUI | ||
| ItemListAddressItem | ||
| ItemListAvatarAndNameInfoItem | ||
| ItemListPeerActionItem | ||
| ItemListPeerItem | ||
| ItemListStickerPackItem | ||
| ItemListUI | ||
| ItemListVenueItem | ||
| JoinLinkPreviewUI | ||
| LanguageLinkPreviewUI | ||
| LanguageSuggestionUI | ||
| LegacyComponents | ||
| LegacyDataImport | ||
| LegacyMediaPickerUI | ||
| LegacyUI | ||
| libphonenumber | ||
| ListMessageItem | ||
| ListSectionHeaderNode | ||
| LiveLocationManager | ||
| LiveLocationPositionNode | ||
| LiveLocationTimerNode | ||
| LocalAuth | ||
| LocalizedPeerData | ||
| LocalMediaResources | ||
| LocationResources | ||
| LocationUI | ||
| lottie-ios | ||
| LottieCpp | ||
| ManagedAnimationNode | ||
| ManagedFile | ||
| MapResourceToAvatarSizes | ||
| Markdown | ||
| Media | ||
| MediaPasteboardUI | ||
| MediaPickerUI | ||
| MediaPlayer | ||
| MediaResources | ||
| MergeLists | ||
| MetalEngine | ||
| MimeTypes | ||
| MonotonicTime | ||
| MoreButtonNode | ||
| MosaicLayout | ||
| MozjpegBinding | ||
| MtProtoKit | ||
| MurMurHash32 | ||
| MusicAlbumArtResources | ||
| NetworkLogging | ||
| NotificationMuteSettingsUI | ||
| NotificationSoundSelectionUI | ||
| NotificationsPresentationData | ||
| NumberPluralizationForm | ||
| ObjCRuntimeUtils | ||
| OpenInExternalAppUI | ||
| openssl | ||
| OpenSSLEncryptionProvider | ||
| OpusBinding | ||
| OverlayStatusController | ||
| PasscodeInputFieldNode | ||
| PasscodeUI | ||
| PassportUI | ||
| PasswordSetupUI | ||
| Pasteboard | ||
| PaymentMethodUI | ||
| PeerAvatarGalleryUI | ||
| PeerInfoAvatarListNode | ||
| PeerInfoUI | ||
| PeerOnlineMarkerNode | ||
| PeerPresenceStatusManager | ||
| PeersNearbyIconNode | ||
| PeersNearbyUI | ||
| PersistentStringHash | ||
| PhoneInputNode | ||
| PhoneNumberFormat | ||
| PhotoResources | ||
| PKCS | ||
| PlatformRestrictionMatching | ||
| Postbox | ||
| PremiumUI | ||
| PresentationDataUtils | ||
| ProgressNavigationButtonNode | ||
| PromptUI | ||
| QrCode | ||
| QrCodeUI | ||
| RadialStatusNode | ||
| RaiseToListen | ||
| Reachability | ||
| ReactionSelectionNode | ||
| RingBuffer | ||
| rlottie | ||
| RMIntro | ||
| SaveToCameraRoll | ||
| ScreenCaptureDetection | ||
| SearchBarNode | ||
| SearchPeerMembers | ||
| SearchUI | ||
| SectionHeaderItem | ||
| SegmentedControlNode | ||
| SelectablePeerNode | ||
| SemanticStatusNode | ||
| SettingsUI | ||
| ShareController | ||
| ShareItems | ||
| ShimmerEffect | ||
| SinglePhoneInputNode | ||
| SlotMachineAnimationNode | ||
| SoftwareVideo | ||
| SolidRoundedButtonNode | ||
| SparseItemGrid | ||
| Speak | ||
| SpotlightSupport | ||
| sqlcipher | ||
| SSignalKit | ||
| StatisticsUI | ||
| StickerPackPreviewUI | ||
| StickerPeekUI | ||
| StickerResources | ||
| StringPluralization | ||
| StringTransliteration | ||
| Stripe | ||
| Sunrise | ||
| Svg | ||
| SvgRendering | ||
| SwipeToDismissGesture | ||
| SwitchNode | ||
| TabBarUI | ||
| TelegramAnimatedStickerNode | ||
| TelegramApi | ||
| TelegramAudio | ||
| TelegramBaseController | ||
| TelegramCallsUI | ||
| TelegramCore | ||
| TelegramIntents | ||
| TelegramNotices | ||
| TelegramPermissions | ||
| TelegramPermissionsUI | ||
| TelegramPresentationData | ||
| TelegramStringFormatting | ||
| TelegramUI | ||
| TelegramUIPreferences | ||
| TelegramUniversalVideoContent | ||
| TelegramUpdateUI | ||
| TelegramVoip | ||
| TemporaryCachedPeerDataManager | ||
| TextFormat | ||
| TextInputMenu | ||
| TextSelectionNode | ||
| TgVoipWebrtc | ||
| TinyThumbnail | ||
| TonBinding | ||
| TooltipUI | ||
| TouchDownGesture | ||
| TranslateUI | ||
| Tuples | ||
| UIKitRuntimeUtils | ||
| UndoUI | ||
| UrlEscaping | ||
| UrlHandling | ||
| UrlWhitelist | ||
| Utils | ||
| WallpaperBackgroundNode | ||
| WallpaperResources | ||
| WebPBinding | ||
| WebSearchUI | ||
| WebsiteType | ||
| WebUI | ||
| WidgetItems | ||
| WidgetItemsUtils | ||
| YuvConversion | ||