@bobfrankston/rmfmail 1.2.279 → 1.2.281

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.
Files changed (38) hide show
  1. package/.commitmsg +63 -16
  2. package/client/android-bootstrap.bundle.js +145 -0
  3. package/client/android-bootstrap.bundle.js.map +3 -3
  4. package/client/app.bundle.js +37 -2
  5. package/client/app.bundle.js.map +3 -3
  6. package/client/app.js +33 -1
  7. package/client/app.js.map +1 -1
  8. package/client/app.ts +30 -1
  9. package/client/components/message-viewer.js +27 -1
  10. package/client/components/message-viewer.js.map +1 -1
  11. package/client/components/message-viewer.ts +29 -1
  12. package/client/styles/components.css +46 -0
  13. package/npmchanges.md +41 -0
  14. package/package.json +1 -1
  15. package/packages/mailx-imap/package-lock.json +2 -2
  16. package/packages/mailx-imap/package.json +1 -1
  17. package/packages/mailx-settings/docs/editor.md +29 -3
  18. package/packages/mailx-settings/docs/preferences.md +2 -1
  19. package/packages/mailx-settings/package.json +1 -1
  20. package/packages/mailx-store/package.json +1 -1
  21. package/packages/mailx-store/store.d.ts +4 -0
  22. package/packages/mailx-store/store.d.ts.map +1 -1
  23. package/packages/mailx-store/store.js +18 -1
  24. package/packages/mailx-store/store.js.map +1 -1
  25. package/packages/mailx-store/store.ts +22 -1
  26. package/packages/mailx-store-web/package.json +1 -1
  27. package/packages/mailx-types/index.d.ts +2 -0
  28. package/packages/mailx-types/index.d.ts.map +1 -1
  29. package/packages/mailx-types/index.js +18 -0
  30. package/packages/mailx-types/index.js.map +1 -1
  31. package/packages/mailx-types/index.ts +20 -0
  32. package/packages/mailx-types/package.json +1 -1
  33. package/packages/mailx-types/trust.d.ts +66 -0
  34. package/packages/mailx-types/trust.d.ts.map +1 -0
  35. package/packages/mailx-types/trust.js +228 -0
  36. package/packages/mailx-types/trust.js.map +1 -0
  37. package/packages/mailx-types/trust.ts +239 -0
  38. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-63412 → node_modules.npmglobalize-stash-65528}/.package-lock.json +0 -0
@@ -1376,6 +1376,13 @@ var init_contact_rules = __esm({
1376
1376
  }
1377
1377
  });
1378
1378
 
1379
+ // packages/mailx-types/trust.js
1380
+ var init_trust = __esm({
1381
+ "packages/mailx-types/trust.js"() {
1382
+ "use strict";
1383
+ }
1384
+ });
1385
+
1379
1386
  // packages/mailx-types/contacts-config.js
1380
1387
  var init_contacts_config = __esm({
1381
1388
  "packages/mailx-types/contacts-config.js"() {
@@ -1477,6 +1484,7 @@ var init_mailx_types = __esm({
1477
1484
  "packages/mailx-types/index.js"() {
1478
1485
  "use strict";
1479
1486
  init_contact_rules();
1487
+ init_trust();
1480
1488
  init_contacts_config();
1481
1489
  init_groups();
1482
1490
  init_reminder_state();
@@ -3099,6 +3107,14 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
3099
3107
  });
3100
3108
  }
3101
3109
  bodyEl.innerHTML = "";
3110
+ const trust = msg.trust || [];
3111
+ if (trust.length) {
3112
+ const worst = trust.some((f) => f.severity === "danger") ? "danger" : "caution";
3113
+ const warn = document.createElement("div");
3114
+ warn.className = `mv-trust mv-trust-${worst}`;
3115
+ warn.innerHTML = `<div class="mv-trust-head">${worst === "danger" ? "This message is not what it says it is" : "Check this message before acting on it"}</div>` + trust.map((f) => `<div class="mv-trust-item mv-trust-${escapeText(f.severity)}"><div class="mv-trust-text">${escapeText(f.text)}</div><div class="mv-trust-detail">${escapeText(f.detail)}</div></div>`).join("") + `<div class="mv-trust-foot">Links and attachments here should not be opened.</div>`;
3116
+ bodyEl.appendChild(warn);
3117
+ }
3102
3118
  if (msg.hasRemoteContent) {
3103
3119
  const senderAddr = msg.from?.address || "";
3104
3120
  const senderName = msg.from?.name || "";
@@ -13315,9 +13331,27 @@ async function openAboutDialog() {
13315
13331
  if (e.target === backdrop) close();
13316
13332
  });
13317
13333
  try {
13318
- const [v, accounts] = await Promise.all([
13334
+ const editorBundle = async () => {
13335
+ const readJson = async (url) => {
13336
+ try {
13337
+ const r = await fetch(url);
13338
+ return r.ok ? await r.json() : null;
13339
+ } catch {
13340
+ return null;
13341
+ }
13342
+ };
13343
+ const [pkg, langs] = await Promise.all([
13344
+ readJson("lib/tinymce/package.json"),
13345
+ readJson("lib/tinymce/langs/index.json")
13346
+ ]);
13347
+ if (!pkg?.version) return "";
13348
+ const n = langs?.length || 0;
13349
+ return n ? `TinyMCE ${pkg.version} \xB7 ${n} languages` : `TinyMCE ${pkg.version}`;
13350
+ };
13351
+ const [v, accounts, editorInfo] = await Promise.all([
13319
13352
  getVersion().catch(() => ({})),
13320
- getAccounts().catch(() => [])
13353
+ getAccounts().catch(() => []),
13354
+ editorBundle()
13321
13355
  ]);
13322
13356
  const storage = v.storage || {};
13323
13357
  const isApp2 = typeof mailxapi !== "undefined" && mailxapi?.isApp;
@@ -13336,6 +13370,7 @@ async function openAboutDialog() {
13336
13370
  if (storage.folderId) rows.push(["Drive folderId", storage.folderId]);
13337
13371
  if (storage.folderOwner) rows.push(["Drive owner", storage.folderOwner]);
13338
13372
  if (storage.configDir) rows.push(["Config dir", storage.configDir]);
13373
+ if (editorInfo) rows.push(["Editor bundle", editorInfo]);
13339
13374
  rows.push(["Accounts", String((accounts || []).length)]);
13340
13375
  rows.push(["User agent", navigator.userAgent]);
13341
13376
  rows.push(["Screen", `${screen.width}\xD7${screen.height}`]);