Commit Graph
40 Commits
Author SHA1 Message Date
isaacisaacClaude Opus 4.7
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
Ilya Laktyushin d88a29b378 Various improvements 2026-04-18 08:41:08 +02:00
Ilya Laktyushin d5ccfe2812 Various fixes 2026-03-06 10:48:10 +04:00
Ilya Laktyushin aec6a54b5d Update localization 2026-02-24 19:12:54 +04:00
Ilya Laktyushin 5d50aa34af Various improvements 2026-02-23 21:25:25 +04:00
Ilya Laktyushin 4203d70414 Various improvements 2026-02-23 18:45:47 +04:00
Ilya Laktyushin d9d1210c1d Various improvements 2026-02-19 21:53:26 +04:00
IsaacandIsaac 5b27ca9d4c Various improvements 2026-01-30 23:53:55 +08:00
IsaacandIsaac ca6fdc1629 Glass 2026-01-25 00:31:18 +08:00
IsaacandIsaac 05b667797d Glass 2025-12-28 22:39:34 +08:00
IsaacandIsaac 3f87ee8321 Fix buttons 2025-12-26 23:15:01 +08:00
IsaacandIsaac c880397eca Stories 2025-10-26 22:05:58 +04:00
IsaacandIsaac fcdfd8e00f Updates 2025-10-24 20:09:32 +04:00
IsaacandIsaac bcc1213db2 Update 2025-10-18 02:55:47 +08:00
IsaacandIsaac abe3a01668 Update 2025-10-18 02:35:58 +08:00
IsaacandIsaac 891a5c1186 Adjust font 2025-10-03 21:55:24 +08:00
IsaacandIsaac 9c0f5c0921 Buttons update 2025-10-03 21:54:50 +08:00
IsaacandIsaac 8c3bfe9890 Fix 2025-09-30 02:09:57 +08:00
IsaacandIsaac d5d4bad649 Various improvements 2025-09-26 19:44:40 +08:00
IsaacandIsaac 04765e0c36 Update 2025-09-17 11:18:26 +04:00
IsaacandIsaac c7a2fe5d3e Update to iOS 13 2025-06-11 16:59:53 +08:00
IsaacandIsaac c42b2bd9c0 Various improvements 2025-06-11 13:37:58 +08:00
IsaacandIsaac db34a7c175 Monoforums 2025-05-28 17:05:37 +08:00
IsaacandIsaac 3cad999c75 Fix monoforum user unread counters 2025-05-27 18:41:24 +08:00
IsaacandIsaac c984cb956b Monoforums 2025-05-27 00:56:39 +08:00
IsaacandIsaac 0e119dd6f1 [WIP] Monoforums 2025-05-08 20:56:55 +01:00
IsaacandIsaac 995fea2943 Cleanup for release 2025-05-05 22:30:03 +02:00
IsaacandIsaac 084bb5bcd5 [WIP] Post suggestions 2025-04-28 23:34:03 +02:00
IsaacandIsaac 603d5754db [WIP] Post suggestions 2025-04-23 12:18:56 +04:00
Ilya Laktyushin 5e766ec058 Various fixes 2025-01-31 21:36:27 +04:00
Ilya Laktyushin 10ac25e1cb Various improvements 2025-01-27 23:44:07 +04:00
Ilya Laktyushin 3032fe0738 Various fixes 2025-01-25 02:33:41 +04:00
Ilya Laktyushin 8164009fdb Various improvements 2025-01-22 21:33:47 +04:00
Ilya Laktyushin 4ffb0e697e Update API 2025-01-18 21:28:00 +04:00
Ilya Laktyushin ef6c097f6f Various improvements 2025-01-18 13:44:42 +04:00
Ilya Laktyushin 1ae20bd685 Various improvements 2024-06-15 18:41:19 +04:00
IsaacandIsaac 0ad61d8d63 [WIP] Saved messages 2023-12-23 00:47:22 +04:00
IsaacandIsaac 472e8a1556 Update localization 2023-12-20 23:14:13 +04:00
IsaacandIsaac b34a495945 [WIP] Saved messages 2023-12-12 14:05:58 +04:00
AliandAli 6f5d2b3292 Refactoring 2023-10-08 22:46:18 +04:00