@bobfrankston/rmfmail 1.1.3 → 1.1.5
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/bin/build-bundles.mjs +14 -4
- package/bin/mailx.js +15 -21
- package/bin/mailx.js.map +1 -1
- package/bin/mailx.ts +16 -22
- package/client/android-bootstrap.bundle.js +2151 -2
- package/client/android-bootstrap.bundle.js.map +4 -4
- package/client/app.bundle.js +30 -16
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +20 -20
- package/client/app.js.map +1 -1
- package/client/app.ts +20 -20
- package/client/components/context-menu.js +9 -0
- package/client/components/context-menu.js.map +1 -1
- package/client/components/context-menu.ts +8 -0
- package/client/components/message-viewer.js +21 -5
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +21 -5
- package/client/compose/compose.bundle.js +4 -0
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/index.html +23 -4
- package/client/lib/mailxapi.js +11 -7
- package/package.json +9 -9
- package/packages/mailx-api/index.d.ts +2 -2
- package/packages/mailx-api/index.d.ts.map +1 -1
- package/packages/mailx-api/index.js +2 -2
- package/packages/mailx-api/index.js.map +1 -1
- package/packages/mailx-api/index.ts +3 -3
- package/packages/mailx-core/index.d.ts.map +1 -1
- package/packages/mailx-core/index.js +3 -2
- package/packages/mailx-core/index.js.map +1 -1
- package/packages/mailx-core/index.ts +3 -2
- package/packages/mailx-imap/index.d.ts +13 -4
- package/packages/mailx-imap/index.d.ts.map +1 -1
- package/packages/mailx-imap/index.js +16 -8
- package/packages/mailx-imap/index.js.map +1 -1
- package/packages/mailx-imap/index.ts +15 -7
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-server/index.d.ts.map +1 -1
- package/packages/mailx-server/index.js +4 -3
- package/packages/mailx-server/index.js.map +1 -1
- package/packages/mailx-server/index.ts +4 -3
- package/packages/mailx-service/db-worker.js +3 -4
- package/packages/mailx-service/db-worker.js.map +1 -1
- package/packages/mailx-service/db-worker.ts +5 -6
- package/packages/mailx-service/index.d.ts +20 -3
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +19 -17
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +18 -17
- package/packages/mailx-service/local-store.d.ts +7 -144
- package/packages/mailx-service/local-store.d.ts.map +1 -1
- package/packages/mailx-service/local-store.js +6 -511
- package/packages/mailx-service/local-store.js.map +1 -1
- package/packages/mailx-service/local-store.ts +7 -551
- package/packages/mailx-store/charset.d.ts +15 -0
- package/packages/mailx-store/charset.d.ts.map +1 -0
- package/packages/mailx-store/charset.js +61 -0
- package/packages/mailx-store/charset.js.map +1 -0
- package/packages/mailx-store/charset.ts +45 -0
- package/packages/mailx-store/index.d.ts +2 -0
- package/packages/mailx-store/index.d.ts.map +1 -1
- package/packages/mailx-store/index.js +2 -0
- package/packages/mailx-store/index.js.map +1 -1
- package/packages/mailx-store/index.ts +4 -0
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store/store.d.ts +169 -0
- package/packages/mailx-store/store.d.ts.map +1 -0
- package/packages/mailx-store/store.js +528 -0
- package/packages/mailx-store/store.js.map +1 -0
- package/packages/mailx-store/store.ts +567 -0
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-444 → node_modules.npmglobalize-stash-11408}/.package-lock.json +0 -0
package/client/app.bundle.js
CHANGED
|
@@ -591,6 +591,10 @@ var init_context_menu = __esm({
|
|
|
591
591
|
document.addEventListener("scroll", closeContextMenu, true);
|
|
592
592
|
document.addEventListener("contextmenu", () => {
|
|
593
593
|
});
|
|
594
|
+
window.addEventListener("message", (e) => {
|
|
595
|
+
if (e.data && e.data.type === "iframePointerDown")
|
|
596
|
+
closeContextMenu();
|
|
597
|
+
});
|
|
594
598
|
}
|
|
595
599
|
});
|
|
596
600
|
|
|
@@ -1139,8 +1143,8 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
|
|
|
1139
1143
|
const previewText = (msg.preview || cached?.preview || "").trim();
|
|
1140
1144
|
bodyEl.innerHTML = previewText ? `<div class="mv-preview-placeholder">${escapeHtml(previewText)}</div>` : `<div class="mv-empty">Fetching body from server\u2026</div>`;
|
|
1141
1145
|
const captureGen = gen;
|
|
1142
|
-
const off =
|
|
1143
|
-
if (
|
|
1146
|
+
const off = subscribeStore("*", (ev) => {
|
|
1147
|
+
if (ev.kind !== "bodyAvailable")
|
|
1144
1148
|
return;
|
|
1145
1149
|
if (ev.accountId !== accountId || ev.uid !== uid)
|
|
1146
1150
|
return;
|
|
@@ -1984,6 +1988,18 @@ ${csp}
|
|
|
1984
1988
|
iframeLeft: rect.left, iframeTop: rect.top
|
|
1985
1989
|
}, "*");
|
|
1986
1990
|
});
|
|
1991
|
+
// Iframe pointerdown \u2192 tell the parent to dismiss any open context menu.
|
|
1992
|
+
// The parent's dismissListener listens to its own document's pointerdown,
|
|
1993
|
+
// but iframe events don't bubble across the boundary; without this, a
|
|
1994
|
+
// click in the message body to dismiss the menu would be invisible to
|
|
1995
|
+
// the parent and the menu would stick open.
|
|
1996
|
+
document.addEventListener("pointerdown", function (e) {
|
|
1997
|
+
// The contextmenu handler above ALSO fires pointerdown on right-click;
|
|
1998
|
+
// that one opens a fresh menu, which already closes the previous.
|
|
1999
|
+
// Skip right-click (button 2) to avoid a publish/close race.
|
|
2000
|
+
if (e.button === 2) return;
|
|
2001
|
+
try { window.parent.postMessage({ type: "iframePointerDown" }, "*"); } catch (_) {}
|
|
2002
|
+
}, true);
|
|
1987
2003
|
// Key forwarding \u2014 Delete, Ctrl+D, arrow keys, etc. need to reach app.ts
|
|
1988
2004
|
// even when focus is inside the sandboxed iframe. Parent-side
|
|
1989
2005
|
// contentDocument listeners (see installPreviewControls) work on
|
|
@@ -2152,8 +2168,8 @@ var init_message_viewer = __esm({
|
|
|
2152
2168
|
ZOOM_MAX = 3;
|
|
2153
2169
|
ZOOM_STEP = 0.1;
|
|
2154
2170
|
previewZoom = clampZoom(parseFloat(localStorage.getItem(ZOOM_KEY) || "1"));
|
|
2155
|
-
|
|
2156
|
-
if (
|
|
2171
|
+
subscribeStore("*", (ev) => {
|
|
2172
|
+
if (ev.kind !== "bodyFetchError")
|
|
2157
2173
|
return;
|
|
2158
2174
|
recentFetchErrors.set(`${ev.accountId}:${ev.uid}`, {
|
|
2159
2175
|
error: String(ev.error || "fetch failed"),
|
|
@@ -7796,18 +7812,7 @@ onWsEvent((event) => {
|
|
|
7796
7812
|
case "bodyCached":
|
|
7797
7813
|
markBodiesCached(event.items || []);
|
|
7798
7814
|
break;
|
|
7799
|
-
|
|
7800
|
-
if (event.accountId && event.uid) {
|
|
7801
|
-
markBodiesCached([{ accountId: event.accountId, uid: event.uid }]);
|
|
7802
|
-
}
|
|
7803
|
-
break;
|
|
7804
|
-
case "messageRemoved":
|
|
7805
|
-
if (event.accountId && event.uid) {
|
|
7806
|
-
document.dispatchEvent(new CustomEvent("mailx-remove-stale", {
|
|
7807
|
-
detail: { accountId: event.accountId, uid: event.uid }
|
|
7808
|
-
}));
|
|
7809
|
-
}
|
|
7810
|
-
break;
|
|
7815
|
+
// bodyAvailable and messageRemoved migrated to subscribeStore below.
|
|
7811
7816
|
case "syncStateChanged": {
|
|
7812
7817
|
if (!statusSync) break;
|
|
7813
7818
|
const msgs = event.messageActions ?? 0;
|
|
@@ -7976,6 +7981,15 @@ onWsEvent((event) => {
|
|
|
7976
7981
|
}
|
|
7977
7982
|
}
|
|
7978
7983
|
});
|
|
7984
|
+
subscribeStore("*", (ev) => {
|
|
7985
|
+
if (ev.kind === "bodyAvailable" && ev.accountId && ev.uid) {
|
|
7986
|
+
markBodiesCached([{ accountId: ev.accountId, uid: ev.uid }]);
|
|
7987
|
+
} else if (ev.kind === "messageRemoved" && ev.accountId && ev.uid) {
|
|
7988
|
+
document.dispatchEvent(new CustomEvent("mailx-remove-stale", {
|
|
7989
|
+
detail: { accountId: ev.accountId, uid: ev.uid }
|
|
7990
|
+
}));
|
|
7991
|
+
}
|
|
7992
|
+
});
|
|
7979
7993
|
async function openComposeFromMailto(m) {
|
|
7980
7994
|
const accountsP = getAccounts();
|
|
7981
7995
|
const frame = showComposeOverlay(m.subject ? `Compose: ${m.subject}` : "Compose");
|