mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
31 waves of consumer-side migration from `import Postbox` to TelegramEngine typealiases. Net: 173 import drops + 39 BUILD-dep drops + 1 new typealias (`EngineStoryId = StoryId`, wave 113). Wave shapes used: - Orphan-import sweeps (107, 108, 128): drop `import Postbox` from files whose only Postbox-symbol reference was the import line itself, then resolve build failures. Methodology requires token-level (`grep -oE`) filtering, not line-level, to avoid masking real Postbox usage on lines that also contain `Namespaces.X` references. - Identifier-swap mini-waves (109-127, 129-134, 136-137): rename Postbox-typealiased identifiers to engine equivalents (PeerId -> EnginePeer.Id, MessageId -> EngineMessage.Id, MediaId -> EngineMedia.Id, MessageIndex -> EngineMessage.Index, StoryId -> EngineStoryId, ItemCollectionId -> EngineItemCollectionId, PreferencesEntry -> EnginePreferencesEntry, FetchResourceSourceType/Error -> EngineFetchResourceSourceType/Error, MemoryBuffer -> EngineMemoryBuffer, MessageTags -> EngineMessage.Tags, MessageAttribute -> EngineMessage.Attribute, TempBox -> EngineTempBox). - Asset-string FP-only orphans (124). - Typealias addition + drain (113): added `EngineStoryId` typealias to TelegramCore, then drained 3+11 consumer sites. Hard blockers identified during these waves (must restore `import Postbox` when present): MediaResource[A-Za-z]* (any suffix -- the literal `MediaResource` matches don't catch MediaResourceData/MediaResourceId/etc.), Postbox/MediaBox/MediaResource raw types, PostboxCoding/PostboxEncoder/ PostboxDecoder, TempBoxFile, ValueBoxKey, PostboxView, combinedView, HashFunctions, postboxLog, openPostbox, declareEncodable, PeerView, MessageHistoryView, MessageHistoryThreadData, CachedPeerData, RenderedPeer, SelectivePrivacyPeer, SimpleDictionary, ItemCollectionInfosView, ItemCollectionItem, ItemCollectionItemIndex, ItemCollectionViewEntryIndex, ChatListIndex, ChatListEntrySummaryComponents, CodableEntry, MessageHistoryThread, MessageHistoryAnchorIndex, MessageHistoryEntryLocation, PeerStoryStats, PeerNameIndex, PeerSummaryCounterTags, ChatListTotalUnreadStateCategory/Stats, arePeersEqual. Protocol-shape blockers: bare `Peer`/`Message`/`Media` in function signatures, generic args, enum-case payloads, or dict value types (e.g., `[PeerId: Peer]`, `case messages([Message])`, `Signal<(Peer?, ...), NoError>`). `replace_all PeerId -> EnginePeer.Id` is dangerous: mangles compound names like `failedPeerId`, `ContactListPeerId`, `nextRemoteMediaId`, `replyToMessageId`. Pre-flight grep `\b[a-z][a-zA-Z]*PeerId\b` and only replace_all if 0 matches. Also removes unneeded design/plan docs from a separate (link-highlighting) feature branch: - docs/superpowers/plans/2026-05-02-link-highlighting-modern-path-fixes.md - docs/superpowers/specs/2026-05-02-link-highlighting-modern-path-fixes-design.md Squashed commits: 6d82c2980d..e6de5d53a3 (59 commits, including per-wave content commits and per-wave CLAUDE.md bumps). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ActionPanelComponent | ||
| AdminUserActionsSheet | ||
| AdPanelHeaderPanelComponent | ||
| Ads | ||
| AlertComponent | ||
| AnimatedCounterComponent | ||
| AnimatedTextComponent | ||
| AnimationCache | ||
| AsyncListComponent | ||
| AttachmentFileController | ||
| AudioTranscriptionButtonComponent | ||
| AudioTranscriptionPendingIndicatorComponent | ||
| AudioWaveformComponent | ||
| AudioWaveformNode | ||
| AuthConfirmationScreen | ||
| AvatarBackground | ||
| AvatarComponent | ||
| AvatarEditorScreen | ||
| AvatarUploadToastScreen | ||
| BackButtonComponent | ||
| BadgeComponent | ||
| BatchVideoRendering | ||
| BottomButtonPanelComponent | ||
| ButtonComponent | ||
| Calls | ||
| CameraButtonComponent | ||
| CameraScreen | ||
| Chat | ||
| ChatControllerInteraction | ||
| ChatEntityKeyboardInputNode | ||
| ChatFolderLinkPreviewScreen | ||
| ChatInputNode | ||
| ChatInputPanelContainer | ||
| ChatList | ||
| ChatListHeaderComponent | ||
| ChatListTitleView | ||
| ChatParticipantRightsScreen | ||
| ChatScheduleTimeController | ||
| ChatScheduleTimeScreen | ||
| ChatSendButtonRadialStatusNode | ||
| ChatTextInputMediaRecordingButton | ||
| ChatThemeScreen | ||
| ChatTimerScreen | ||
| ChatTitleView | ||
| CheckComponent | ||
| CocoonInfoScreen | ||
| ComposePollScreen | ||
| ComposeTodoScreen | ||
| CompositeTextNode | ||
| Contacts/NewContactScreen | ||
| ContentReportScreen | ||
| ContextControllerImpl | ||
| ContextMenuScreen | ||
| ContextReferenceButtonComponent | ||
| CreateBotScreen | ||
| DCTAnimationCacheImpl | ||
| DCTMultiAnimationRendererImpl | ||
| DustEffect | ||
| DynamicCornerRadiusView | ||
| EdgeEffect | ||
| EditableChatTextNode | ||
| EmojiActionIconComponent | ||
| EmojiGameStakeScreen | ||
| EmojiStatusComponent | ||
| EmojiStatusSelectionComponent | ||
| EmojiSuggestionsComponent | ||
| EmojiTextAttachmentView | ||
| EmptyStateIndicatorComponent | ||
| EntityKeyboard | ||
| EntityKeyboardGifContent | ||
| FaceScanScreen | ||
| ForumCreateTopicScreen | ||
| ForumSettingsScreen | ||
| Gifts | ||
| GifVideoLayer | ||
| GlassBackgroundComponent | ||
| GlassBarButtonComponent | ||
| GlassControls | ||
| GlobalControlPanelsContext | ||
| GroupCallHeaderPanelComponent | ||
| GroupStickerPackSetupController | ||
| HeaderPanelContainerComponent | ||
| HorizontalTabsComponent | ||
| InteractiveTextComponent | ||
| ItemListDatePickerItem | ||
| JoinSubjectScreen | ||
| LegacyCamera | ||
| LegacyChatHeaderPanelComponent | ||
| LegacyInstantVideoController | ||
| LegacyMessageInputPanel | ||
| LegacyMessageInputPanelInputView | ||
| LensTransition | ||
| LiquidLens | ||
| ListActionItemComponent | ||
| ListComposePollOptionComponent | ||
| ListItemComponentAdaptor | ||
| ListItemSliderSelectorComponent | ||
| ListItemSwipeOptionContainer | ||
| ListMultilineTextFieldItemComponent | ||
| ListSectionComponent | ||
| ListSwitchItemComponent | ||
| ListTextFieldItemComponent | ||
| LiveLocationHeaderPanelComponent | ||
| LottieAnimationCache | ||
| LottieComponent | ||
| LottieComponentEmojiContent | ||
| LottieComponentResourceContent | ||
| LottieMetal | ||
| MarqueeComponent | ||
| MaskedContainerComponent | ||
| MediaAssetsContext | ||
| MediaEditor | ||
| MediaEditorScreen | ||
| MediaManager/PeerMessagesMediaPlaylist | ||
| MediaPlaybackHeaderPanelComponent | ||
| MediaScrubberComponent | ||
| MeshTransform | ||
| MessageFeeHeaderPanelComponent | ||
| MessageInputActionButtonComponent | ||
| MessageInputPanelComponent | ||
| MiniAppListScreen | ||
| MinimizedContainer | ||
| MoreHeaderButton | ||
| MultiAnimationRenderer | ||
| MultiplexedVideoNode | ||
| MultiScaleTextNode | ||
| NavigationBarImpl | ||
| NavigationSearchComponent | ||
| NavigationStackComponent | ||
| NotificationExceptionsScreen | ||
| NotificationPeerExceptionController | ||
| OptionButtonComponent | ||
| PeerAllowedReactionsScreen | ||
| PeerInfo | ||
| PeerManagement | ||
| PeerNameTextComponent | ||
| PeerReportScreen | ||
| PeerSelectionController | ||
| PlainButtonComponent | ||
| PollStatsScreen | ||
| Premium | ||
| PremiumAlertController | ||
| PremiumGiftAttachmentScreen | ||
| PremiumLockButtonSubtitleComponent | ||
| PremiumPeerShortcutComponent | ||
| ProxyServerPreviewScreen | ||
| RankChatPreviewItem | ||
| RasterizedCompositionComponent | ||
| Resources | ||
| SavedMessages/SavedMessagesScreen | ||
| SaveProgressScreen | ||
| ScrollComponent | ||
| SearchInputPanelComponent | ||
| SectionTitleContextItem | ||
| SegmentControlComponent | ||
| SendInviteLinkScreen | ||
| Settings | ||
| ShareExtensionContext | ||
| ShareWithPeersScreen | ||
| SliderComponent | ||
| SliderContextItem | ||
| SpaceWarpView | ||
| Stars | ||
| StarsParticleEffect | ||
| StickerPickerScreen | ||
| Stickers/StickerPackEditTitleController | ||
| StorageUsageScreen | ||
| Stories | ||
| SubcodecAnimationCacheImpl | ||
| SubcodecMultiAnimationRendererImpl | ||
| SuggestedPostApproveAlert | ||
| SwitchComponent | ||
| TabBarComponent | ||
| TabSelectionRecognizer | ||
| TabSelectorComponent | ||
| TelegramAccountAuxiliaryMethods | ||
| TelegramUIDeclareEncodables | ||
| TextBadgeComponent | ||
| TextFieldComponent | ||
| TextLoadingEffect | ||
| TextNodeWithEntities | ||
| TextProcessingScreen | ||
| TimeSelectionActionSheet | ||
| ToastComponent | ||
| TokenListTextField | ||
| TooltipComponent | ||
| TranslateHeaderPanelComponent | ||
| TranslationLanguagesContextMenuContent | ||
| Utils | ||
| VideoAnimationCache | ||
| VideoMessageCameraScreen | ||
| VideoPlaybackControlsComponent | ||
| VolumeSliderContextItem | ||
| WallpaperPreviewMedia | ||