From 23eab63776a146a78b10e973518158fc07b13653 Mon Sep 17 00:00:00 2001 From: KernelDeimos Date: Mon, 30 Dec 2024 13:35:53 -0500 Subject: [PATCH] fix: app icon double-encode bug When getting a stream for an SVG icon from AppIconService with a previously-fetched stored icon provided, a double-encoding bug was preventing a valid image from being obtained. --- src/backend/src/modules/apps/AppIconService.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/src/modules/apps/AppIconService.js b/src/backend/src/modules/apps/AppIconService.js index 2aba379f2..ac410f832 100644 --- a/src/backend/src/modules/apps/AppIconService.js +++ b/src/backend/src/modules/apps/AppIconService.js @@ -98,7 +98,7 @@ class AppIconService extends BaseService { async get_icon_stream ({ app_icon, app_uid, size, tries = 0 }) { // If there is an icon provided, and it's an SVG, we'll just return it if ( app_icon ) { - const metadata = app_icon.split(',')[0]; + const [metadata, data] = app_icon.split(','); const input_mime = metadata.split(';')[0].split(':')[1]; // svg icons will be sent as-is @@ -106,7 +106,7 @@ class AppIconService extends BaseService { return { mime: 'image/svg+xml', get stream () { - return buffer_to_stream(Buffer.from(app_icon)); + return buffer_to_stream(Buffer.from(data, 'base64')); }, data_url: app_icon, }