Commit graph

53 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
53f023ea52 Postbox -> TelegramEngine wave 21: completedResourcePath facade + consumer sweep
Combined wave-19+wave-20 shape. Adds TelegramEngine.Resources.completedResourcePath(id:, pathExtension:)
facade and sweeps 29 consumer sites across 14 files in one atomic commit.

Shape A/B migrated. Shape C (5 sites with raw account: Account) and Shape D
(3 sites with local postbox: Postbox field) intentionally skipped — need
module-scoped init-signature rework rather than per-site sweep.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 03:19:30 +04:00
Ilya Laktyushin
8def1683b9 Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-02-21 13:45:36 +04:00
Isaac
9c4e390f0d Various improvements 2026-01-30 18:50:18 +08:00
Isaac
6ad2622b30 Various updates 2026-01-24 00:35:42 +08:00
Isaac
3797f3af4f Video improvements 2024-11-08 16:26:01 +01:00
Isaac
9e1dc11997 HLS video improvements 2024-10-05 20:14:59 +04:00
Ilya Laktyushin
b5b052ff7d Paid media improvements 2024-06-22 00:05:21 +04:00
Ilya Laktyushin
9323f91c56 Various fixes 2023-12-29 13:56:47 +04:00
Ali
a6e5098be0 Support the thread-quote special case 2023-10-25 17:59:55 +04:00
Ilya Laktyushin
dd704d1d9b Merge commit '8a29f6240f' into beta 2023-09-19 02:07:36 +04:00
Ali
3453137463 Various improvements 2023-09-15 21:12:01 +02:00
Ilya Laktyushin
4e0da9eaa4 Cherry-pick various improvements 2023-09-09 23:10:19 +04:00
Ilya Laktyushin
28dd60b887 Secret media improvements 2023-09-09 19:38:57 +04:00
Ilya Laktyushin
2364234f04 Various improvements 2023-09-08 21:58:28 +04:00
Ali
2005a3a18a Merge branch 'experimental-3'
# Conflicts:
#	Telegram/Telegram-iOS/en.lproj/Localizable.strings
#	submodules/ChatListUI/Sources/ChatListControllerNode.swift
#	submodules/ChatListUI/Sources/Node/ChatListNode.swift
#	submodules/ChatListUI/Sources/Node/ChatListStorageInfoItem.swift
#	submodules/GalleryUI/Sources/SecretMediaPreviewController.swift
#	submodules/JoinLinkPreviewUI/Sources/JoinLinkPreviewController.swift
#	submodules/LegacyComponents/Sources/TGMediaPickerGalleryInterfaceView.m
#	submodules/LegacyMediaPickerUI/Sources/LegacyICloudFilePicker.swift
#	submodules/LegacyMediaPickerUI/Sources/LegacyMediaPickers.swift
#	submodules/TelegramApi/Sources/Api0.swift
#	submodules/TelegramApi/Sources/Api21.swift
#	submodules/TelegramApi/Sources/Api31.swift
#	submodules/TelegramCore/Sources/State/AccountStateManagementUtils.swift
#	submodules/TelegramCore/Sources/State/Serialization.swift
#	submodules/TelegramCore/Sources/TelegramEngine/Messages/AttachMenuBots.swift
#	submodules/TelegramUI/BUILD
#	submodules/TelegramUI/Components/LegacyMessageInputPanel/Sources/LegacyMessageInputPanel.swift
#	submodules/TelegramUI/Components/MediaEditorScreen/Sources/MediaEditorScreen.swift
#	submodules/TelegramUI/Components/MessageInputPanelComponent/BUILD
#	submodules/TelegramUI/Components/MessageInputPanelComponent/Sources/MessageInputPanelComponent.swift
#	submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoContentComponent.swift
#	submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoScreen.swift
#	submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift
#	submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerViewSendMessage.swift
#	submodules/TelegramUI/Sources/AccountContext.swift
#	submodules/TelegramUI/Sources/ChatController.swift
#	submodules/TelegramUI/Sources/OpenResolvedUrl.swift
#	submodules/TelegramUI/Sources/PeerInfo/PeerInfoScreen.swift
#	submodules/TelegramUI/Sources/SharedAccountContext.swift
#	submodules/WebUI/Sources/WebAppTermsAlertController.swift
#	versions.json
2023-09-08 13:32:46 +04:00
Ilya Laktyushin
1113279e17 Various fixes 2023-09-07 18:59:52 +04:00
Ilya Laktyushin
6e76fa8bec Cherry-pick media timer and web app improvements 2023-09-07 17:45:41 +04:00
Ilya Laktyushin
83d58dc5dd Various fixes 2023-09-06 20:17:39 +04:00
Ilya Laktyushin
cdb156d253 Add view once tooltip 2023-09-06 16:20:45 +04:00
Ilya Laktyushin
0e68265f57 Various improvements 2023-09-05 19:39:15 +04:00
Ilya Laktyushin
266f9e5ad8 Various improvements 2023-09-05 16:56:48 +04:00
Ilya Laktyushin
24b671a53c Various improvements 2023-08-31 21:41:02 +04:00
Ilya Laktyushin
c4198047da Various fixes 2023-08-31 20:28:10 +04:00
Ilya Laktyushin
a690eb8033 Various fixes 2023-08-31 18:30:33 +04:00
Ali
893402dc95 Move to double duration 2023-06-06 12:07:32 +04:00
Ali
ebd414691c [WIP] Stories 2023-05-26 22:13:22 +04:00
Ali
93cb743468 Emoji improvements 2022-09-01 03:12:43 +04:00
Ali
ed59ead31e [WIP] Animated emoji 2022-07-08 19:53:20 +02:00
Ilya Laktyushin
7b0e7a47af Various improvements 2022-05-28 19:28:58 +04:00
Ali
24b4e1707b Shared media improvements 2021-11-02 21:27:03 +04:00
Ali
17c84b85a0 Native picture in picture support 2021-11-02 16:04:39 +04:00
Ali
b778c66226 Refactoring 2021-09-20 23:07:38 +03:00
Ali
6e5c503338 Refactoring 2021-09-20 14:51:46 +03:00
Ali
2d66131682 Refactoring 2021-08-04 01:30:57 +02:00
Ali
5ae11cecd2 Pre-release fixes 2021-07-27 00:49:16 +02:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ali
a836fe0442 Merge branch 'master' into experiments/string-generation 2021-07-21 18:49:41 +02:00
Ali
7bed1728bb Refactor string generation 2021-07-20 11:57:50 +02:00
Ali
10fd84b541 Don't loop secret videos 2021-07-19 15:54:29 +02:00
Ali
b4f35689f0 Refactoring 2021-07-08 02:35:51 +04:00
Ali
4893e41de2 Refactoring [skip ci] 2021-07-05 00:48:11 +04:00
Ali
918b069431 UI bug fixes 2021-05-15 01:20:26 +04:00
Ali
d26313f99a Animation experiment 2021-04-13 21:06:58 +04:00
Ali
a7c7dbfd02 Add a separate autoclear attribute 2021-02-12 14:19:08 +04:00
Ilya Laktyushin
f306171529 Various improvements 2020-11-04 21:12:12 +04:00
Ilya Laktyushin
df70d5d718 Various improvements 2020-06-19 00:33:54 +03:00
Ilya Laktyushin
eabcd258f1 Add media chapters UI 2020-04-30 17:04:59 +04:00
Ali
9073516dbd Move screenshot detection activation to a later stage 2020-01-22 00:16:42 +04:00
Peter
10692a323e Refactor SyncCore 2019-10-21 16:58:00 +04:00