@bobfrankston/rmfmail 1.1.237 → 1.1.239

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.
@@ -2699,20 +2699,14 @@ function showSuggestionsMenu2(parentDoc, x, y, items) {
2699
2699
  }, 0);
2700
2700
  }
2701
2701
  function replaceMarker(editor2, marker, replacement) {
2702
- const doc = editor2.getDoc();
2703
- const range = doc.createRange();
2704
- range.selectNode(marker);
2705
- const sel = doc.getSelection();
2706
- if (!sel)
2707
- return;
2708
- sel.removeAllRanges();
2709
- sel.addRange(range);
2710
2702
  try {
2711
- if (!doc.execCommand("insertText", false, replacement)) {
2712
- range.deleteContents();
2713
- range.insertNode(doc.createTextNode(replacement));
2714
- }
2703
+ editor2.focus();
2704
+ editor2.selection.select(marker);
2705
+ editor2.insertContent(editor2.dom.encode(replacement));
2715
2706
  } catch {
2707
+ const doc = editor2.getDoc();
2708
+ const range = doc.createRange();
2709
+ range.selectNode(marker);
2716
2710
  range.deleteContents();
2717
2711
  range.insertNode(doc.createTextNode(replacement));
2718
2712
  }
@@ -5220,6 +5214,7 @@ document.getElementById("btn-attach")?.addEventListener("click", () => {
5220
5214
  fileInput?.click();
5221
5215
  });
5222
5216
  var wordEditId = null;
5217
+ var extEditHintClose = null;
5223
5218
  {
5224
5219
  const isAndroid = window.mailxapi?.platform === "android" || window.parent?.mailxapi?.platform === "android";
5225
5220
  if (isAndroid) {
@@ -5357,6 +5352,7 @@ function showExternalEditHint(editorLabel) {
5357
5352
  const close = () => {
5358
5353
  backdrop.remove();
5359
5354
  document.removeEventListener("keydown", onKey, true);
5355
+ extEditHintClose = null;
5360
5356
  };
5361
5357
  const onKey = (e) => {
5362
5358
  if (e.key === "Escape") {
@@ -5367,14 +5363,13 @@ function showExternalEditHint(editorLabel) {
5367
5363
  };
5368
5364
  document.addEventListener("keydown", onKey, true);
5369
5365
  panel.querySelector("#mailx-extedit-hint-ok")?.addEventListener("click", close);
5370
- backdrop.addEventListener("mousedown", (e) => {
5371
- if (e.target === backdrop) close();
5372
- });
5366
+ extEditHintClose = close;
5373
5367
  }
5374
5368
  onEvent((ev) => {
5375
5369
  if (ev?.type !== "wordEditUpdated") return;
5376
5370
  if (!wordEditId || ev.editId !== wordEditId) return;
5377
5371
  try {
5372
+ extEditHintClose?.();
5378
5373
  editor.setHtml(ev.html || "");
5379
5374
  showDraftStatus("Reloaded edits from external editor.", false);
5380
5375
  scheduleDraftSave();