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>
|
||
|---|---|---|
| .. | ||
| Node | ||
| ChatContextMenus.swift | ||
| ChatListAdditionalCategoryItem.swift | ||
| ChatListContainerItemNode.swift | ||
| ChatListController.swift | ||
| ChatListControllerLeaveChatConfirmation.swift | ||
| ChatListControllerNode.swift | ||
| ChatListControllerStoryStealthMode.swift | ||
| ChatListEmptyNode.swift | ||
| ChatListFilterPresetCategoryItem.swift | ||
| ChatListFilterPresetController.swift | ||
| ChatListFilterPresetListController.swift | ||
| ChatListFilterPresetListItem.swift | ||
| ChatListFilterPresetListSuggestedItem.swift | ||
| ChatListFilterTagSectionHeaderItem.swift | ||
| ChatListRecentPeersListItem.swift | ||
| ChatListSearchContainerNode.swift | ||
| ChatListSearchListPaneNode.swift | ||
| ChatListSearchMediaNode.swift | ||
| ChatListSearchMessageSelectionPanelNode.swift | ||
| ChatListSearchPaneContainerNode.swift | ||
| ChatListSelection.swift | ||
| ChatListShimmerNode.swift | ||
| DateSuggestion.swift | ||
| ItemListFilterTitleInputItem.swift | ||
| TabBarChatListFilterController.swift | ||