mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
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>
This commit is contained in:
parent
ef9c1def4e
commit
dce6a8bef7
7 changed files with 282 additions and 32 deletions
|
|
@ -8297,6 +8297,7 @@ Sorry for the inconvenience.";
|
|||
"Chat.EmptyTopicPlaceholder.Text" = "Send the first message to\nstart this topic.";
|
||||
|
||||
"Chat.Message.TopicAuthorBadge" = "Topic Author";
|
||||
"Chat.RichText.ShowMore" = "Show more";
|
||||
|
||||
"Chat.PanelRestartTopic" = "Restart Topic";
|
||||
"Chat.PanelTopicClosedText" = "The topic is closed by admin";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue