@bobfrankston/rmfmail 1.2.307 → 1.2.308
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/.commitmsg +23 -18
- package/client/android-bootstrap.bundle.js +45 -7
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +26 -1
- package/client/app.bundle.js.map +2 -2
- package/client/components/message-viewer.js +36 -0
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +35 -1
- package/client/compose/compose.bundle.js +1 -1
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/lib/api-client.js +1 -1
- package/client/lib/api-client.js.map +1 -1
- package/client/lib/api-client.ts +3 -3
- package/client/package.json +1 -1
- package/docs/allowlist.md +19 -1
- package/npmchanges.md +23 -0
- package/package.json +8 -5
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-service/index.d.ts +2 -1
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +4 -1
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +6 -3
- package/packages/mailx-service/package.json +1 -1
- package/packages/mailx-settings/docs/allowlist.md +19 -1
- package/packages/mailx-settings/docs/rules-design.md +43 -0
- package/packages/mailx-settings/index.d.ts +1 -0
- package/packages/mailx-settings/index.d.ts.map +1 -1
- package/packages/mailx-settings/index.js +4 -0
- package/packages/mailx-settings/index.js.map +1 -1
- package/packages/mailx-settings/index.ts +4 -0
- package/packages/mailx-settings/package.json +1 -1
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store/store.d.ts.map +1 -1
- package/packages/mailx-store/store.js +3 -0
- package/packages/mailx-store/store.js.map +1 -1
- package/packages/mailx-store/store.ts +3 -0
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-store-web/web-service.d.ts +2 -1
- package/packages/mailx-store-web/web-service.d.ts.map +1 -1
- package/packages/mailx-store-web/web-service.js +3 -1
- package/packages/mailx-store-web/web-service.js.map +1 -1
- package/packages/mailx-store-web/web-service.ts +5 -3
- package/packages/mailx-types/package.json +1 -1
- package/packages/mailx-types/trust.d.ts +17 -0
- package/packages/mailx-types/trust.d.ts.map +1 -1
- package/packages/mailx-types/trust.js +63 -2
- package/packages/mailx-types/trust.js.map +1 -1
- package/packages/mailx-types/trust.ts +80 -2
package/client/app.bundle.js
CHANGED
|
@@ -356,7 +356,7 @@ function trustSenderOrDomain(type, value) {
|
|
|
356
356
|
return ipc().trustSenderOrDomain?.(type, value) ?? Promise.resolve({ trusted: false });
|
|
357
357
|
}
|
|
358
358
|
function getAllowlist() {
|
|
359
|
-
return ipc().getAllowlist?.() ?? Promise.resolve({ senders: [], domains: [], recipients: [], flaggedSenders: [], flaggedDomains: [], trustedSenders: [], trustedDomains: [] });
|
|
359
|
+
return ipc().getAllowlist?.() ?? Promise.resolve({ senders: [], domains: [], recipients: [], flaggedSenders: [], flaggedDomains: [], trustedSenders: [], trustedDomains: [], trustedIntermediaries: [] });
|
|
360
360
|
}
|
|
361
361
|
function flagSenderOrDomain(type, value) {
|
|
362
362
|
return ipc().flagSenderOrDomain?.(type, value) ?? Promise.resolve({ flagged: false });
|
|
@@ -3202,6 +3202,31 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
|
|
|
3202
3202
|
}
|
|
3203
3203
|
warn.appendChild(actions);
|
|
3204
3204
|
}
|
|
3205
|
+
const vias = worst === "danger" ? [] : Array.from(new Set(trust.map((f) => f.via).filter(Boolean)));
|
|
3206
|
+
if (vias.length) {
|
|
3207
|
+
const actions = document.createElement("div");
|
|
3208
|
+
actions.className = "mv-trust-actions";
|
|
3209
|
+
for (const via of vias) {
|
|
3210
|
+
const b = document.createElement("button");
|
|
3211
|
+
b.className = "mv-trust-action";
|
|
3212
|
+
b.textContent = `Trust ${via} as an intermediary`;
|
|
3213
|
+
b.addEventListener("click", async () => {
|
|
3214
|
+
b.disabled = true;
|
|
3215
|
+
try {
|
|
3216
|
+
const res = await trustSenderOrDomain("intermediary", via);
|
|
3217
|
+
if (!res?.trusted)
|
|
3218
|
+
throw new Error("the intermediary list did not save");
|
|
3219
|
+
warn.remove();
|
|
3220
|
+
document.querySelector(".mv-spamscore")?.remove();
|
|
3221
|
+
} catch (e) {
|
|
3222
|
+
b.disabled = false;
|
|
3223
|
+
b.textContent = `Could not save: ${e?.message || e}`;
|
|
3224
|
+
}
|
|
3225
|
+
});
|
|
3226
|
+
actions.appendChild(b);
|
|
3227
|
+
}
|
|
3228
|
+
warn.appendChild(actions);
|
|
3229
|
+
}
|
|
3205
3230
|
bodyEl.appendChild(warn);
|
|
3206
3231
|
}
|
|
3207
3232
|
if (msg.hasRemoteContent) {
|