Telegram-iOS/submodules/TelegramUI/Components
isaac 69bfc65da7 Postbox refactor waves 138–276: 168-commit squash
Consolidates 137 wave commits + 31 supporting commits (CLAUDE.md bump,
typealias additions, AnyObject→EngineMedia restoration) into one squashed
commit. Migrates dozens of consumer-side public APIs, struct fields,
protocol methods, and enum payloads from Postbox protocols/structs to
TelegramEngine engine wrappers and typealiases. Drops `import Postbox`
from many files. Adds new TelegramCore typealiases and one
TelegramEngineUnauthorized facade.

Notable changes by category:

**TelegramCore typealias additions** (rule 2 — narrow utility typealiases):
- EngineChatListIndex, EngineTempBoxFile, EngineItemCollectionItemIndex,
  EngineItemCollectionViewEntryIndex, EngineValueBoxEncryptionParameters,
  EngineMessageAndThreadId, EnginePeerStoryStats, EngineMessageHistoryAnchorIndex,
  EngineChatListTotalUnreadStateCategory, EngineChatListTotalUnreadStateStats,
  EnginePeerSummaryCounterTags, EngineChatListTotalUnreadState,
  EngineItemCacheEntryId, EngineHashFunctions,
  EngineCachedMediaResourceRepresentationResult,
  EngineMediaResourceDataFetchResult, EngineMediaResourceDataFetchError,
  EngineMediaResourceStatus, EngineCachedPeerData

**TelegramCore engine extensions/forwarders**:
- EngineMessage.engineMedia, EngineMessage.enginePeers,
  EngineMessage.adAttribute, EngineMessage.effectivelyIncoming
- engineFileSize forwarder
- TelegramEngine.Resources.clearCachedMediaResources(mediaResourceIds: Set<EngineMediaResource.Id>)
- TelegramEngine.Resources.fetchStatus(id:resourceSize:)
- TelegramEngineUnauthorized.UnauthorizedResources facade with storeResourceData

**Public API/struct migrations to engine types**:
- ChatAvailableMessageActions.banAuthor/banAuthors → EnginePeer?/[EnginePeer]
- WebSessionsContextState.peers → [EnginePeer.Id: EnginePeer]
- CacheUsageStats.peers → [EnginePeer.Id: EnginePeer]
- PeerCommand.peer → EnginePeer
- PeerInfoControllerMode.calls(messages:) → [EngineMessage]
- CallControllerNodeProtocol.updatePeer → EnginePeer params
- ChatHistoryListNode.messageInCurrentHistoryView (and 4 variants) → EngineMessage?
- ChatHistorySearchContainerNode.messageForGallery → EngineMessage?
- PeerInfoPaneNode.findLoadedMessage / ensureMessageIsVisible /
  transitionNodeForGallery → engine-typed
- GalleryHiddenMediaTarget.getTransitionInfo /
  GalleryHiddenMediaManager.findTarget → engine-typed
- ChatPanelInterfaceInteraction.presentReactionDeletionOptions /
  presentBan*MessageOptions → EnginePeer
- DrawingMessageRenderer.messages → [EngineMessage]
- ChatVideoGalleryItemScrubberView.setFetchStatusSignal →
  EngineMediaResource.FetchStatus
- ChannelDiscussionGroupActionSheetItem.peer, VoiceChatPeerEntry.peer,
  VoiceChatFullscreenParticipantItem.peer, MediaStreamComponent.chatPeer,
  MediaStreamVideoComponent.callPeer, ChatMessageContactBubbleContentNode.contactPeer,
  ChatMessageForwardInfoNode.peer, ChatMessageCommentFooterContentNode.replyPeers,
  ChatReportPeerTitlePanelNode.peer, ChatMessageActionUrlAuthController.bot,
  PeerMediaCollectionInterfaceState.peer, ChatMessageCallBubbleContentNode.peopleAvatars,
  ChatLoadingNode.renderedPeer (→ EngineRenderedPeer) — all to engine types

**Wave-71-shadow stored-field migrations** (Postbox Peer/Message → Engine wrapper):
- LegacyCallControllerNode.peer
- CallStatusBarNode.currentPeer

**Dead-code / dead-field removals**:
- CallController.peer, CallControllerNodeV2.account,
  ContactMultiselectionController PeerNameIndex fields,
  preparedChatListNodeViewTransition account: Account param,
  FetchResource.swift entirely (unused function)

**Module-level Postbox import drops**: 30+ files including TelegramRootController,
EditStories, GiftViewScreen, AnimatedStickerUtils, FetchPhotoLibraryImageResource,
PeerInfoGiftsPaneNode, PeerInfoPaneContainerNode, PresentAddMembers,
PeerInfoProfileItems, ChatControllerAdminBanUsers, PresentationData typealiases,
DefaultDayPresentationTheme, ChatListViewTransition, GalleryHiddenMediaManager,
RecentSessionsController, GifContext, AuthorizationSequenceController,
PeerInfoHeaderEditingContentNode, PeerInfoHeaderNode,
PeerAllowedReactionListController, CallControllerNodeV2, and 6 PeerInfo pane files.

**AnyObject restoration**: rule 8 added (never substitute Postbox protocols
with Any/AnyObject) — undid previous AnyObject substitutions in waves 141/143
back to EngineMedia.

Doc maintenance: CLAUDE.md updated to reflect new typealiases and forwarders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 00:44:27 +02:00
..
ActionPanelComponent
AdminUserActionsSheet Various improvements 2026-04-28 23:53:26 +02:00
AdPanelHeaderPanelComponent Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
Ads Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
AlertComponent Various improvements 2026-04-28 23:53:26 +02:00
AnimatedCounterComponent
AnimatedTextComponent Glass 2025-12-26 20:29:30 +08:00
AnimationCache Refactoring 2026-04-07 11:31:22 +02:00
AsyncListComponent Temp 2026-04-14 15:33:19 +02:00
AttachmentFileController Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
AudioTranscriptionButtonComponent
AudioTranscriptionPendingIndicatorComponent
AudioWaveformComponent
AudioWaveformNode
AuthConfirmationScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
AvatarBackground
AvatarComponent Various fixes 2026-02-02 15:54:43 +04:00
AvatarEditorScreen Various improvements 2026-04-28 16:58:04 +04:00
AvatarUploadToastScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
BackButtonComponent Update 2025-11-26 23:05:30 +08:00
BadgeComponent
BatchVideoRendering Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
BottomButtonPanelComponent
ButtonComponent Various improvements 2026-04-22 23:03:51 +02:00
Calls Fixes 2026-04-29 16:55:37 +04:00
CameraButtonComponent
CameraScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
Chat Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ChatControllerInteraction Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
ChatEntityKeyboardInputNode Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatFolderLinkPreviewScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ChatInputNode
ChatInputPanelContainer
ChatList Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
ChatListHeaderComponent Various improvements 2026-02-03 20:17:44 +08:00
ChatListTitleView Various improvements 2026-01-25 22:17:49 +04:00
ChatParticipantRightsScreen Various improvements 2026-04-24 03:16:14 +02:00
ChatScheduleTimeController Various improvements 2026-04-28 23:53:26 +02:00
ChatScheduleTimeScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ChatSendButtonRadialStatusNode
ChatTextInputMediaRecordingButton Bug fixes 2026-02-06 17:14:35 +04:00
ChatThemeScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatTimerScreen Various fixes 2026-04-27 04:40:29 +02:00
ChatTitleView Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
CheckComponent Reapply "Update API" 2026-03-11 18:51:44 +01:00
CocoonInfoScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ComposePollScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ComposeTodoScreen Various fixes 2026-04-28 19:16:08 +02:00
CompositeTextNode
Contacts/NewContactScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ContentReportScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
ContextControllerImpl Various improvements 2026-04-28 23:53:26 +02:00
ContextMenuScreen Text selection 2026-03-24 22:51:44 +08:00
ContextReferenceButtonComponent
CreateBotScreen Various improvements 2026-03-28 00:52:16 +08:00
DCTAnimationCacheImpl Refactoring 2026-04-07 11:31:22 +02:00
DCTMultiAnimationRendererImpl Refactoring 2026-04-07 11:31:22 +02:00
DustEffect Various improvements 2026-01-25 22:17:49 +04:00
DynamicCornerRadiusView
EdgeEffect Various improvements 2026-02-03 20:17:44 +08:00
EditableChatTextNode
EmojiActionIconComponent
EmojiGameStakeScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
EmojiStatusComponent
EmojiStatusSelectionComponent Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
EmojiSuggestionsComponent Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
EmojiTextAttachmentView Refactoring 2026-04-07 11:31:22 +02:00
EmptyStateIndicatorComponent
EntityKeyboard Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
EntityKeyboardGifContent Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
FaceScanScreen Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
ForumCreateTopicScreen Various improvements 2026-04-10 14:30:23 +02:00
ForumSettingsScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
Gifts Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
GifVideoLayer
GlassBackgroundComponent Various fixes 2026-04-15 23:12:53 +02:00
GlassBarButtonComponent [WIP] Polls 2026-03-13 11:04:33 +01:00
GlassControls Various fixes 2026-03-27 16:48:23 +01:00
GlobalControlPanelsContext Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
GroupCallHeaderPanelComponent Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
GroupStickerPackSetupController Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
HeaderPanelContainerComponent Various improvements 2026-03-18 00:27:13 +01:00
HorizontalTabsComponent Various improvements 2026-03-18 00:27:13 +01:00
InteractiveTextComponent Rich bubble: scrollToAnchor + getAnchorRect 2026-05-02 00:36:34 +02:00
ItemListDatePickerItem Various improvements 2026-03-12 13:51:27 +01:00
JoinSubjectScreen Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
LegacyCamera Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
LegacyChatHeaderPanelComponent Glass 2025-12-01 22:13:33 +08:00
LegacyInstantVideoController Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
LegacyMessageInputPanel Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
LegacyMessageInputPanelInputView
LensTransition Fix 2026-03-07 15:33:36 +01:00
LiquidLens Translation improvements 2026-03-22 05:17:29 +03:00
ListActionItemComponent Various improvements 2026-04-22 23:03:51 +02:00
ListComposePollOptionComponent Various fixes 2026-04-27 03:07:38 +02:00
ListItemComponentAdaptor
ListItemSliderSelectorComponent Collapse sibling options 2025-12-02 17:20:43 +08:00
ListItemSwipeOptionContainer
ListMultilineTextFieldItemComponent TextProcessing: style create/edit/delete, AI previews, and integration 2026-04-19 23:45:18 +02:00
ListSectionComponent Collapse sibling options 2025-12-02 17:20:43 +08:00
ListSwitchItemComponent
ListTextFieldItemComponent Various fixes 2026-02-27 14:34:18 +04:00
LiveLocationHeaderPanelComponent Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
LottieAnimationCache
LottieComponent Various improvements 2026-01-25 22:17:49 +04:00
LottieComponentEmojiContent
LottieComponentResourceContent
LottieMetal
MarqueeComponent
MaskedContainerComponent
MediaAssetsContext
MediaEditor Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
MediaEditorScreen Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
MediaManager/PeerMessagesMediaPlaylist Various improvements 2026-03-24 06:54:30 +01:00
MediaPlaybackHeaderPanelComponent Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
MediaScrubberComponent
MeshTransform Optimize 2026-03-10 19:33:45 +01:00
MessageFeeHeaderPanelComponent Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
MessageInputActionButtonComponent Glass 2026-01-25 00:31:18 +08:00
MessageInputPanelComponent Postbox -> TelegramEngine waves 27-36 2026-04-24 11:24:13 +04:00
MiniAppListScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
MinimizedContainer Various fixes 2026-04-15 23:12:53 +02:00
MoreHeaderButton Glass 2025-12-06 01:28:06 +08:00
MultiAnimationRenderer Refactoring 2026-04-07 11:31:22 +02:00
MultiplexedVideoNode Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
MultiScaleTextNode
NavigationBarImpl Various improvements 2026-04-28 16:58:04 +04:00
NavigationSearchComponent
NavigationStackComponent Various improvements 2026-01-25 22:17:49 +04:00
NotificationExceptionsScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
NotificationPeerExceptionController Various improvements 2026-04-24 03:16:14 +02:00
OptionButtonComponent
PeerAllowedReactionsScreen Stickers & emoji search pagination 2026-04-19 18:32:40 +02:00
PeerInfo Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
PeerManagement Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
PeerNameTextComponent
PeerReportScreen Various improvements 2026-04-24 04:55:22 +02:00
PeerSelectionController Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
PlainButtonComponent Various improvements 2026-03-30 02:55:35 +02:00
PollStatsScreen Update API 2026-04-16 01:18:22 +02:00
Premium Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
PremiumAlertController Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
PremiumGiftAttachmentScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
PremiumLockButtonSubtitleComponent
PremiumPeerShortcutComponent
ProxyServerPreviewScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
RankChatPreviewItem Various improvements 2026-02-25 04:38:32 +04:00
RasterizedCompositionComponent
Resources [WIP] Live photos 2026-02-20 13:28:58 +04:00
SavedMessages/SavedMessagesScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
SaveProgressScreen
ScrollComponent
SearchInputPanelComponent Glass 2026-01-25 00:31:18 +08:00
SectionTitleContextItem Various improvements 2026-01-16 21:23:32 +08:00
SegmentControlComponent Various improvements 2025-12-05 18:41:50 +04:00
SendInviteLinkScreen Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
Settings Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ShareExtensionContext Postbox -> TelegramEngine waves 46-93 (squashed) 2026-04-25 20:48:15 +04:00
ShareWithPeersScreen Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
SliderComponent
SliderContextItem Various improvements 2026-01-16 21:23:32 +08:00
SpaceWarpView Upgrade SpaceWarpNode 2026-02-13 12:23:53 +04:00
Stars Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
StarsParticleEffect
StickerPickerScreen Sticker pack improvements 2026-04-28 16:56:02 +04:00
Stickers/StickerPackEditTitleController
StorageUsageScreen Postbox -> TelegramEngine waves 37-43 + wave 44 design/plan (squashed) 2026-04-24 23:19:43 +04:00
Stories Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
SubcodecAnimationCacheImpl fix: correct Swift-ObjC bridging in subcodec animation modules 2026-04-07 12:35:54 +02:00
SubcodecMultiAnimationRendererImpl fix: correct Swift-ObjC bridging in subcodec animation modules 2026-04-07 12:35:54 +02:00
SuggestedPostApproveAlert Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2025-12-22 00:48:28 +04:00
SwitchComponent
TabBarComponent Translation improvements 2026-03-22 05:17:29 +03:00
TabSelectionRecognizer Various improvements 2025-12-16 20:05:44 +04:00
TabSelectorComponent Glass 2025-12-28 22:39:34 +08:00
TelegramAccountAuxiliaryMethods
TelegramUIDeclareEncodables
TextBadgeComponent
TextFieldComponent Various improvements 2026-03-22 13:44:04 +01:00
TextLoadingEffect
TextNodeWithEntities Various improvements 2025-12-16 20:05:44 +04:00
TextProcessingScreen Update localization 2026-04-29 21:23:36 +04:00
TimeSelectionActionSheet
ToastComponent Translation improvements 2026-03-22 05:17:29 +03:00
TokenListTextField Glass 2025-12-26 20:29:30 +08:00
TooltipComponent Translation improvements 2026-03-22 05:17:29 +03:00
TranslateHeaderPanelComponent Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
TranslationLanguagesContextMenuContent Postbox -> TelegramEngine waves 11-14: stateManager collapse + BUILD-dep sweep 2026-04-20 20:26:58 +02:00
Utils Temp 2026-04-14 15:33:19 +02:00
VideoAnimationCache Fix stickers memory leak 2026-04-02 20:37:35 +02:00
VideoMessageCameraScreen Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
VideoPlaybackControlsComponent Glass 2026-02-13 17:08:48 +04:00
VolumeSliderContextItem Various fixes 2026-03-03 20:26:45 +04:00
WallpaperPreviewMedia Update API 2025-12-02 14:28:47 +04:00