Commit graph

17 commits

Author SHA1 Message Date
isaac
f6da30da70 InstantPage V2: audio/music rendering, playback, and file-bubble styling
Render and play InstantPageBlock.audio in the InstantPage V2 renderer
(rich-data message bubbles + the rich send preview), where audio was
previously an inert grey placeholder.

- New InstantPageV2AudioContentNode replicates the standard music message
  bubble (ChatMessageInteractiveFileNode's music layout): a SemanticStatusNode
  control (album art via playerAlbumArt + play/pause) with a download/progress
  overlay, title + "duration · performer" lines, exact fonts/colors from
  theme.chat.message.{incoming|outgoing}. Tap is driven by a
  UITapGestureRecognizer (ASControl .touchUpInside is cancelled by the chat
  ListView's gesture system). V1's InstantPageAudioNode is unchanged.
- Playback runs on InstantPageMediaPlaylist with a discriminated, message-scoped
  InstantPageMediaPlaylistId (.instantPage / .richMessage) so concurrent
  rich-message audio bubbles don't collide; the big control's play/pause comes
  from filteredPlaylistState, the overlay's download/progress from
  messageMediaFileStatus, and fetch goes through the fetch manager.
- Rich-message audio fetches via a MessageReference (threaded through the V2
  render context) instead of the synthesized webpage; FetchedMediaResource's
  .message revalidation arm now also searches RichTextMessageAttribute instant
  pages, so a stale instant-page audio/image reference can recover. Corrected a
  dormant inverted InstantPagePlaylistLocation.isEqual.
- New .mediaAudio laid-out item + layout/reveal-cost arms; the audio block lays
  out full-width at the file node's music normHeight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 17:44:45 +02:00
Isaac
923587b0da [WIP] Dynamic video streaming 2024-09-18 01:04:29 +08:00
Ilya Laktyushin
3e448e833e Story covers 2024-07-19 17:43:17 +04:00
Ilya Laktyushin
4216ee3933 Various improvements 2024-07-13 18:13:58 +04:00
Ilya Laktyushin
f11c070862 [WIP] View-once audio messages 2023-12-29 04:50:22 +04:00
Ali
969724de40 [WIP] Stories 2023-05-23 23:53:43 +04:00
Ali
6a548e11a6 Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
Ilya Laktyushin
c10f020f0a Various improvements 2023-01-04 11:18:20 +04:00
Ali
cd6d2a3b9d Emoji improvents 2022-08-02 21:40:15 +04:00
Ilya Laktyushin
d2015f3375 Various Fixes 2021-11-21 18:11:11 +04:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ilya Laktyushin
2b40d37410 Fix voice chat recording thumbnails 2021-03-15 19:32:39 +04:00
Ilya Laktyushin
e93d279cc0 Voice Chat Fixes 2021-03-13 16:50:20 +04:00
Ali
87fc9c400a Fix media playback in instant view [skip ci[ 2020-06-15 01:01:54 +04:00
Peter
10692a323e Refactor SyncCore 2019-10-21 16:58:00 +04:00
Ilya Laktyushin
1bebfdaf53 Long audio playback improvements: 2x playback, position storing
Various UI fixes
2019-09-18 02:24:56 +03:00
Peter
f151d907d2 Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
Renamed from submodules/TelegramUI/TelegramUI/InstantPageMediaPlaylist.swift (Browse further)