Commit graph

162 commits

Author SHA1 Message Date
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
Isaac
05b667797d Glass 2025-12-28 22:39:34 +08:00
Isaac
fbebd03f88 Update 2025-12-15 03:58:05 +08:00
Isaac
c49fe34c43 Fix color 2025-12-15 03:49:32 +08:00
Isaac
a63c90aa00 Glass 2025-12-12 23:58:00 +08:00
Isaac
54d2b58eb3 Updates 2025-09-30 21:52:21 +08:00
Isaac
a7385ad068 Update 2025-09-30 17:41:32 +08:00
Isaac
a3200c23a5 Adjust colors 2025-09-30 00:34:09 +08:00
Isaac
cfbd75f03d Fix entity inputs 2025-09-29 00:51:42 +08:00
Isaac
d5d4bad649 Various improvements 2025-09-26 19:44:40 +08:00
Isaac
3684c6ca15 Various improvements 2025-09-23 20:49:12 +08:00
Isaac
04765e0c36 Update 2025-09-17 11:18:26 +04:00
Isaac
5a8bd1d98d Temp 2025-09-16 10:11:54 +04:00
Isaac
ebcd0557e5 Temp 2025-09-12 10:54:22 +02:00
Isaac
4337026fba Glass 2025-09-01 18:44:03 +02:00
Ilya Laktyushin
b0c237e11a Merge commit 'c474162cff' into 189layer 2024-09-19 03:24:32 +04:00
Ilya Laktyushin
f7e6755a39 Update API 2024-09-19 03:24:24 +04:00
Isaac
923587b0da [WIP] Dynamic video streaming 2024-09-18 01:04:29 +08:00
Isaac
001755ad63 Fix theme 2024-09-12 11:45:16 +08:00
Isaac
8acb1d12ee Stars reactions improvements 2024-08-11 15:27:39 +04:00
Isaac
ad1ddf65c0 Stars reaction test [skip ci] 2024-06-27 14:39:09 +02:00
Isaac
53ba8afced Update tag layout 2024-01-26 20:50:40 +01:00
Ilya Laktyushin
f11c070862 [WIP] View-once audio messages 2023-12-29 04:50:22 +04:00
Ali
af70f82faa Fix audio message presentation 2023-07-27 22:32:17 +04:00
Ali
52c6f20b5f Stories 2023-07-03 14:06:55 +02:00
Ali
ef49e3de9c Fix blurred components appearance 2023-03-13 16:06:07 +04:00
Ilya Laktyushin
7fcce53b2c Replace legacy background with vector one 2023-03-09 23:52:56 +04:00
Ilya Laktyushin
4f5d1445ae Tune outgoing bubble highlight color 2023-03-03 14:30:08 +04:00
Ali
55c1b9b363 Limit blur effects 2023-03-01 10:24:54 +04:00
Ilya Laktyushin
1e6c6d6091 Various fixes 2023-02-21 18:40:34 +04:00
Ali
8735edc6fb UI optimizations 2023-02-18 00:05:50 +04:00
Ali
5f3de7a40b UI optimizations 2023-02-07 23:23:06 +04:00
Ilya Laktyushin
ad0fe38ba7 Various improvements 2023-01-23 15:48:57 +04:00
Ali
40f948d9b9 UI improvements 2023-01-20 21:01:06 +04:00
Ilya Laktyushin
1103706315 Update API 2022-12-05 17:05:40 +04:00
Ilya Laktyushin
6e18ef51a1 Bot keyboard improvements 2022-11-10 16:58:30 +04:00
Ali
a92f3fe738 Fix build 2022-11-01 18:07:52 +04:00
Ilya Laktyushin
23e1eeda80 Various UI improvements 2022-09-14 23:37:32 +03:00
Ali
64b1eab732 UI improvements 2022-09-09 21:34:27 +04:00
Ali
78c9c2b15c Reaction improvements 2022-09-05 21:48:49 +04:00
Ilya Laktyushin
e558687f63 Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2022-09-02 20:26:42 +02:00
Ilya Laktyushin
84679a71cd Various improvements 2022-09-02 20:26:03 +02:00
Ali
e4f1c6aa72 Emoji and status improvements 2022-09-02 20:10:43 +04:00
Ali
1fdf09cbda Adjust colors 2022-08-30 20:35:42 +04:00
Ali
b924ea326e Emoji status and reaction improvements 2022-08-30 18:38:47 +04:00
Ali
f1e4e2dc7b [WIP] Reactions 2022-08-16 22:19:22 +03:00
Ilya Laktyushin
fcc48b47f5 Various fixes 2022-07-26 02:44:55 +03:00
Ali
c1595c9de9 Emoji improvements 2022-07-24 21:38:41 +02:00
Ali
99207385b1 Emoji improvements 2022-07-24 16:23:12 +02:00
Ali
3347f0514e Emoji improvements 2022-07-24 03:15:19 +02:00