mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
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> |
||
|---|---|---|
| .. | ||
| ChatControllerEditGif.swift | ||
| ChatControllerEditSticker.swift | ||
| ChatControllerFrozenAccount.swift | ||
| ChatControllerLoadDisplayNode.swift | ||
| ChatControllerMediaRecording.swift | ||
| ChatControllerNavigateToMessage.swift | ||
| ChatControllerNavigationButtonAction.swift | ||
| ChatControllerOpenBankCardContextMenu.swift | ||
| ChatControllerOpenCommandContextMenu.swift | ||
| ChatControllerOpenDateContextMenu.swift | ||
| ChatControllerOpenDocumentScanner.swift | ||
| ChatControllerOpenHashtagContextMenu.swift | ||
| ChatControllerOpenLinkContextMenu.swift | ||
| ChatControllerOpenLinkLongTap.swift | ||
| ChatControllerOpenMessageContextMenu.swift | ||
| ChatControllerOpenMessageFactCheck.swift | ||
| ChatControllerOpenPeer.swift | ||
| ChatControllerOpenPhoneContextMenu.swift | ||
| ChatControllerOpenPollContextMenu.swift | ||
| ChatControllerOpenPollOptionMedia.swift | ||
| ChatControllerOpenTimecodeContextMenu.swift | ||
| ChatControllerOpenTodoContextMenu.swift | ||
| ChatControllerOpenUsernameContextMenu.swift | ||
| ChatControllerOpenViewOnceMediaMessage.swift | ||
| ChatControllerOpenWebApp.swift | ||
| ChatControllerPaidMessage.swift | ||
| ChatControllerPaste.swift | ||
| ChatControllerPlayMessageEffect.swift | ||
| ChatControllerQuickShare.swift | ||
| ChatControllerReport.swift | ||
| ChatControllerThemeManagement.swift | ||
| ChatControllerToasts.swift | ||
| ChatMessageActionOptions.swift | ||
| ChatMessageDisplaySendMessageOptions.swift | ||
| ChatSendMessageRichTextPreview.swift | ||
| PeerMessageSelectedReactions.swift | ||
| UpdateChatPresentationInterfaceState.swift | ||