Files
Telegram-iOS/submodules/TelegramUI/Components
isaacisaacClaude Opus 4.8
dce6a8bef7 Rich messages: "Show more" to load the full page for partial InstantPages
Server-sent rich messages can arrive partial (RichMessage isPartial ->
instantPage.isComplete == false). The bubble renders the partial page with
an inline "Show more" link; tapping it fetches the full page once and
expands in place.

- RichTextMessageAttribute keeps the partial instantPage and gains an
  optional fullInstantPage, filled by engine.messages.requestFullRichText
  via transaction.updateMessage. The seed-config merge preserves a fetched
  fullInstantPage across later server updates.
- ChatMessageRichDataBubbleContentNode: node-local, per-message expand
  state (collapsed on every fresh display, even when fullInstantPage is
  already cached); renders (expanded ? fullInstantPage : nil) ?? instantPage;
  gates the link on !expanded && !isComplete (+ not streaming, Cloud-only,
  not preview/messageOptions); expand state threaded through both layout
  caches; shimmer while fetching (instant when cached); bubble grows
  downward on expand via setInvertOffsetDirection.
- New localized string Chat.RichText.ShowMore; docs in
  docs/instantpage-richtext.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 20:18:15 +02:00
..
2026-05-31 17:35:32 +02:00
2026-05-28 16:50:05 +02:00
2025-12-26 20:29:30 +08:00
2026-04-07 11:31:22 +02:00
2026-04-14 15:33:19 +02:00
2026-02-02 15:54:43 +04:00
2025-11-26 23:05:30 +08:00
2025-09-12 10:54:22 +02:00
2026-05-28 16:50:05 +02:00
2026-05-20 00:30:43 +08:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-31 17:35:32 +02:00
2026-01-25 22:17:49 +04:00
2026-05-31 17:35:32 +02:00
2026-03-11 18:51:44 +01:00
2026-06-02 13:31:23 +02:00
2026-05-28 16:50:05 +02:00
2026-03-24 22:51:44 +08:00
2026-03-28 00:52:16 +08:00
2026-04-07 11:31:22 +02:00
2026-04-07 11:31:22 +02:00
2026-01-25 22:17:49 +04:00
2026-02-03 20:17:44 +08:00
2026-05-27 19:05:44 +02:00
2025-09-09 20:39:17 +04:00
2026-04-07 11:31:22 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 17:23:58 +02:00
2026-05-28 16:50:05 +02:00
2025-12-01 22:13:33 +08:00
2026-05-20 00:33:32 +08:00
2026-03-22 05:17:29 +03:00
2026-02-27 14:34:18 +04:00
2026-01-25 22:17:49 +04:00
2025-08-21 09:08:35 +04:00
2026-05-05 14:57:06 +02:00
2026-05-28 16:50:05 +02:00
2026-03-10 19:33:45 +01:00
2026-01-25 00:31:18 +08:00
2026-04-15 23:12:53 +02:00
2026-05-28 16:50:05 +02:00
2026-04-07 11:31:22 +02:00
2026-05-28 16:50:05 +02:00
2026-05-31 17:35:32 +02:00
2026-06-02 13:31:23 +02:00
2026-06-04 01:44:36 +02:00
2025-11-07 22:54:56 +08:00
2026-04-24 04:55:22 +02:00
2026-03-30 02:55:35 +02:00
2026-04-16 01:18:22 +02:00
2026-05-28 16:50:05 +02:00
2026-01-25 00:31:18 +08:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-05-28 16:50:05 +02:00
2026-01-16 21:23:32 +08:00
2026-02-13 12:23:53 +04:00
2026-05-31 17:35:32 +02:00
2025-10-28 15:44:44 +04:00
2026-05-31 17:35:32 +02:00
WIP
2026-05-20 00:34:25 +08:00
2026-05-31 17:35:32 +02:00
2025-12-28 22:39:34 +08:00
2025-07-18 16:10:54 +02:00
2025-12-16 20:05:44 +04:00
2026-05-31 17:35:32 +02:00
2026-03-22 05:17:29 +03:00
2026-05-28 16:50:05 +02:00
2026-03-22 05:17:29 +03:00
2026-04-14 15:33:19 +02:00
2026-02-13 17:08:48 +04:00
2026-03-03 20:26:45 +04:00