Commit graph

10 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
Ali
6a548e11a6 Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ilya Laktyushin
eabcd258f1 Add media chapters UI 2020-04-30 17:04:59 +04:00
Ali
c1f4ab8b0e Merge branch 'beta' 2019-12-20 21:05:50 +04:00
Ali
8963691778 Initial support for gallery content transition rect 2019-12-20 20:25:15 +04:00
Ilya Laktyushin
4c5f504346 Localize Unknown Track/Artist strings 2019-12-04 17:38:43 +04:00
Peter
10692a323e Refactor SyncCore 2019-10-21 16:58:00 +04:00
Ilya Laktyushin
2596420e63 Media scrubbing improvements 2019-10-04 20:39:48 +03:00
Peter
f151d907d2 Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
Renamed from submodules/TelegramUI/TelegramUI/InstantPageAudioNode.swift (Browse further)