From 80dbd76d926c988a1da940c1d71a9c228db3e7f6 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 6 Aug 2025 15:11:43 +0400 Subject: [PATCH] enh: image compression in channels --- .../components/channel/MessageInput.svelte | 4 ++- .../components/chat/Settings/Interface.svelte | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/lib/components/channel/MessageInput.svelte b/src/lib/components/channel/MessageInput.svelte index 308f1e6bd1..bfaa255f05 100644 --- a/src/lib/components/channel/MessageInput.svelte +++ b/src/lib/components/channel/MessageInput.svelte @@ -327,7 +327,9 @@ let imageUrl = event.target.result; // Compress the image if settings or config require it - imageUrl = await compressImageHandler(imageUrl, $settings, $config); + if ($settings?.imageCompression && $settings?.imageCompressionInChannels) { + imageUrl = await compressImageHandler(imageUrl, $settings, $config); + } files = [ ...files, diff --git a/src/lib/components/chat/Settings/Interface.svelte b/src/lib/components/chat/Settings/Interface.svelte index a5278b75ec..b0c7b89ee6 100644 --- a/src/lib/components/chat/Settings/Interface.svelte +++ b/src/lib/components/chat/Settings/Interface.svelte @@ -62,6 +62,7 @@ width: '', height: '' }; + let imageCompressionInChannels = true; // chat export let stylizedPdfExport = true; @@ -164,6 +165,11 @@ saveSettings({ imageCompression }); }; + const toggleImageCompressionInChannels = async () => { + imageCompressionInChannels = !imageCompressionInChannels; + saveSettings({ imageCompressionInChannels }); + }; + const toggleChatFadeStreamingText = async () => { chatFadeStreamingText = !chatFadeStreamingText; saveSettings({ chatFadeStreamingText: chatFadeStreamingText }); @@ -375,6 +381,7 @@ imageCompression = $settings?.imageCompression ?? false; imageCompressionSize = $settings?.imageCompressionSize ?? { width: '', height: '' }; + imageCompressionInChannels = $settings?.imageCompressionInChannels ?? true; defaultModelId = $settings?.models?.at(0) ?? ''; if ($config?.default_models) { @@ -1369,6 +1376,29 @@ + +
+
+
+ {$i18n.t('Compress Images in Channels')} +
+ + +
+
{/if}