From 2ac49fb9a580b372a6ca243cb67e1df13291b69a Mon Sep 17 00:00:00 2001 From: JC Brand Date: Thu, 17 Jun 2021 12:45:22 +0200 Subject: [PATCH] Bugfix. Images being rendered when they shouldn't --- src/plugins/chatview/tests/message-images.js | 16 ++++++++++++++++ src/utils/html.js | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/chatview/tests/message-images.js b/src/plugins/chatview/tests/message-images.js index d997a22c0..5d0a59af3 100644 --- a/src/plugins/chatview/tests/message-images.js +++ b/src/plugins/chatview/tests/message-images.js @@ -52,6 +52,22 @@ describe("A Chat Message", function () { done(); })); + it("will not render images if show_images_inline is false", + mock.initConverse(['chatBoxesFetched'], {'show_images_inline': false}, async function (done, _converse) { + await mock.waitForRoster(_converse, 'current'); + const base_url = 'https://conversejs.org'; + const message = base_url+"/logo/conversejs-filled.svg"; + + const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@montague.lit'; + await mock.openChatBoxFor(_converse, contact_jid); + const view = _converse.chatboxviews.get(contact_jid); + await mock.sendMessage(view, message); + const sel = '.chat-content .chat-msg:last .chat-msg__text'; + await u.waitUntil(() => sizzle(sel).pop().innerHTML.replace(//g, '').trim() === message); + expect(true).toBe(true); + done(); + })); + it("will render images from approved URLs only", mock.initConverse( ['chatBoxesFetched'], {'show_images_inline': ['conversejs.org']}, diff --git a/src/utils/html.js b/src/utils/html.js index f4e914f3b..83ede781b 100644 --- a/src/utils/html.js +++ b/src/utils/html.js @@ -90,14 +90,14 @@ u.isImageURL = url => { u.isImageDomainAllowed = url => { const show_images_inline = api.settings.get('show_images_inline'); if (!Array.isArray(show_images_inline)) { - return true; + return show_images_inline; } try { const image_domain = getURI(url).domain(); return show_images_inline.includes(image_domain); } catch (error) { log.debug(error); - return true; + return false; } }