@bobfrankston/rmfmail 1.2.126 → 1.2.128
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/app.bundle.js +40 -1
- package/client/app.bundle.js.map +3 -3
- package/client/app.js +42 -1
- package/client/app.js.map +1 -1
- package/client/app.ts +36 -1
- package/client/compose/compose.bundle.js +45 -1
- package/client/compose/compose.bundle.js.map +3 -3
- package/client/compose/compose.css +4 -1
- package/client/compose/compose.js +68 -1
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +61 -1
- package/client/index.html +1 -0
- package/client/lib/api-client.js +6 -0
- package/client/lib/api-client.js.map +1 -1
- package/client/lib/api-client.ts +7 -0
- package/client/lib/mailxapi.js +4 -0
- package/package.json +1 -1
- package/packages/mailx-service/index.d.ts +9 -0
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +28 -0
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +24 -0
- package/packages/mailx-service/jsonrpc.js +2 -0
- package/packages/mailx-service/jsonrpc.js.map +1 -1
- package/packages/mailx-service/jsonrpc.ts +2 -0
package/client/app.bundle.js
CHANGED
|
@@ -46,6 +46,7 @@ __export(api_client_exports, {
|
|
|
46
46
|
deleteTask: () => deleteTask,
|
|
47
47
|
drainStoreSync: () => drainStoreSync,
|
|
48
48
|
emptyFolder: () => emptyFolder,
|
|
49
|
+
fetchImageAsDataUri: () => fetchImageAsDataUri,
|
|
49
50
|
flagSenderOrDomain: () => flagSenderOrDomain,
|
|
50
51
|
formatJsonc: () => formatJsonc,
|
|
51
52
|
getAccounts: () => getAccounts,
|
|
@@ -648,6 +649,10 @@ function closeComposePopout(id) {
|
|
|
648
649
|
const fn = ipc().closeComposePopout;
|
|
649
650
|
return fn ? fn(id) : Promise.resolve({ ok: false });
|
|
650
651
|
}
|
|
652
|
+
function fetchImageAsDataUri(url) {
|
|
653
|
+
const fn = ipc().fetchImageAsDataUri;
|
|
654
|
+
return fn ? fn(url) : Promise.resolve({ error: "no bridge" });
|
|
655
|
+
}
|
|
651
656
|
async function popoutMainWindow(accountId, folderId, name) {
|
|
652
657
|
const fn = ipc().popoutMainWindow;
|
|
653
658
|
if (!fn)
|
|
@@ -8380,7 +8385,9 @@ async function openCompose(mode, overrideMsg, overrideAccountId) {
|
|
|
8380
8385
|
const msg = current?.message;
|
|
8381
8386
|
const titlePrefix = mode === "reply" ? "Reply" : mode === "replyAll" ? "Reply All" : mode === "forward" ? "Forward" : mode === "editAsNew" ? "Edit as new" : "Compose";
|
|
8382
8387
|
const titleSubject = mode === "new" ? "" : msg?.subject || "";
|
|
8383
|
-
const
|
|
8388
|
+
const composeTitle = titleSubject ? `${titlePrefix}: ${titleSubject}` : titlePrefix;
|
|
8389
|
+
const preferWindow = window.innerWidth > 768 && window.innerHeight > 600 && localStorage.getItem("mailx-compose-in-window") !== "0";
|
|
8390
|
+
let frame = preferWindow ? null : showComposeOverlay(composeTitle);
|
|
8384
8391
|
const accounts = await accountsP;
|
|
8385
8392
|
const accountId = mode === "new" ? currentAccountId3 || current?.accountId || accounts[0]?.id || "" : current?.accountId || currentAccountId3 || accounts[0]?.id || "";
|
|
8386
8393
|
const rePrefix = /^(re|fwd?):\s*/i;
|
|
@@ -8514,6 +8521,17 @@ async function openCompose(mode, overrideMsg, overrideAccountId) {
|
|
|
8514
8521
|
}
|
|
8515
8522
|
if (loaded.length) init.attachments = loaded;
|
|
8516
8523
|
}
|
|
8524
|
+
if (preferWindow && !frame) {
|
|
8525
|
+
try {
|
|
8526
|
+
const { popoutCompose: popoutCompose2 } = await Promise.resolve().then(() => (init_api_client(), api_client_exports));
|
|
8527
|
+
const r = await popoutCompose2(init);
|
|
8528
|
+
if (r?.ok) return;
|
|
8529
|
+
console.error("[compose] separate-window open failed \u2014 overlay fallback:", r?.reason);
|
|
8530
|
+
} catch (e) {
|
|
8531
|
+
console.error("[compose] separate-window open threw \u2014 overlay fallback:", e?.message || e);
|
|
8532
|
+
}
|
|
8533
|
+
frame = showComposeOverlay(composeTitle);
|
|
8534
|
+
}
|
|
8517
8535
|
const initJson = JSON.stringify(init);
|
|
8518
8536
|
try {
|
|
8519
8537
|
sessionStorage.setItem("composeInit", initJson);
|
|
@@ -11695,6 +11713,15 @@ getSettings().then((s) => {
|
|
|
11695
11713
|
if (optEditorQuill) optEditorQuill.checked = ed === "quill";
|
|
11696
11714
|
if (optEditorTiptap) optEditorTiptap.checked = ed === "tiptap";
|
|
11697
11715
|
if (optEditorTinymce) optEditorTinymce.checked = ed === "tinymce";
|
|
11716
|
+
const cwEl = document.getElementById("opt-compose-window");
|
|
11717
|
+
if (cwEl) {
|
|
11718
|
+
const inWindow = s.ui?.composeInWindow !== false;
|
|
11719
|
+
cwEl.checked = inWindow;
|
|
11720
|
+
try {
|
|
11721
|
+
localStorage.setItem("mailx-compose-in-window", inWindow ? "1" : "0");
|
|
11722
|
+
} catch {
|
|
11723
|
+
}
|
|
11724
|
+
}
|
|
11698
11725
|
const fontEl = document.getElementById("opt-compose-font-size");
|
|
11699
11726
|
if (fontEl) {
|
|
11700
11727
|
const px = Number(s.ui?.composeFontSize);
|
|
@@ -11702,6 +11729,18 @@ getSettings().then((s) => {
|
|
|
11702
11729
|
}
|
|
11703
11730
|
}).catch(() => {
|
|
11704
11731
|
});
|
|
11732
|
+
document.getElementById("opt-compose-window")?.addEventListener("change", (e) => {
|
|
11733
|
+
const on = e.target.checked;
|
|
11734
|
+
try {
|
|
11735
|
+
localStorage.setItem("mailx-compose-in-window", on ? "1" : "0");
|
|
11736
|
+
} catch {
|
|
11737
|
+
}
|
|
11738
|
+
getSettings().then((settings) => {
|
|
11739
|
+
settings.ui = { ...settings.ui, composeInWindow: on };
|
|
11740
|
+
saveSettings(settings);
|
|
11741
|
+
}).catch(() => {
|
|
11742
|
+
});
|
|
11743
|
+
});
|
|
11705
11744
|
document.getElementById("opt-compose-font-size")?.addEventListener("change", (e) => {
|
|
11706
11745
|
const el = e.target;
|
|
11707
11746
|
const px = Number(el.value);
|