Commit graph

13 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
Ilya Laktyushin
5978a5278d Local instant view 2024-08-29 11:44:05 +04:00
Ali
6a548e11a6 Refactoring [skip ci] 2023-04-19 23:47:38 +04:00
Ilya Laktyushin
6a3f3cf8c1 Make instant view classes public for browser ui integration 2023-03-17 23:56:15 +04:00
Ali
614c74b0b0 [WIP] Modern cache 2022-12-17 00:17:31 +04:00
Ali
62697d4ffb [WIP] Topics 2022-10-04 18:19:39 +04:00
Ali
1a04fb4408 Refactor SyncCore back into TelegramCore 2021-07-21 21:43:20 +02:00
Ali
251133d3f4 Fix instant view pinch to zoom 2021-04-10 01:28:39 +04:00
Ali
9a1cdb0813 Pinch 2021-04-06 19:02:23 +04:00
Ali
2e81229d8a Use source peer's autodownload settings in instant view 2020-01-03 16:06:29 +04:00
Peter
10692a323e Refactor SyncCore 2019-10-21 16:58:00 +04:00
Peter
284db5aba8 Use peer name localization 2019-10-11 16:05:35 +04:00
Peter
f151d907d2 Refactor InstantPageUI and related modules 2019-08-12 21:15:45 +03:00
Renamed from submodules/TelegramUI/TelegramUI/InstantPageAudioItem.swift (Browse further)