Commit graph

23 commits

Author SHA1 Message Date
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
isaac
e918b353ec Postbox refactor waves 278-356: squash
Squashes 79 sequential refactor waves into a single commit.

Highlights:
- Drop `import Postbox` (and matching `//submodules/Postbox` BUILD deps) from a wide swath of consumer files: ChatList, ChatMessage*BubbleContentNode subclasses, ListMessageNode/ListMessageItem, GalleryData, ChatHistorySearchContainerNode, ChatPanelInterfaceInteraction, ChatControllerInteraction, ChatMessageStickerItemNode, ChatMessageReplyInfoNode, ChatMessageInstantVideoItemNode, ChatPresentationInterfaceState, BrowserMarkdown/Readability, MediaResources, LocalMediaResources, ICloudResources, FetchManager, ShareController, OpenChatMessage, GalleryController, GroupStickerSearchContainerNode, GroupStickerPackCurrentItem, ChatPinnedMessageTitlePanelNode, OverlayAudioPlayerController, PresentationThemeSettings, StatisticsUI/StoryIconNode, TextFormat/StringWithAppliedEntities, GalleryUI/VideoAdComponent, StickerPackPreviewUI, WallpaperPreviewMedia, WallpaperResources, YoutubeEmbedImplementation, InstantPageExternalMediaResource, PlatformRestrictionMatching, TelegramUIDeclareEncodables, ChatListNode/ChatListSearchContainerNode.
- Add `TelegramEngine` facades: `Themes.wallpapers`, `Themes.themes`, `AccountData.addAppLogEvent`.
- Add `EngineMessageHistoryEntryLocation` wrapper.
- Add `EngineRaw*` escape-hatch typealiases (`EngineRawMessage`, `EngineRawPeer`, `EngineRawMedia`, `EngineRawMediaResource`, `EngineRawMediaResourceData`, `EngineRawItemCollectionItem`, `EngineRawItemCollectionInfo`) and `engineDeclareEncodable` forwarder.
- Drop unused `account:`/`postbox:`/`network:` parameters from several public functions and delete the dead overloads/types/functions left over: `automaticThemeShouldSwitchNow`, `cancelFreeMediaFileInteractiveFetch`, `legacyEnqueueVideoMessage`, `TelegramMediaFileReference`, plus assorted dead public TelegramCore/AccountContext SecureId entry points.
- Delete entire dead modules: `LegacyDataImport`, `TonBinding`, `SpotlightSupport`, `SvgRendering`, third-party `AppCenter`/`VectorPlus`/`SwiftColor`/`SwiftSVG`.
- Drop orphan `//submodules/Postbox` BUILD deps across 3 cleanup rounds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 14:11:06 +02:00
Ilya Laktyushin
d63f704472 Move list checkbox to the right 2026-03-24 07:13:46 +01:00
Ilya Laktyushin
8098f24f4e Various improvements 2026-03-22 16:41:22 +01:00
Ilya Laktyushin
2a55559f82 Various fixes 2026-03-20 15:46:56 +01:00
Ilya Laktyushin
3a311f75bd Update API 2026-03-16 13:37:36 +01:00
Ilya Laktyushin
6bc1fe1939 Various improvements 2025-12-01 19:54:58 +04:00
Ilya Laktyushin
0915a42e64 Various improvements 2025-10-16 05:30:06 +04:00
Ilya Laktyushin
a60a437206 Various improvements 2025-08-22 21:46:07 +04:00
Ilya Laktyushin
0bac271cdb [WIP] Saved music 2025-08-21 09:08:35 +04:00
Isaac
a1de4e39b2 Fix stories in download list 2024-12-06 22:14:31 +08:00
Ilya Laktyushin
58c532b51e Various improvements 2023-01-21 15:56:57 +04:00
Ilya Laktyushin
2dd23729b5 Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2022-02-21 10:48:29 +03:00
Ilya Laktyushin
d811f5f160 Attachment menu improvements 2022-02-21 10:11:53 +03:00
Ali
20748909d1 Download list improvements 2022-02-15 23:40:44 +04:00
Ali
c8bc4b7f12 Initial downloads list implementation 2022-02-11 23:49:38 +04:00
Ali
fe82f7020e Shared media improvements 2021-10-19 22:14:00 +04:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ilya Laktyushin
8e22244eab Search filters fixes 2020-09-27 23:35:05 +04:00
Ilya Laktyushin
cefc01f28c Search filters improvements 2020-09-25 19:11:58 +03:00
Ilya Laktyushin
d59f695e6f Search filters improvements 2020-09-21 20:54:32 +03:00
Ilya Laktyushin
4aada91da5 Search filters improvements 2020-09-08 16:07:35 +03:00
Ilya Laktyushin
0041761cbb Search filters 2020-09-05 05:37:15 +03:00
Renamed from submodules/TelegramUI/Sources/ListMessageItem.swift (Browse further)