@bobfrankston/rmfmail 1.1.102 → 1.1.104

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.
@@ -2946,13 +2946,17 @@ async function loadSearchResults(query, scope = "all", accountId = "", folderId
2946
2946
  if (myGen !== loadGen)
2947
2947
  return;
2948
2948
  totalMessages = result.total;
2949
+ const partial = !!result.partial;
2950
+ const foldersFailed = result.foldersFailed || 0;
2951
+ const foldersSearched = result.foldersSearched || 0;
2952
+ const partialNote = partial ? `<div class="ml-search-warning">\u26A0 Searched ${foldersSearched} folder(s); ${foldersFailed} could not be searched (timeout / connection). Results may be incomplete \u2014 retry to search them again.</div>` : "";
2949
2953
  if (result.items.length === 0) {
2950
2954
  setMessages([]);
2951
- body.innerHTML = `<div class="ml-empty">No results for "${query}"</div>`;
2955
+ body.innerHTML = partialNote + `<div class="ml-empty">No results for "${query}"${partial ? " in the folders that responded" : ""}</div>`;
2952
2956
  return;
2953
2957
  }
2954
2958
  setMessages(result.items);
2955
- body.innerHTML = "";
2959
+ body.innerHTML = partialNote;
2956
2960
  appendMessages(body, "", result.items);
2957
2961
  selectFirst(body);
2958
2962
  } catch (e) {
@@ -8704,8 +8708,7 @@ document.addEventListener("keydown", (e) => {
8704
8708
  const tag = t?.tagName;
8705
8709
  const editable = t?.isContentEditable;
8706
8710
  const inEditable = tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || editable;
8707
- const listSelectionCount = document.querySelectorAll("#ml-body .ml-row.selected").length;
8708
- if (inEditable && listSelectionCount === 0) return;
8711
+ if (inEditable) return;
8709
8712
  e.preventDefault();
8710
8713
  deleteSelection();
8711
8714
  }
@@ -8722,9 +8725,11 @@ document.addEventListener("keydown", (e) => {
8722
8725
  e.preventDefault();
8723
8726
  document.getElementById("btn-sync")?.click();
8724
8727
  }
8725
- if (e.key.toLowerCase() === "r" && !e.ctrlKey && !e.metaKey && !e.altKey) {
8728
+ const isToggleSeen = e.key.toLowerCase() === "r" && !e.ctrlKey && !e.metaKey && !e.altKey || e.ctrlKey && !e.metaKey && !e.altKey && e.key.toLowerCase() === "q";
8729
+ if (isToggleSeen) {
8726
8730
  const active = document.activeElement;
8727
- if (active && (active.tagName === "INPUT" || active.tagName === "TEXTAREA" || active.tagName === "SELECT")) return;
8731
+ const inText = active && (active.tagName === "INPUT" || active.tagName === "TEXTAREA" || active.tagName === "SELECT" || active.isContentEditable);
8732
+ if (!e.ctrlKey && inText) return;
8728
8733
  const sel = getCurrentFocused();
8729
8734
  if (!sel) return;
8730
8735
  e.preventDefault();