@bobfrankston/rmfmail 1.2.322 → 1.2.324

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 (35) hide show
  1. package/.commitmsg +21 -24
  2. package/.llm/trusted-lists.md +2 -0
  3. package/client/android-bootstrap.bundle.js +5 -2
  4. package/client/android-bootstrap.bundle.js.map +2 -2
  5. package/client/app.bundle.js +9 -4
  6. package/client/app.bundle.js.map +2 -2
  7. package/client/components/calendar-sidebar.js +14 -2
  8. package/client/components/calendar-sidebar.js.map +1 -1
  9. package/client/components/calendar-sidebar.ts +17 -2
  10. package/client/components/message-viewer.js +12 -2
  11. package/client/components/message-viewer.js.map +1 -1
  12. package/client/components/message-viewer.ts +13 -3
  13. package/docs/allowlist.md +1 -0
  14. package/npmchanges.md +50 -0
  15. package/package.json +7 -7
  16. package/packages/mailx-imap/package-lock.json +2 -2
  17. package/packages/mailx-imap/package.json +1 -1
  18. package/packages/mailx-service/index.d.ts.map +1 -1
  19. package/packages/mailx-service/index.js +8 -2
  20. package/packages/mailx-service/index.js.map +1 -1
  21. package/packages/mailx-service/index.ts +8 -2
  22. package/packages/mailx-service/package.json +1 -1
  23. package/packages/mailx-settings/docs/allowlist.md +1 -0
  24. package/packages/mailx-settings/package.json +1 -1
  25. package/packages/mailx-store/package.json +1 -1
  26. package/packages/mailx-store-web/package.json +1 -1
  27. package/packages/mailx-types/mailx-api.d.ts +1 -0
  28. package/packages/mailx-types/mailx-api.d.ts.map +1 -1
  29. package/packages/mailx-types/mailx-api.ts +1 -1
  30. package/packages/mailx-types/package.json +1 -1
  31. package/packages/mailx-types/trust.d.ts +4 -0
  32. package/packages/mailx-types/trust.d.ts.map +1 -1
  33. package/packages/mailx-types/trust.js +17 -1
  34. package/packages/mailx-types/trust.js.map +1 -1
  35. package/packages/mailx-types/trust.ts +20 -1
@@ -3231,10 +3231,11 @@ Delivered by the ${spam.listId} mailing list, which your server proved sent it.
3231
3231
  const warn = document.createElement("div");
3232
3232
  warn.className = `mv-trust mv-trust-${worst}`;
3233
3233
  warn.innerHTML = (head ? `<div class="mv-trust-head">${head}</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("") + (worst === "info" ? "" : `<div class="mv-trust-foot">Links and attachments here should not be opened.</div>`);
3234
- const spamOnly = trust.length === 1 && trust[0].id === "server-spam-verdict" && worst !== "danger";
3234
+ const trustClearable = worst !== "danger" && trust.every((f) => f.id === "server-spam-verdict" || f.id === "redirector-link");
3235
+ const senderProved = !!spam?.proved || trust.some((f) => !!f.sender);
3235
3236
  const fromAddr = (msg.from?.address || "").toLowerCase();
3236
3237
  const fromDomain = fromAddr.split("@")[1] || "";
3237
- if (spamOnly && spam?.proved && fromAddr) {
3238
+ if (trustClearable && senderProved && fromAddr) {
3238
3239
  const actions = document.createElement("div");
3239
3240
  actions.className = "mv-trust-actions";
3240
3241
  for (const [label, type, value] of [
@@ -6791,7 +6792,7 @@ async function renderCalendarList() {
6791
6792
  if (list.length === 0) {
6792
6793
  host.innerHTML = "";
6793
6794
  } else {
6794
- const sorted = [...list].sort((a, b) => (a.primary ? 0 : 1) - (b.primary ? 0 : 1) || a.name.localeCompare(b.name));
6795
+ const sorted = list.filter((c) => c.selected !== false).sort((a, b) => (a.primary ? 0 : 1) - (b.primary ? 0 : 1) || a.name.localeCompare(b.name));
6795
6796
  host.innerHTML = sorted.map((c) => `<label class="cal-side-cal-row" title="${escapeHtml6(c.name)} \u2014 untick to hide its events in this list. Which calendars are listed is set in Google Calendar: the ones selected there appear; use Refresh after changing it.">
6796
6797
  <input type="checkbox" class="cal-side-cal-check" data-cal-id="${escapeHtml6(c.id)}" ${hiddenCalendars.has(c.id) ? "" : "checked"}>
6797
6798
  ${calIconHtml(c)}
@@ -7245,7 +7246,11 @@ function openNewEventDialog() {
7245
7246
  opt.selected = true;
7246
7247
  calSelect.append(opt);
7247
7248
  }
7248
- calRow.hidden = writable.length < 2;
7249
+ calRow.hidden = false;
7250
+ calSelect.disabled = writable.length < 2;
7251
+ if (writable.length < 2) {
7252
+ calRow.title = writable.length ? `${writable[0].name} is the only calendar Google says you can add events to. The others are read-only (holidays, or shared without edit rights). To add or share a calendar, do that in Google Calendar and press Refresh.` : "Google reported no calendar you can add events to.";
7253
+ }
7249
7254
  };
7250
7255
  if (calendarList.length)
7251
7256
  fillCalendars(calendarList);