@bobfrankston/rmfmail 1.2.97 → 1.2.100
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/client/android-bootstrap.bundle.js +85 -22
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +36 -1
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +25 -0
- package/client/app.js.map +1 -1
- package/client/app.ts +25 -0
- package/client/components/message-viewer.js +29 -1
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +25 -1
- package/package.json +3 -3
- package/packages/mailx-imap/index.d.ts.map +1 -1
- package/packages/mailx-imap/index.js +6 -2
- package/packages/mailx-imap/index.js.map +1 -1
- package/packages/mailx-imap/index.ts +6 -2
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-store/db.d.ts +7 -0
- package/packages/mailx-store/db.d.ts.map +1 -1
- package/packages/mailx-store/db.js +13 -1
- package/packages/mailx-store/db.js.map +1 -1
- package/packages/mailx-store/db.ts +19 -1
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store-web/android-bootstrap.d.ts.map +1 -1
- package/packages/mailx-store-web/android-bootstrap.js +74 -19
- package/packages/mailx-store-web/android-bootstrap.js.map +1 -1
- package/packages/mailx-store-web/android-bootstrap.ts +71 -16
- package/packages/mailx-store-web/db.d.ts +1 -0
- package/packages/mailx-store-web/db.d.ts.map +1 -1
- package/packages/mailx-store-web/db.js +21 -5
- package/packages/mailx-store-web/db.js.map +1 -1
- package/packages/mailx-store-web/db.ts +20 -7
- package/packages/mailx-store-web/imap-web-provider.d.ts.map +1 -1
- package/packages/mailx-store-web/imap-web-provider.js +1 -0
- package/packages/mailx-store-web/imap-web-provider.js.map +1 -1
- package/packages/mailx-store-web/imap-web-provider.ts +1 -0
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-store-web/sync-manager.d.ts.map +1 -1
- package/packages/mailx-store-web/sync-manager.js +4 -0
- package/packages/mailx-store-web/sync-manager.js.map +1 -1
- package/packages/mailx-store-web/sync-manager.ts +4 -0
package/client/app.bundle.js
CHANGED
|
@@ -1597,6 +1597,22 @@ async function showMessage(accountId, uid, folderId, specialUse, isRetry = false
|
|
|
1597
1597
|
});
|
|
1598
1598
|
return;
|
|
1599
1599
|
}
|
|
1600
|
+
if (msg.bodyError && !msg.bodyHtml && !msg.bodyText) {
|
|
1601
|
+
try {
|
|
1602
|
+
renderHeaderFromEnvelope(headerEl, msg);
|
|
1603
|
+
headerEl.hidden = false;
|
|
1604
|
+
} catch {
|
|
1605
|
+
}
|
|
1606
|
+
const transient = msg.bodyErrorTransient;
|
|
1607
|
+
bodyEl.innerHTML = `<div class="mv-system-message mv-system-error">
|
|
1608
|
+
<div class="mv-system-tag">mailx</div>
|
|
1609
|
+
<div class="mv-system-title">Body fetch failed</div>
|
|
1610
|
+
<div class="mv-system-body">${escapeHtml2(msg.bodyError)}<br><span style="color:var(--color-text-muted);font-size:0.9em">${transient ? "Reopen this message to retry." : "Permanent \u2014 the message may have been deleted on the server."}</span></div>
|
|
1611
|
+
</div>`;
|
|
1612
|
+
currentMessage = msg;
|
|
1613
|
+
currentAccountId = accountId;
|
|
1614
|
+
return;
|
|
1615
|
+
}
|
|
1600
1616
|
if (!cachedMsg)
|
|
1601
1617
|
parsedCachePut(accountId, folderId, uid, msg);
|
|
1602
1618
|
currentMessage = msg;
|
|
@@ -2622,7 +2638,12 @@ ${csp}
|
|
|
2622
2638
|
var k = (e.key || "").toLowerCase();
|
|
2623
2639
|
var isShortcut = e.ctrlKey && !e.altKey && !e.metaKey && (
|
|
2624
2640
|
k === "r" || k === "f" || k === "n" || k === "a" || k === "d" ||
|
|
2625
|
-
k === "z" || k === "y" || k === "k"
|
|
2641
|
+
k === "z" || k === "y" || k === "k" ||
|
|
2642
|
+
// Ctrl+P: without this suppress, WebView2's native print fires on
|
|
2643
|
+
// the iframe's default and prints the WHOLE APP window instead of
|
|
2644
|
+
// the letter (Bob 2026-07-02). The forwarded event reaches app.ts,
|
|
2645
|
+
// which runs printCurrentMessage (letter + header block).
|
|
2646
|
+
k === "p"
|
|
2626
2647
|
);
|
|
2627
2648
|
if (isShortcut) e.preventDefault();
|
|
2628
2649
|
window.parent.postMessage({
|
|
@@ -8091,6 +8112,20 @@ var backToList = (e) => {
|
|
|
8091
8112
|
};
|
|
8092
8113
|
document.getElementById("btn-back")?.addEventListener("click", backToList);
|
|
8093
8114
|
document.getElementById("btn-back")?.addEventListener("touchend", backToList);
|
|
8115
|
+
var narrowMq = window.matchMedia("(max-width: 768px), (max-height: 600px)");
|
|
8116
|
+
narrowMq.addEventListener("change", () => {
|
|
8117
|
+
const viewer = document.getElementById("message-viewer");
|
|
8118
|
+
const list = document.getElementById("message-list");
|
|
8119
|
+
if (narrowMq.matches) {
|
|
8120
|
+
if (getCurrentMessage()) {
|
|
8121
|
+
viewer?.classList.add("narrow-active");
|
|
8122
|
+
list?.classList.add("narrow-hidden");
|
|
8123
|
+
}
|
|
8124
|
+
} else {
|
|
8125
|
+
viewer?.classList.remove("narrow-active");
|
|
8126
|
+
list?.classList.remove("narrow-hidden");
|
|
8127
|
+
}
|
|
8128
|
+
});
|
|
8094
8129
|
document.getElementById("mv-popout")?.addEventListener("click", () => popOutCurrentMessage());
|
|
8095
8130
|
document.getElementById("mv-popout-window")?.addEventListener("click", () => popOutToWindow());
|
|
8096
8131
|
document.getElementById("btn-print")?.addEventListener("click", () => printCurrentMessage());
|