@bobfrankston/rmfmail 1.1.87 → 1.1.89
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.
- package/.commitmsg +7 -14
- package/client/app.bundle.js +11 -4
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +10 -6
- package/client/app.js.map +1 -1
- package/client/app.ts +10 -5
- package/client/components/message-list.js +20 -2
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +19 -1
- package/client/compose/compose.bundle.js +16 -0
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/compose/spellcheck.js +23 -0
- package/client/compose/spellcheck.js.map +1 -1
- package/client/compose/spellcheck.ts +21 -0
- package/npmchanges.md +32 -0
- package/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-54620 → node_modules.npmglobalize-stash-62096}/.package-lock.json +0 -0
package/.commitmsg
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
Spellcheck: disable the native checker so only nspell runs
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
the window closes instantly. It used to await the server round-trip,
|
|
10
|
-
leaving the window up for seconds ("eventually it did").
|
|
11
|
-
|
|
12
|
-
- Attachment chip: clearly tinted background + accent border so it's not
|
|
13
|
-
easy to miss; clicking shows "Opening…" for >=600ms and ignores
|
|
14
|
-
re-clicks while in flight (the open hands off to the OS viewer with no
|
|
15
|
-
visible change in mailx, so it was being clicked repeatedly).
|
|
3
|
+
The compose editor had BOTH the native Chromium/WebView2 spellchecker and
|
|
4
|
+
mailx's own nspell checker active — double red underlines everywhere
|
|
5
|
+
("why so much red twiddle") and right-click popping the native
|
|
6
|
+
suggestion menu instead of ours. wireSpellcheck now forces
|
|
7
|
+
spellcheck="false" on the editor body (with a MutationObserver to keep
|
|
8
|
+
it off), so nspell is the single source of squiggles and suggestions.
|
package/client/app.bundle.js
CHANGED
|
@@ -2522,6 +2522,13 @@ function rowKey(accountId, uid) {
|
|
|
2522
2522
|
return `${accountId}:${uid}`;
|
|
2523
2523
|
}
|
|
2524
2524
|
function focusRow(row, opts = {}) {
|
|
2525
|
+
const body = row.el.parentElement;
|
|
2526
|
+
if (!body?.classList.contains("multi-select-on")) {
|
|
2527
|
+
body?.querySelectorAll(".ml-row.selected").forEach((r) => {
|
|
2528
|
+
if (r !== row.el)
|
|
2529
|
+
r.classList.remove("selected");
|
|
2530
|
+
});
|
|
2531
|
+
}
|
|
2525
2532
|
if (focusedRow && focusedRow !== row)
|
|
2526
2533
|
focusedRow.setSelected(false);
|
|
2527
2534
|
row.setSelected(true);
|
|
@@ -2559,9 +2566,9 @@ function scrollFocusedIntoView() {
|
|
|
2559
2566
|
focusedRow.el.scrollIntoView({ block: "center" });
|
|
2560
2567
|
}
|
|
2561
2568
|
function releaseFocus() {
|
|
2562
|
-
if (focusedRow)
|
|
2563
|
-
focusedRow.setSelected(false);
|
|
2564
2569
|
focusedRow = null;
|
|
2570
|
+
const body = document.getElementById("ml-body");
|
|
2571
|
+
body?.querySelectorAll(".ml-row.selected").forEach((r) => r.classList.remove("selected"));
|
|
2565
2572
|
clearViewer();
|
|
2566
2573
|
document.dispatchEvent(new CustomEvent("mailx-focus-changed", { detail: null }));
|
|
2567
2574
|
}
|
|
@@ -7816,7 +7823,7 @@ function recordSearchHistory(query) {
|
|
|
7816
7823
|
const trimmed = query.trim();
|
|
7817
7824
|
if (!trimmed) return;
|
|
7818
7825
|
const cur = loadSearchHistory();
|
|
7819
|
-
const filtered = cur.filter((q) => q !== trimmed);
|
|
7826
|
+
const filtered = cur.filter((q) => q !== trimmed && !trimmed.startsWith(q));
|
|
7820
7827
|
filtered.unshift(trimmed);
|
|
7821
7828
|
if (filtered.length > SEARCH_HISTORY_MAX) filtered.length = SEARCH_HISTORY_MAX;
|
|
7822
7829
|
saveSearchHistory(filtered);
|
|
@@ -7910,7 +7917,7 @@ function doSearch(immediate = false) {
|
|
|
7910
7917
|
{ kind: "search", query, scope: effectiveScope, accountId: currentAccountId3, folderId: currentFolderId2, includeTrash },
|
|
7911
7918
|
`Search: ${query}`
|
|
7912
7919
|
);
|
|
7913
|
-
|
|
7920
|
+
recordSearchHistory(query);
|
|
7914
7921
|
}
|
|
7915
7922
|
var currentAccountId3 = "";
|
|
7916
7923
|
var currentFolderId2 = 0;
|