From bfdf2ae403cc9d2445bf95b9be83e5e7bcb0f5a6 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 24 Jul 2026 16:54:19 +0400 Subject: [PATCH] Use self as host for rich editor media. Fixes #31034. --- Telegram/SourceFiles/iv/editor/iv_editor_session.cpp | 2 +- Telegram/SourceFiles/iv/iv_cached_media.cpp | 9 +-------- Telegram/SourceFiles/iv/iv_rich_message_serializer.cpp | 3 +++ 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Telegram/SourceFiles/iv/editor/iv_editor_session.cpp b/Telegram/SourceFiles/iv/editor/iv_editor_session.cpp index 5df81d3858..d28128416b 100644 --- a/Telegram/SourceFiles/iv/editor/iv_editor_session.cpp +++ b/Telegram/SourceFiles/iv/editor/iv_editor_session.cpp @@ -4049,7 +4049,7 @@ std::optional<::Data::Draft> ArticleSession::prepareRichDraftForAutosave() const _session, *richMessage, SerializeInputRichMessageMode::Draft); - if (serialized.status == SerializeInputRichMessageStatus::Failed) { + if (serialized.status != SerializeInputRichMessageStatus::Success) { return std::nullopt; } draft.richMessage = std::move(richMessage); diff --git a/Telegram/SourceFiles/iv/iv_cached_media.cpp b/Telegram/SourceFiles/iv/iv_cached_media.cpp index 1b6086c772..4f0012fbdb 100644 --- a/Telegram/SourceFiles/iv/iv_cached_media.cpp +++ b/Telegram/SourceFiles/iv/iv_cached_media.cpp @@ -1299,14 +1299,7 @@ auto CachedPageMediaRuntime::hostedMediaHost( } return _hostedMediaHost; } - if (!_session->data().peerLoaded(PeerData::kServiceNotificationsId)) { - return nullptr; - } - const auto history = _session->data().history( - PeerData::kServiceNotificationsId); - if (!history->peer->isUser()) { - return nullptr; - } + const auto history = _session->data().history(_session->user()); if (!_hostedMediaHost) { _hostedMediaHost = std::make_shared( diff --git a/Telegram/SourceFiles/iv/iv_rich_message_serializer.cpp b/Telegram/SourceFiles/iv/iv_rich_message_serializer.cpp index ce45324bc7..f75bd79cf6 100644 --- a/Telegram/SourceFiles/iv/iv_rich_message_serializer.cpp +++ b/Telegram/SourceFiles/iv/iv_rich_message_serializer.cpp @@ -1718,6 +1718,9 @@ SerializeInputRichMessageResult SerializeInputRichMessage( if (mode == SerializeInputRichMessageMode::FinalSubmit && !normalizedBlocks.hasRealContent) { return EmptySerializeInputRichMessage(); + } else if (mode == SerializeInputRichMessageMode::Draft + && blocks->isEmpty()) { + return EmptySerializeInputRichMessage(); } auto photos = QVector(); photos.reserve(context.photos.size());