Telegram-iOS/submodules/TelegramUI/Sources/Chat
isaac 0050cc7a08 Rich-message media in gallery/shared-media/preview pipelines via Message.effectiveMedia
Add Message/EngineMessage.effectiveMedia (= message.media when non-empty, else
richText.instantPage.allMedia()) and route the media-consuming sites through it
so a rich message's instant-page media participates in the same pipelines as
normal message.media: shared-media grids/file-rows, search media grid, gallery
open + item nodes + footer, the peer audio/voice playlist, secret-media preview,
resource-by-id resolution, recent downloads, downloaded-media store, delete-time
resource cleanup, cache-usage stats, the in-chat download manager, and the
context-menu / share actions (Save to Camera Roll, copy image, save audio/music
to files). For normal messages effectiveMedia == message.media, so each swap is
behavior-preserving; rich messages render their own bubble via
ChatMessageRichDataBubbleContentNode (not the text/file bubbles), so those paths
are deliberately untouched, as are the forward path (the attribute travels with
the forward) and the markdown-based rich-edit path. First-media scope for now.

See docs/instantpage-richtext.md for the full architecture + invariants.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 23:46:56 +02:00
..
ChatControllerEditGif.swift Various improvements 2026-05-28 16:50:05 +02:00
ChatControllerEditSticker.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerFrozenAccount.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerLoadDisplayNode.swift Rich-message media in gallery/shared-media/preview pipelines via Message.effectiveMedia 2026-06-04 23:46:56 +02:00
ChatControllerMediaRecording.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerNavigateToMessage.swift Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ChatControllerNavigationButtonAction.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerOpenBankCardContextMenu.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerOpenCommandContextMenu.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerOpenDateContextMenu.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatControllerOpenDocumentScanner.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatControllerOpenHashtagContextMenu.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerOpenLinkContextMenu.swift Various improvements 2026-06-02 13:31:23 +02:00
ChatControllerOpenLinkLongTap.swift Formatted date support 2026-02-06 14:24:03 +04:00
ChatControllerOpenMessageContextMenu.swift Various improvements 2026-06-04 01:44:36 +02:00
ChatControllerOpenMessageFactCheck.swift Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ChatControllerOpenPeer.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerOpenPhoneContextMenu.swift Postbox -> TelegramEngine wave 6: unused import Postbox batch sweep 2026-04-19 23:46:13 +02:00
ChatControllerOpenPollContextMenu.swift Various improvements 2026-05-28 16:50:05 +02:00
ChatControllerOpenPollOptionMedia.swift Merge commit 'c64653ed37' 2026-05-14 12:45:26 +02:00
ChatControllerOpenTimecodeContextMenu.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatControllerOpenTodoContextMenu.swift WIP 2026-05-20 00:33:08 +08:00
ChatControllerOpenUsernameContextMenu.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatControllerOpenViewOnceMediaMessage.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerOpenWebApp.swift Various improvements 2026-05-28 16:50:05 +02:00
ChatControllerPaidMessage.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatControllerPaste.swift Merge commit 'c64653ed37' 2026-05-14 12:45:26 +02:00
ChatControllerPlayMessageEffect.swift Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
ChatControllerQuickShare.swift Various improvements 2025-04-05 19:18:54 +04:00
ChatControllerReport.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerThemeManagement.swift Various improvements 2026-05-05 14:57:06 +02:00
ChatControllerToasts.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00
ChatMessageActionOptions.swift Disable forward name hiding for rich messages 2026-06-02 21:18:17 +02:00
ChatMessageDisplaySendMessageOptions.swift Custom emoji in markdown rich messages (send + round-trip) 2026-05-31 17:51:37 +02:00
ChatSendMessageRichTextPreview.swift InstantPage V2: audio/music rendering, playback, and file-bubble styling 2026-06-02 17:44:45 +02:00
PeerMessageSelectedReactions.swift Postbox refactor waves 138–276: 168-commit squash 2026-05-05 00:44:27 +02:00
UpdateChatPresentationInterfaceState.swift Postbox -> TelegramEngine waves 107-137 (squashed) 2026-05-03 10:28:50 +02:00