From b5a2b0fb98edfbda6e2855026f59e7e3fbedae87 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 22 Feb 2021 17:24:03 +0400 Subject: [PATCH] Detect file mime from content as well on Linux. --- Telegram/SourceFiles/data/data_document.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/data/data_document.cpp b/Telegram/SourceFiles/data/data_document.cpp index 6f0bcf47f..946a452a1 100644 --- a/Telegram/SourceFiles/data/data_document.cpp +++ b/Telegram/SourceFiles/data/data_document.cpp @@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "platform/platform_specific.h" #include "platform/platform_file_utilities.h" #include "base/platform/base_platform_info.h" +#include "base/platform/base_platform_file_utilities.h" #include "history/history.h" #include "history/history_item.h" #include "history/view/media/history_view_gif.h" @@ -1714,10 +1715,16 @@ bool IsIpRevealingName(const QString &filepath) { const auto list = joined.split(' '); return base::flat_set(list.begin(), list.end()); }(); + static const auto kMimeTypes = [] { + const auto joined = u"text/html image/svg+xml"_q; + const auto list = joined.split(' '); + return base::flat_set(list.begin(), list.end()); + }(); return ranges::binary_search( kExtensions, - FileExtension(filepath).toLower()); + FileExtension(filepath).toLower() + ) || base::Platform::IsNonExtensionMimeFrom(filepath, kMimeTypes); } base::binary_guard ReadImageAsync(