@bobfrankston/rmfmail 1.2.320 → 1.2.322
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 +25 -12
- package/.llm/trusted-lists.md +3 -0
- package/client/android-bootstrap.bundle.js +35 -9
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +27 -1
- package/client/app.bundle.js.map +2 -2
- package/client/components/message-viewer.js +33 -0
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +32 -1
- package/client/compose/compose.bundle.js +3 -2
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/compose/compose.js +8 -1
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +8 -1
- 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/docs/allowlist.md +15 -1
- package/npmchanges.md +30 -0
- package/package.json +3 -3
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-service/index.d.ts +1 -0
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +1 -0
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +2 -1
- package/packages/mailx-service/package.json +1 -1
- package/packages/mailx-settings/docs/allowlist.md +15 -1
- 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 +2 -0
- package/packages/mailx-store/store.js.map +1 -1
- package/packages/mailx-store/store.ts +2 -0
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-store-web/web-service.d.ts +1 -0
- package/packages/mailx-store-web/web-service.d.ts.map +1 -1
- package/packages/mailx-store-web/web-service.js +1 -0
- package/packages/mailx-store-web/web-service.js.map +1 -1
- package/packages/mailx-store-web/web-service.ts +2 -1
- package/packages/mailx-store-web/web-settings.d.ts +1 -0
- package/packages/mailx-store-web/web-settings.d.ts.map +1 -1
- package/packages/mailx-store-web/web-settings.js +1 -0
- package/packages/mailx-store-web/web-settings.js.map +1 -1
- package/packages/mailx-store-web/web-settings.ts +1 -0
- package/packages/mailx-types/package.json +1 -1
- package/packages/mailx-types/trust.d.ts +18 -0
- package/packages/mailx-types/trust.d.ts.map +1 -1
- package/packages/mailx-types/trust.js +42 -4
- package/packages/mailx-types/trust.js.map +1 -1
- package/packages/mailx-types/trust.ts +60 -4
package/client/app.bundle.js
CHANGED
|
@@ -360,7 +360,7 @@ function trustSenderOrDomain(type, value) {
|
|
|
360
360
|
return ipc().trustSenderOrDomain?.(type, value) ?? Promise.resolve({ trusted: false });
|
|
361
361
|
}
|
|
362
362
|
function getAllowlist() {
|
|
363
|
-
return ipc().getAllowlist?.() ?? Promise.resolve({ senders: [], domains: [], recipients: [], flaggedSenders: [], flaggedDomains: [], trustedSenders: [], trustedDomains: [], trustedIntermediaries: [], trustedLists: [] });
|
|
363
|
+
return ipc().getAllowlist?.() ?? Promise.resolve({ senders: [], domains: [], recipients: [], flaggedSenders: [], flaggedDomains: [], trustedSenders: [], trustedDomains: [], trustedIntermediaries: [], trustedLists: [], trustedSendersVia: [] });
|
|
364
364
|
}
|
|
365
365
|
function flagSenderOrDomain(type, value) {
|
|
366
366
|
return ipc().flagSenderOrDomain?.(type, value) ?? Promise.resolve({ flagged: false });
|
|
@@ -3295,6 +3295,32 @@ Delivered by the ${spam.listId} mailing list, which your server proved sent it.
|
|
|
3295
3295
|
}
|
|
3296
3296
|
warn.appendChild(actions);
|
|
3297
3297
|
}
|
|
3298
|
+
const senderVias = worst === "danger" ? [] : Array.from(new Set(trust.map((f) => f.senderVia).filter(Boolean)));
|
|
3299
|
+
if (senderVias.length) {
|
|
3300
|
+
const actions = document.createElement("div");
|
|
3301
|
+
actions.className = "mv-trust-actions";
|
|
3302
|
+
for (const pair of senderVias) {
|
|
3303
|
+
const b = document.createElement("button");
|
|
3304
|
+
b.className = "mv-trust-action";
|
|
3305
|
+
b.textContent = `Trust ${pair}`;
|
|
3306
|
+
b.title = `Adds "${pair}" to trustedSendersVia in allowlist.jsonc. Stops this note for mail from ${pair.split(" via ")[0]} that ${pair.split(" via ")[1]} signs; a message without that signature is still checked.`;
|
|
3307
|
+
b.addEventListener("click", async () => {
|
|
3308
|
+
b.disabled = true;
|
|
3309
|
+
try {
|
|
3310
|
+
const res = await trustSenderOrDomain("via", pair);
|
|
3311
|
+
if (!res?.trusted)
|
|
3312
|
+
throw new Error("the sender-via list did not save");
|
|
3313
|
+
warn.remove();
|
|
3314
|
+
document.querySelector(".mv-spamscore")?.remove();
|
|
3315
|
+
} catch (e) {
|
|
3316
|
+
b.disabled = false;
|
|
3317
|
+
b.textContent = `Could not save: ${e?.message || e}`;
|
|
3318
|
+
}
|
|
3319
|
+
});
|
|
3320
|
+
actions.appendChild(b);
|
|
3321
|
+
}
|
|
3322
|
+
warn.appendChild(actions);
|
|
3323
|
+
}
|
|
3298
3324
|
const vias = worst === "danger" ? [] : Array.from(new Set(trust.map((f) => f.via).filter(Boolean)));
|
|
3299
3325
|
if (vias.length) {
|
|
3300
3326
|
const actions = document.createElement("div");
|