diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index c713d464a..fbc4aa1e2 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -3870,7 +3870,11 @@ void HistoryWidget::saveEditMsg() { auto sending = TextWithEntities(); const auto media = item->media(); - if (!TextUtilities::CutPart(sending, left, MaxMessageSize) + + const auto originalLeftSize = left.text.size(); + const auto maxCaptionSize = Data::PremiumLimits( + &session()).captionLengthCurrent(); + if (!TextUtilities::CutPart(sending, left, maxCaptionSize) && (webPageDraft.removed || webPageDraft.url.isEmpty() || !webPageDraft.manual) @@ -3880,7 +3884,7 @@ void HistoryWidget::saveEditMsg() { Box(item, suggestModerateActions)); return; } else if (!left.text.isEmpty()) { - const auto remove = left.text.size(); + const auto remove = originalLeftSize - maxCaptionSize; controller()->showToast( tr::lng_edit_limit_reached(tr::now, lt_count, remove)); return; diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index 25e174924..ef330f374 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -79,6 +79,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_changes.h" #include "data/data_shared_media.h" #include "data/data_send_action.h" +#include "data/data_premium_limits.h" #include "storage/storage_media_prepare.h" #include "storage/storage_shared_media.h" #include "storage/storage_account.h" @@ -1233,7 +1234,10 @@ void RepliesWidget::edit( auto sending = TextWithEntities(); auto left = _composeControls->prepareTextForEditMsg(); - if (!TextUtilities::CutPart(sending, left, MaxMessageSize) + const auto originalLeftSize = left.text.size(); + const auto maxCaptionSize = Data::PremiumLimits( + &session()).captionLengthCurrent(); + if (!TextUtilities::CutPart(sending, left, maxCaptionSize) && (!item || !item->media() || !item->media()->allowsEditCaption())) { @@ -1244,7 +1248,7 @@ void RepliesWidget::edit( } return; } else if (!left.text.isEmpty()) { - const auto remove = left.text.size(); + const auto remove = originalLeftSize - maxCaptionSize; controller()->showToast( tr::lng_edit_limit_reached(tr::now, lt_count, remove)); return; diff --git a/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp b/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp index 8c83ef478..581de48a5 100644 --- a/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp @@ -53,6 +53,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_user.h" #include "data/data_message_reactions.h" #include "data/data_peer_values.h" +#include "data/data_premium_limits.h" #include "storage/storage_media_prepare.h" #include "storage/storage_account.h" #include "storage/localimageloader.h" @@ -653,7 +654,10 @@ void ScheduledWidget::edit( auto sending = TextWithEntities(); auto left = _composeControls->prepareTextForEditMsg(); - if (!TextUtilities::CutPart(sending, left, MaxMessageSize) + const auto originalLeftSize = left.text.size(); + const auto maxCaptionSize = Data::PremiumLimits( + &session()).captionLengthCurrent(); + if (!TextUtilities::CutPart(sending, left, maxCaptionSize) && (!item || !item->media() || !item->media()->allowsEditCaption())) { @@ -664,7 +668,7 @@ void ScheduledWidget::edit( } return; } else if (!left.text.isEmpty()) { - const auto remove = left.text.size(); + const auto remove = originalLeftSize - maxCaptionSize; controller()->showToast( tr::lng_edit_limit_reached(tr::now, lt_count, remove)); return;