@bobfrankston/rmfmail 1.2.256 → 1.2.258
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/app.bundle.js +12 -1
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +14 -0
- package/client/app.js.map +1 -1
- package/client/app.ts +13 -0
- package/client/components/message-viewer.js +6 -1
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +7 -1
- package/client/compose/compose.bundle.js +8 -10
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/index.html +2 -1
- package/client/lib/rmf-tiny.js +14 -11
- package/client/package.json +1 -1
- package/package.json +3 -3
- package/packages/mailx-service/index.d.ts +51 -3
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +96 -30
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +116 -32
- package/packages/mailx-service/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-47236 → node_modules.npmglobalize-stash-37720}/.package-lock.json +0 -0
package/client/app.bundle.js
CHANGED
|
@@ -2722,10 +2722,12 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
|
|
|
2722
2722
|
const isFlagged = !!msg.isFlagged;
|
|
2723
2723
|
const reputation = msg.reputation;
|
|
2724
2724
|
const reputationFlagged = !!(reputation && reputation.flagged);
|
|
2725
|
+
const reputationBlind = (reputation?.unavailable || []).map((u) => `${u.service}: ${u.reason}`).join("\n");
|
|
2725
2726
|
const reputationText = reputationFlagged ? `\u26A0 ${reputation.listedCount} of ${reputation.checkedCount} reputation services flag <strong>${escapeText(senderDomain)}</strong> as <strong>${escapeText(reputation.verdict)}</strong> (${escapeText(reputation.sources.map((s) => s.service).join(", "))})` : "";
|
|
2726
2727
|
const banner = document.createElement("div");
|
|
2727
2728
|
banner.className = "mv-remote-banner" + (isFlagged ? " mv-remote-banner-flagged" : "") + (reputationFlagged ? " mv-remote-banner-reputation" : "");
|
|
2728
|
-
banner.innerHTML = (isFlagged ? `<div class="mv-rb-flagged">\u26A0 Sender on your watch list (you marked this sender or domain suspicious)</div>` : "") + (reputationFlagged ? `<div class="mv-rb-reputation"
|
|
2729
|
+
banner.innerHTML = (isFlagged ? `<div class="mv-rb-flagged">\u26A0 Sender on your watch list (you marked this sender or domain suspicious)</div>` : "") + (reputationFlagged ? `<div class="mv-rb-reputation"${reputationBlind ? ` title="Could not be checked \u2014
|
|
2730
|
+
${escapeText(reputationBlind)}"` : ""}>${reputationText}</div>` : "") + `<div class="mv-rb-summary"><span class="mv-rb-toggle">▸</span><span>Remote content blocked</span><span class="mv-rb-buttons"><button id="btn-load-remote">Load once</button><button id="btn-allow-sender" title="${escapeText(senderAddr)}">Always: ${escapeText(senderAddr)}</button>` + (senderDomain ? `<button id="btn-allow-domain" title="*@${escapeText(senderDomain)}">Always: *@${escapeText(senderDomain)}</button>` : "") + `</span></div><div class="mv-rb-details" hidden><div class="mv-rb-info"><div><span class="mv-rb-label">From:</span> ${escapeText(senderName ? `${senderName} <${senderAddr}>` : senderAddr)}</div>` + (deliveredTo ? `<div><span class="mv-rb-label">Delivered-To:</span> ${escapeText(deliveredTo)}</div>` : "") + (toAddr && toAddr !== deliveredTo ? `<div><span class="mv-rb-label">To:</span> ${escapeText(toAddr)}</div>` : "") + (returnPath && returnPath !== senderAddr ? `<div><span class="mv-rb-label">Return-Path:</span> ${escapeText(returnPath)}</div>` : "") + `</div>` + (deliveredTo || toAddr ? `<div class="mv-rb-actions"><button id="btn-allow-to">Always allow to: ${escapeText(deliveredTo || toAddr)}</button></div>` : "") + `<div class="mv-rb-actions"><button id="btn-flag-sender" class="mv-rb-flag-btn" title="${escapeText(senderAddr)}">${isFlagged ? "Unwatch" : "Watch (mark suspicious)"} sender</button>` + (senderDomain ? `<button id="btn-flag-domain" class="mv-rb-flag-btn" title="*@${escapeText(senderDomain)}">Watch domain *@${escapeText(senderDomain)}</button>` : "") + `</div><div class="mv-rb-actions"><button id="btn-edit-allowlist" title="View / edit the full allowlist">Edit allowlist\u2026</button></div></div>`;
|
|
2729
2731
|
bodyEl.appendChild(banner);
|
|
2730
2732
|
const summary = banner.querySelector(".mv-rb-summary");
|
|
2731
2733
|
const details = banner.querySelector(".mv-rb-details");
|
|
@@ -13208,8 +13210,10 @@ optAiProofread?.addEventListener("change", () => {
|
|
|
13208
13210
|
}
|
|
13209
13211
|
});
|
|
13210
13212
|
var optCheckReputation = document.getElementById("opt-check-reputation");
|
|
13213
|
+
var optSpamhausDqs = document.getElementById("opt-spamhaus-dqs");
|
|
13211
13214
|
getSettings().then((s) => {
|
|
13212
13215
|
if (optCheckReputation) optCheckReputation.checked = !!s.checkDomainReputation;
|
|
13216
|
+
if (optSpamhausDqs) optSpamhausDqs.value = s.spamhausDqsKey || "";
|
|
13213
13217
|
}).catch(() => {
|
|
13214
13218
|
});
|
|
13215
13219
|
optCheckReputation?.addEventListener("change", () => {
|
|
@@ -13219,6 +13223,13 @@ optCheckReputation?.addEventListener("change", () => {
|
|
|
13219
13223
|
}).catch(() => {
|
|
13220
13224
|
});
|
|
13221
13225
|
});
|
|
13226
|
+
optSpamhausDqs?.addEventListener("change", () => {
|
|
13227
|
+
getSettings().then((settings) => {
|
|
13228
|
+
settings.spamhausDqsKey = optSpamhausDqs.value.trim();
|
|
13229
|
+
saveSettings(settings);
|
|
13230
|
+
}).catch(() => {
|
|
13231
|
+
});
|
|
13232
|
+
});
|
|
13222
13233
|
var optAutomarkRead = document.getElementById("opt-automark-read");
|
|
13223
13234
|
var optAutomarkDelay = document.getElementById("opt-automark-delay");
|
|
13224
13235
|
try {
|