@bobfrankston/rmfmail 1.1.160 → 1.1.162

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.
@@ -1474,7 +1474,8 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
1474
1474
  references: cm.references || [],
1475
1475
  accounts: [],
1476
1476
  draftUid: cm.uid,
1477
- draftFolderId: cm.folderId
1477
+ draftFolderId: cm.folderId,
1478
+ draftId: cm.mailxDraftId || ""
1478
1479
  };
1479
1480
  sessionStorage.setItem("composeInit", JSON.stringify(init));
1480
1481
  document.dispatchEvent(new CustomEvent("mailx-compose", { detail: { mode: "draft" } }));
@@ -3429,9 +3430,10 @@ var init_message_list = __esm({
3429
3430
  subject.prepend(threadPill);
3430
3431
  }
3431
3432
  if (msg.preview) {
3433
+ const cleaned = msg.preview.replace(/data:image\/[a-z0-9.+-]+;base64,[A-Za-z0-9+/=\s]+/gi, "[image]").replace(/[A-Za-z0-9+/=]{200,}/g, "[image]");
3432
3434
  const preview = document.createElement("span");
3433
3435
  preview.className = "ml-preview";
3434
- preview.textContent = ` \u2014 ${msg.preview}`;
3436
+ preview.textContent = ` \u2014 ${cleaned}`;
3435
3437
  subject.appendChild(preview);
3436
3438
  }
3437
3439
  const date = document.createElement("span");
@@ -9178,6 +9180,7 @@ viewBtn?.addEventListener("click", (e) => {
9178
9180
  if (restartDd) restartDd.hidden = true;
9179
9181
  restoreToolbarDropdown("view-dropdown", "view-menu");
9180
9182
  if (viewDropdown) viewDropdown.hidden = !viewDropdown.hidden;
9183
+ refreshToolbarOverlayShield();
9181
9184
  });
9182
9185
  document.addEventListener("pointerdown", (e) => {
9183
9186
  const target = e.target;
@@ -9189,7 +9192,35 @@ document.addEventListener("pointerdown", (e) => {
9189
9192
  if (settingsDropdown && !settingsDropdown.hidden && !target.closest("#settings-menu") && !target.closest("#settings-dropdown")) {
9190
9193
  settingsDropdown.hidden = true;
9191
9194
  }
9195
+ refreshToolbarOverlayShield();
9192
9196
  }, true);
9197
+ function refreshToolbarOverlayShield() {
9198
+ const dropdownOpen = ["settings-dropdown", "view-dropdown", "restart-dropdown"].some((id) => {
9199
+ const el = document.getElementById(id);
9200
+ return el && !el.hidden;
9201
+ });
9202
+ const hasOverlay = !!document.querySelector(".compose-overlay, .popout-overlay");
9203
+ let shield = document.getElementById("tb-overlay-shield");
9204
+ if (dropdownOpen && hasOverlay) {
9205
+ if (!shield) {
9206
+ shield = document.createElement("div");
9207
+ shield.id = "tb-overlay-shield";
9208
+ shield.style.cssText = "position:fixed;inset:0;z-index:1999;background:transparent;";
9209
+ shield.addEventListener("pointerdown", (ev) => {
9210
+ ev.preventDefault();
9211
+ ev.stopPropagation();
9212
+ for (const id of ["settings-dropdown", "view-dropdown", "restart-dropdown"]) {
9213
+ const dd = document.getElementById(id);
9214
+ if (dd) dd.hidden = true;
9215
+ }
9216
+ shield?.remove();
9217
+ });
9218
+ document.body.appendChild(shield);
9219
+ }
9220
+ } else if (shield) {
9221
+ shield.remove();
9222
+ }
9223
+ }
9193
9224
  document.addEventListener("keydown", (e) => {
9194
9225
  if (e.key !== "Escape") return;
9195
9226
  let closed = false;
@@ -9210,7 +9241,10 @@ document.addEventListener("keydown", (e) => {
9210
9241
  themeSub.hidden = true;
9211
9242
  closed = true;
9212
9243
  }
9213
- if (closed) e.preventDefault();
9244
+ if (closed) {
9245
+ e.preventDefault();
9246
+ refreshToolbarOverlayShield();
9247
+ }
9214
9248
  });
9215
9249
  var savedTwoLine = localStorage.getItem("mailx-two-line") === "true";
9216
9250
  var savedPreview = localStorage.getItem("mailx-preview") !== "false";
@@ -10082,6 +10116,7 @@ settingsBtn?.addEventListener("click", (e) => {
10082
10116
  if (restartDd) restartDd.hidden = true;
10083
10117
  restoreToolbarDropdown("settings-dropdown", "settings-menu");
10084
10118
  if (settingsDropdown) settingsDropdown.hidden = !settingsDropdown.hidden;
10119
+ refreshToolbarOverlayShield();
10085
10120
  });
10086
10121
  getSettings().then((s) => {
10087
10122
  const ed = s.ui?.editor || "quill";
@@ -10410,7 +10445,8 @@ document.addEventListener("mailx-popout-message", (async (e) => {
10410
10445
  references: msg.references || [],
10411
10446
  accounts: accts.map((a) => ({ id: a.id, name: a.name, email: a.email, signature: a.signature, sig: a.sig })),
10412
10447
  draftUid: msg.uid,
10413
- draftFolderId: msg.folderId
10448
+ draftFolderId: msg.folderId,
10449
+ draftId: msg.mailxDraftId || ""
10414
10450
  };
10415
10451
  sessionStorage.setItem("composeInit", JSON.stringify(init));
10416
10452
  showComposeOverlay(msg.subject ? `Edit: ${msg.subject}` : "Edit draft");