diff --git a/dev/Common/Html.js b/dev/Common/Html.js
index 0be300ec9..dce7c9e53 100644
--- a/dev/Common/Html.js
+++ b/dev/Common/Html.js
@@ -257,6 +257,15 @@ export const
rightmargin: (value, node) => node.style.marginRight = pInt(value) + 'px'
},
allowedAttributes = [
+ // SnappyMail
+// 'data-x-href-broken',
+// 'data-x-href-tracking',
+ 'data-x-src',
+// 'data-x-src-hidden',
+// 'data-x-src-tracking',
+// 'data-x-src-broken',
+// 'data-x-style-url',
+// 'data-x-style-broken-urls',
// defaults
'name',
'dir', 'lang', 'style', 'title',
@@ -493,12 +502,12 @@ export const
let attachment;
if (value.startsWith('cid:'))
{
+ setAttribute('data-x-src', value);
value = value.slice(4);
- setAttribute('data-x-src-cid', value);
attachment = findAttachmentByCid(value);
if (attachment?.download) {
oElement.src = attachment.linkPreview();
- oElement.title += ' ('+attachment.fileName+')';
+// oElement.title || (oElement.title = '+attachment.fileName);
attachment.isInline(true);
attachment.isLinked(true);
}
diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js
index a30e3eb99..d6eca1bac 100644
--- a/dev/View/Popup/Compose.js
+++ b/dev/View/Popup/Compose.js
@@ -970,7 +970,7 @@ export class ComposePopupView extends AbstractViewPopup {
// https://github.com/the-djmaze/snappymail/issues/491
tpl.innerHTML = oLastMessage.bodyAsHTML();
tpl.content.querySelectorAll('img').forEach(img => {
- img.src || img.dataset.xSrcCid || img.dataset.xSrc || img.replaceWith(img.alt || img.title)
+ img.src || img.dataset.xSrc || img.replaceWith(img.alt || img.title)
});
sText = tpl.innerHTML.trim();
@@ -1514,6 +1514,15 @@ export class ComposePopupView extends AbstractViewPopup {
isHtml = this.oEditor.isHtml();
if (isHtml) {
+ tpl.innerHTML = Text;
+ tpl.content.querySelectorAll('img').forEach(img => {
+ if (img.dataset.xSrc) {
+ img.src = img.dataset.xSrc;
+ img.removeAttribute('data-x-src')
+ }
+ });
+ Text = tpl.innerHTML.trim();
+
do {
l = Text.length;
Text = Text