From 4db885d8b4024046fb94a7a837180bfae4a2155d Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 31 Mar 2024 16:46:05 +0300 Subject: [PATCH] Replaced exported data of callbacks from markup replies with base64. --- .../export/output/export_output_json.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/export/output/export_output_json.cpp b/Telegram/SourceFiles/export/output/export_output_json.cpp index 5bd7f2c37..ed50aa5c8 100644 --- a/Telegram/SourceFiles/export/output/export_output_json.cpp +++ b/Telegram/SourceFiles/export/output/export_output_json.cpp @@ -804,7 +804,22 @@ QByteArray SerializeMessage( }); } if (!entry.data.isEmpty()) { - pairs.push_back({ "data", SerializeString(entry.data) }); + using Type = HistoryMessageMarkupButton::Type; + const auto isCallback = (entry.type == Type::Callback) + || (entry.type == Type::CallbackWithPassword); + const auto data = isCallback + ? entry.data.toBase64(QByteArray::Base64UrlEncoding + | QByteArray::OmitTrailingEquals) + : entry.data; + if (isCallback) { + pairs.push_back({ + "dataBase64", + SerializeString(data), + }); + pairs.push_back({ "data", SerializeString({}) }); + } else { + pairs.push_back({ "data", SerializeString(data) }); + } } if (!entry.forwardText.isEmpty()) { pairs.push_back({