@bobfrankston/rmfmail 1.2.116 → 1.2.118
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/TODO.md +1 -1
- package/bin/mailx.js +41 -0
- package/bin/mailx.js.map +1 -1
- package/bin/mailx.ts +34 -0
- package/bin/popout-server.js +98 -0
- package/bin/popout-server.js.map +1 -1
- package/bin/popout-server.ts +97 -0
- package/client/app.bundle.js +20 -0
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +1 -0
- package/client/app.js.map +1 -1
- package/client/app.ts +1 -0
- package/client/compose/compose.bundle.js +100 -8
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/compose/compose.html +1 -0
- package/client/compose/compose.js +115 -13
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +105 -12
- package/client/lib/api-client.js +21 -0
- package/client/lib/api-client.js.map +1 -1
- package/client/lib/api-client.ts +22 -0
- package/client/lib/mailxapi.js +31 -4
- package/client/lib/popout-bridge.js +55 -0
- package/client/lib/popout-bridge.js.map +1 -0
- package/client/lib/popout-bridge.ts +48 -0
- package/package.json +1 -1
- package/packages/mailx-service/index.d.ts +37 -1
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +50 -2
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +60 -2
- package/packages/mailx-service/jsonrpc.js +7 -1
- package/packages/mailx-service/jsonrpc.js.map +1 -1
- package/packages/mailx-service/jsonrpc.ts +7 -1
- package/packages/mailx-types/mailx-api.d.ts +1 -1
- package/packages/mailx-types/mailx-api.d.ts.map +1 -1
- package/packages/mailx-types/mailx-api.ts +3 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { createEditor, type MailxEditor } from "./editor.js";
|
|
8
|
-
import { getVersion, getSettings, getAccounts, searchContacts, sendMessage, saveDraft as apiSaveDraft, deleteDraft, logClientEvent, addPreferredContact, addToDenylist, openInWord, closeWordEdit, onEvent, installConsoleCapture } from "../lib/api-client.js";
|
|
8
|
+
import { getVersion, getSettings, getAccounts, searchContacts, sendMessage, saveDraft as apiSaveDraft, deleteDraft, logClientEvent, addPreferredContact, addToDenylist, openInWord, closeWordEdit, onEvent, installConsoleCapture, popoutCompose, consumePopoutComposeInit, closeComposePopout } from "../lib/api-client.js";
|
|
9
9
|
import { showContextMenu, type MenuItem } from "../components/context-menu.js";
|
|
10
10
|
|
|
11
11
|
// Capture compose-iframe console + window errors to the daemon log. Same
|
|
@@ -28,9 +28,19 @@ function _ctick(label: string): void {
|
|
|
28
28
|
}
|
|
29
29
|
_ctick("module body executing");
|
|
30
30
|
|
|
31
|
+
// Non-empty when this compose is running in its own popped-out OS window
|
|
32
|
+
// (served by the loopback popout server) rather than the main-window overlay.
|
|
33
|
+
// The id keys the daemon-side init stash AND the window handle for close.
|
|
34
|
+
const popoutInitId = new URLSearchParams(location.search).get("pi") || "";
|
|
35
|
+
|
|
31
36
|
/** Close compose window */
|
|
32
37
|
function closeCompose(): void {
|
|
33
38
|
logClientEvent("compose-close");
|
|
39
|
+
if (popoutInitId) {
|
|
40
|
+
// Popped-out window: the daemon owns the native window handle, so ask
|
|
41
|
+
// it to close us. window.close() below stays as the fallback.
|
|
42
|
+
void closeComposePopout(popoutInitId).catch(() => { /* window X still works */ });
|
|
43
|
+
}
|
|
34
44
|
// S61: Android WebView's window.close() override is unreliable inside
|
|
35
45
|
// iframes — compose overlay sometimes stays visible after Send. Primary
|
|
36
46
|
// path is a parent postMessage; window.close() is a fallback that also
|
|
@@ -54,6 +64,12 @@ interface ComposeInit {
|
|
|
54
64
|
draftUid?: number;
|
|
55
65
|
draftFolderId?: number;
|
|
56
66
|
draftId?: string;
|
|
67
|
+
// Popout handoff extras — the overlay serializes its LIVE state, which
|
|
68
|
+
// includes fields the app.ts reply/forward initializers never set.
|
|
69
|
+
bcc?: { name: string; address: string }[];
|
|
70
|
+
/** Verbatim From input ("Name <addr>") — wins over fromAddress, which
|
|
71
|
+
* reconstructs the display name from the account list. */
|
|
72
|
+
fromRaw?: string;
|
|
57
73
|
}
|
|
58
74
|
|
|
59
75
|
// ── Load editor scripts dynamically ──
|
|
@@ -1054,7 +1070,9 @@ function applyInit(init: ComposeInit): void {
|
|
|
1054
1070
|
|
|
1055
1071
|
// If the reply has a specific identity address (alias / +tag), set it
|
|
1056
1072
|
// as the From value directly — overrides the account default.
|
|
1057
|
-
if (init.
|
|
1073
|
+
if (init.fromRaw) {
|
|
1074
|
+
fromInput.value = init.fromRaw;
|
|
1075
|
+
} else if (init.fromAddress) {
|
|
1058
1076
|
const account = init.accounts.find(a => a.id === init.accountId);
|
|
1059
1077
|
const displayName = account?.name || "";
|
|
1060
1078
|
fromInput.value = displayName ? `${displayName} <${init.fromAddress}>` : init.fromAddress;
|
|
@@ -1062,6 +1080,7 @@ function applyInit(init: ComposeInit): void {
|
|
|
1062
1080
|
|
|
1063
1081
|
toInput.value = formatAddrs(init.to);
|
|
1064
1082
|
ccInput.value = formatAddrs(init.cc);
|
|
1083
|
+
bccInput.value = formatAddrs(init.bcc || []);
|
|
1065
1084
|
subjectInput.value = init.subject;
|
|
1066
1085
|
// Resize the textareas to match the freshly-loaded recipient lists —
|
|
1067
1086
|
// without this the textareas stay 1-row even when the To: contains a
|
|
@@ -1070,6 +1089,14 @@ function applyInit(init: ComposeInit): void {
|
|
|
1070
1089
|
autoGrowAddrInput(ccInput);
|
|
1071
1090
|
autoGrowAddrInput(bccInput);
|
|
1072
1091
|
|
|
1092
|
+
// Auto-expand Bcc row if the init carried Bcc content (popout handoff)
|
|
1093
|
+
if (bccInput.value.trim()) {
|
|
1094
|
+
const bccRowEl = document.getElementById("compose-bcc-row");
|
|
1095
|
+
const bccBtn = document.getElementById("btn-toggle-bcc");
|
|
1096
|
+
if (bccRowEl) bccRowEl.hidden = false;
|
|
1097
|
+
if (bccBtn) bccBtn.classList.add("active");
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1073
1100
|
// Auto-expand Cc row if the init already has Cc content (reply-all, draft-with-cc)
|
|
1074
1101
|
if (ccInput.value.trim()) {
|
|
1075
1102
|
const ccRowEl = document.getElementById("compose-cc-row");
|
|
@@ -1344,6 +1371,7 @@ async function saveDraft(): Promise<void> {
|
|
|
1344
1371
|
bodyText: editor.getText(),
|
|
1345
1372
|
to: toInput.value,
|
|
1346
1373
|
cc: ccInput.value,
|
|
1374
|
+
bcc: bccInput.value,
|
|
1347
1375
|
previousDraftUid: draftUid,
|
|
1348
1376
|
draftId: draftId,
|
|
1349
1377
|
});
|
|
@@ -1453,15 +1481,29 @@ function waitForParentInit(maxMs: number): Promise<void> {
|
|
|
1453
1481
|
|
|
1454
1482
|
(async () => {
|
|
1455
1483
|
_ctick("init IIFE start");
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1484
|
+
let parentInit: ComposeInit | null = null;
|
|
1485
|
+
if (popoutInitId) {
|
|
1486
|
+
// Popped-out OS window — there is no parent frame; the overlay
|
|
1487
|
+
// stashed its live state with the daemon and put the stash id in
|
|
1488
|
+
// our URL. One-shot fetch over the popout server's RPC bridge.
|
|
1489
|
+
try {
|
|
1490
|
+
parentInit = ((await consumePopoutComposeInit(popoutInitId)) as any)?.init || null;
|
|
1491
|
+
} catch (e: any) {
|
|
1492
|
+
console.error("Failed to fetch popout compose init:", e);
|
|
1493
|
+
}
|
|
1494
|
+
_ctick(`popout init ${parentInit ? "received" : "MISSING"}`);
|
|
1495
|
+
try { document.title = parentInit?.subject ? `Compose: ${parentInit.subject}` : "Compose"; } catch { /* */ }
|
|
1496
|
+
} else {
|
|
1497
|
+
// Try parent-stash FIRST — it's synchronous and most reliable. Only
|
|
1498
|
+
// wait/poll if it's empty.
|
|
1499
|
+
parentInit = pullInitFromParent();
|
|
1500
|
+
if (!parentInit && !sessionStorage.getItem("composeInit") && !_postedInit) {
|
|
1501
|
+
_ctick("waiting for parent init");
|
|
1502
|
+
await waitForParentInit(1500);
|
|
1503
|
+
_ctick(`parent init received (msgEvents=${_msgEventCount})`);
|
|
1504
|
+
// Re-poll the parent stash — it may have been populated during the wait.
|
|
1505
|
+
if (!_postedInit) parentInit = pullInitFromParent();
|
|
1506
|
+
}
|
|
1465
1507
|
}
|
|
1466
1508
|
// Priority: parent-stash > postMessage > sessionStorage.
|
|
1467
1509
|
const stored = sessionStorage.getItem("composeInit");
|
|
@@ -1471,7 +1513,7 @@ function waitForParentInit(maxMs: number): Promise<void> {
|
|
|
1471
1513
|
if (initRaw) {
|
|
1472
1514
|
sessionStorage.removeItem("composeInit");
|
|
1473
1515
|
const init = initRaw;
|
|
1474
|
-
const src = parentInit ? "parent-stash" : (_postedInit ? "postMessage" : "sessionStorage");
|
|
1516
|
+
const src = parentInit ? (popoutInitId ? "popout" : "parent-stash") : (_postedInit ? "postMessage" : "sessionStorage");
|
|
1475
1517
|
_ctick(`init parsed (mode=${init.mode}, bodyHtml=${init.bodyHtml?.length || 0} bytes, src=${src})`);
|
|
1476
1518
|
if (init.accounts && init.accounts.length > 0) {
|
|
1477
1519
|
// Happy path — init is complete. Apply immediately. Kick
|
|
@@ -1832,6 +1874,57 @@ document.getElementById("btn-discard")?.addEventListener("click", async () => {
|
|
|
1832
1874
|
closeCompose();
|
|
1833
1875
|
});
|
|
1834
1876
|
|
|
1877
|
+
// ── Popout: continue this compose in its own OS window ──
|
|
1878
|
+
// Serializes the LIVE compose state (fields, body, attachments, draft
|
|
1879
|
+
// identity) and hands it to the daemon, which spawns a native msger window
|
|
1880
|
+
// running this same page against the popout server. Draft continuity comes
|
|
1881
|
+
// from passing draftUid/draftId — the popout keeps replacing the same draft.
|
|
1882
|
+
const composePopoutBtn = document.getElementById("btn-compose-popout") as HTMLButtonElement | null;
|
|
1883
|
+
// Already popped out → no button. style.display, not the hidden attr — the
|
|
1884
|
+
// .tb-btn display rule outranks the UA's [hidden] { display: none }.
|
|
1885
|
+
if (composePopoutBtn && popoutInitId) composePopoutBtn.style.display = "none";
|
|
1886
|
+
composePopoutBtn?.addEventListener("click", async () => {
|
|
1887
|
+
// Pin the draft identity BEFORE serializing: if the overlay's unload
|
|
1888
|
+
// flush still fires a save after the hand-off, it dedups against the
|
|
1889
|
+
// same X-Mailx-Draft-ID the popout continues with — no duplicate draft.
|
|
1890
|
+
if (!draftId) draftId = `mailx-draft-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
1891
|
+
const init: ComposeInit = {
|
|
1892
|
+
// "draft" mode so applyInit does NOT re-append the signature — the
|
|
1893
|
+
// body already carries whatever the user has (sig included).
|
|
1894
|
+
mode: "draft",
|
|
1895
|
+
accountId: getFromAccountId(),
|
|
1896
|
+
to: parseAddrs(toInput.value),
|
|
1897
|
+
cc: parseAddrs(ccInput.value),
|
|
1898
|
+
bcc: parseAddrs(bccInput.value),
|
|
1899
|
+
subject: subjectInput.value,
|
|
1900
|
+
bodyHtml: editor.getHtml(),
|
|
1901
|
+
inReplyTo: replyInReplyTo,
|
|
1902
|
+
references: replyReferences,
|
|
1903
|
+
accounts: knownAccounts,
|
|
1904
|
+
fromRaw: getFromAddress(),
|
|
1905
|
+
attachments: attachments.map(a => ({ filename: a.filename, mimeType: a.mimeType, dataBase64: a.dataBase64 })),
|
|
1906
|
+
draftUid: draftUid ?? undefined,
|
|
1907
|
+
draftId: draftId ?? undefined,
|
|
1908
|
+
};
|
|
1909
|
+
composePopoutBtn.disabled = true;
|
|
1910
|
+
try {
|
|
1911
|
+
const r = await popoutCompose(init);
|
|
1912
|
+
if (r?.ok) {
|
|
1913
|
+
// Hand-off complete — close the overlay silently (no discard
|
|
1914
|
+
// prompt, no draft delete; the popout owns the draft now).
|
|
1915
|
+
if (draftDebounceTimer) { clearTimeout(draftDebounceTimer); draftDebounceTimer = null; }
|
|
1916
|
+
if (draftTimer) { clearInterval(draftTimer); draftTimer = null; }
|
|
1917
|
+
closeCompose();
|
|
1918
|
+
} else {
|
|
1919
|
+
showDraftStatus(`Popout failed: ${r?.reason || "unknown"}`, true);
|
|
1920
|
+
composePopoutBtn.disabled = false;
|
|
1921
|
+
}
|
|
1922
|
+
} catch (e: any) {
|
|
1923
|
+
showDraftStatus(`Popout failed: ${e?.message || e}`, true);
|
|
1924
|
+
composePopoutBtn.disabled = false;
|
|
1925
|
+
}
|
|
1926
|
+
});
|
|
1927
|
+
|
|
1835
1928
|
// ── Cc / Bcc toggle ──
|
|
1836
1929
|
const ccRow = document.getElementById("compose-cc-row") as HTMLElement;
|
|
1837
1930
|
const bccRow = document.getElementById("compose-bcc-row") as HTMLElement;
|
package/client/lib/api-client.js
CHANGED
|
@@ -619,6 +619,27 @@ export async function popoutWindow(accountId, uid, folderId, subject) {
|
|
|
619
619
|
return { ok: false, reason: "no popoutWindow bridge" };
|
|
620
620
|
return fn(accountId, uid, folderId, subject);
|
|
621
621
|
}
|
|
622
|
+
/** Take a live compose into its own native OS window. init is the full
|
|
623
|
+
* compose state; the daemon stashes it and spawns a popout-server-backed
|
|
624
|
+
* msger window that consumes it on boot. */
|
|
625
|
+
export async function popoutCompose(init) {
|
|
626
|
+
const fn = ipc().popoutCompose;
|
|
627
|
+
if (!fn)
|
|
628
|
+
return { ok: false, reason: "no popoutCompose bridge" };
|
|
629
|
+
return fn(init);
|
|
630
|
+
}
|
|
631
|
+
/** Popout compose page boot: one-shot fetch of the init stashed by popoutCompose. */
|
|
632
|
+
export async function consumePopoutComposeInit(id) {
|
|
633
|
+
const fn = ipc().consumePopoutComposeInit;
|
|
634
|
+
if (!fn)
|
|
635
|
+
return { init: null };
|
|
636
|
+
return fn(id);
|
|
637
|
+
}
|
|
638
|
+
/** Ask the daemon to close this compose-popout window (after send/discard). */
|
|
639
|
+
export function closeComposePopout(id) {
|
|
640
|
+
const fn = ipc().closeComposePopout;
|
|
641
|
+
return fn ? fn(id) : Promise.resolve({ ok: false });
|
|
642
|
+
}
|
|
622
643
|
export async function getDeviceAccounts() {
|
|
623
644
|
return ipc().getDeviceAccounts?.() ?? [];
|
|
624
645
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["api-client.ts"],"names":[],"mappings":"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"}
|
package/client/lib/api-client.ts
CHANGED
|
@@ -682,6 +682,28 @@ export async function popoutWindow(accountId: string, uid: number, folderId?: nu
|
|
|
682
682
|
return fn(accountId, uid, folderId, subject);
|
|
683
683
|
}
|
|
684
684
|
|
|
685
|
+
/** Take a live compose into its own native OS window. init is the full
|
|
686
|
+
* compose state; the daemon stashes it and spawns a popout-server-backed
|
|
687
|
+
* msger window that consumes it on boot. */
|
|
688
|
+
export async function popoutCompose(init: any): Promise<{ ok: boolean; reason?: string }> {
|
|
689
|
+
const fn = (ipc() as any).popoutCompose;
|
|
690
|
+
if (!fn) return { ok: false, reason: "no popoutCompose bridge" };
|
|
691
|
+
return fn(init);
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
/** Popout compose page boot: one-shot fetch of the init stashed by popoutCompose. */
|
|
695
|
+
export async function consumePopoutComposeInit(id: string): Promise<{ init: any | null }> {
|
|
696
|
+
const fn = (ipc() as any).consumePopoutComposeInit;
|
|
697
|
+
if (!fn) return { init: null };
|
|
698
|
+
return fn(id);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/** Ask the daemon to close this compose-popout window (after send/discard). */
|
|
702
|
+
export function closeComposePopout(id: string): Promise<{ ok: boolean }> {
|
|
703
|
+
const fn = (ipc() as any).closeComposePopout;
|
|
704
|
+
return fn ? fn(id) : Promise.resolve({ ok: false });
|
|
705
|
+
}
|
|
706
|
+
|
|
685
707
|
export async function getDeviceAccounts(): Promise<{ email: string; name: string }[]> {
|
|
686
708
|
return ipc().getDeviceAccounts?.() ?? [];
|
|
687
709
|
}
|
package/client/lib/mailxapi.js
CHANGED
|
@@ -32,14 +32,25 @@
|
|
|
32
32
|
// log via logClientEvent — `[client] ipc-send <action> cbid=N tEpoch=...`.
|
|
33
33
|
// High-res `performance.now()` is local to the WebView; we also include
|
|
34
34
|
// wall-clock so daemon-side timestamps align.
|
|
35
|
+
// The service channel. Normally the host-injected window.ipc (msger Rust
|
|
36
|
+
// WebView2 / MAUI). Popout windows can't use it — msger injects window.ipc
|
|
37
|
+
// as a NON-WRITABLE, NON-CONFIGURABLE property wired to the messagebox
|
|
38
|
+
// channel, where service RPC dies silently. There the popout bridge
|
|
39
|
+
// (popout-bridge.ts) sets window.__rmfIpcOverride, an HTTP-backed
|
|
40
|
+
// postMessage that carries the same payloads to the popout server's /rpc.
|
|
41
|
+
function _chan() {
|
|
42
|
+
return window.__rmfIpcOverride || window.ipc;
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
function _traceIpcSend(action, id) {
|
|
36
46
|
try {
|
|
37
47
|
var hr = (typeof performance !== "undefined" && performance.now) ? performance.now().toFixed(1) : "n/a";
|
|
38
48
|
var line = "ipc-send " + action + " cbid=" + id + " hr=" + hr + " wall=" + Date.now();
|
|
39
49
|
// Send via direct postMessage to avoid recursion — logClientEvent
|
|
40
50
|
// would re-enter callNode and create a circular trace.
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
var chan = _chan();
|
|
52
|
+
if (chan && chan.postMessage) {
|
|
53
|
+
chan.postMessage(JSON.stringify({
|
|
43
54
|
_action: "logClientEvent", _cbid: "trace-" + id, tag: line,
|
|
44
55
|
}));
|
|
45
56
|
}
|
|
@@ -96,12 +107,13 @@
|
|
|
96
107
|
var msgStr = JSON.stringify(Object.assign({ _action: action, _cbid: id }, params || {}));
|
|
97
108
|
return new Promise(function(resolve, reject) {
|
|
98
109
|
function send() {
|
|
99
|
-
|
|
110
|
+
var chan = _chan();
|
|
111
|
+
if (chan && chan.postMessage) {
|
|
100
112
|
// Trace BEFORE the call so a slow daemon-receive shows up as
|
|
101
113
|
// ipc-send + N s before the daemon logs `[ipc] ←`. Skip the
|
|
102
114
|
// trace event itself to avoid recursion.
|
|
103
115
|
if (action !== "logClientEvent") _traceIpcSend(action, id);
|
|
104
|
-
|
|
116
|
+
chan.postMessage(msgStr);
|
|
105
117
|
return true;
|
|
106
118
|
}
|
|
107
119
|
return false;
|
|
@@ -390,6 +402,20 @@
|
|
|
390
402
|
return callNode("popoutWindow", { accountId: accountId, uid: uid, folderId: folderId, subject: subject });
|
|
391
403
|
},
|
|
392
404
|
|
|
405
|
+
// Take a live compose into its own NATIVE msger window. init is the
|
|
406
|
+
// full compose state (fields, body, attachments, draft identity).
|
|
407
|
+
popoutCompose: function(init) {
|
|
408
|
+
return callNode("popoutCompose", { init: init });
|
|
409
|
+
},
|
|
410
|
+
// Popout compose page boot: one-shot fetch of the stashed init.
|
|
411
|
+
consumePopoutComposeInit: function(id) {
|
|
412
|
+
return callNode("consumePopoutComposeInit", { id: id });
|
|
413
|
+
},
|
|
414
|
+
// Popout compose page after send/discard: close my window.
|
|
415
|
+
closeComposePopout: function(id) {
|
|
416
|
+
return callNode("closeComposePopout", { id: id });
|
|
417
|
+
},
|
|
418
|
+
|
|
393
419
|
// Reminder sound (custom file bytes or mute flag; {} = built-in chime)
|
|
394
420
|
getReminderSound: function() { return callNode("getReminderSound"); },
|
|
395
421
|
|
|
@@ -406,6 +432,7 @@
|
|
|
406
432
|
reauthenticate: function(accountId) { return callNode("reauthenticate", { accountId: accountId }); },
|
|
407
433
|
reauthGoogleScopes: function() { return callNode("reauthGoogleScopes"); },
|
|
408
434
|
hasCcHistoryTo: function(email) { return callNode("hasCcHistoryTo", { email: email }); },
|
|
435
|
+
hasBccHistoryTo: function(email) { return callNode("hasBccHistoryTo", { email: email }); },
|
|
409
436
|
|
|
410
437
|
// Bulk operations
|
|
411
438
|
deleteMessages: function(accountId, uids, folderIds) {
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* popout-bridge — HTTP transport for mailxapi in popout windows served by the
|
|
3
|
+
* loopback popout server (bin/popout-server.ts).
|
|
4
|
+
*
|
|
5
|
+
* The real hosts (msger Rust, MAUI) provide `window.ipc.postMessage` and call
|
|
6
|
+
* `_msgapiServiceResolve/_msgapiServiceReject` with the daemon's response.
|
|
7
|
+
* In a msger url-mode window that channel exists but is wired to the
|
|
8
|
+
* MESSAGEBOX protocol — service RPC posted there dies silently — and
|
|
9
|
+
* window.ipc is injected non-writable/non-configurable, so it cannot be
|
|
10
|
+
* replaced or wrapped. mailxapi.js therefore checks `window.__rmfIpcOverride`
|
|
11
|
+
* before window.ipc; this script provides it: every posted
|
|
12
|
+
* `{ _action, _cbid, ...params }` payload goes to POST /rpc and the
|
|
13
|
+
* `{ _cbid, result | error }` reply resolves the matching callback. The page
|
|
14
|
+
* runs the REAL mailxapi.js unmodified — one API surface, zero duplication.
|
|
15
|
+
*
|
|
16
|
+
* Injected by serveStatic() into every popout-served HTML page, after a
|
|
17
|
+
* config script that sets `window.__rmfPopoutRpc = { url }` and before
|
|
18
|
+
* mailxapi.js. No imports/exports on purpose — this must compile to a plain
|
|
19
|
+
* classic script (mailxapi.js loads the same way).
|
|
20
|
+
*/
|
|
21
|
+
(function () {
|
|
22
|
+
const w = window;
|
|
23
|
+
const cfg = w.__rmfPopoutRpc;
|
|
24
|
+
if (!cfg || !cfg.url || w.__rmfIpcOverride)
|
|
25
|
+
return;
|
|
26
|
+
w.__rmfIpcOverride = {
|
|
27
|
+
postMessage: function (msgStr) {
|
|
28
|
+
let cbid = "";
|
|
29
|
+
try {
|
|
30
|
+
cbid = JSON.parse(msgStr)._cbid || "";
|
|
31
|
+
}
|
|
32
|
+
catch { /* resolve path just no-ops */ }
|
|
33
|
+
fetch(cfg.url, {
|
|
34
|
+
method: "POST",
|
|
35
|
+
headers: { "content-type": "application/json" },
|
|
36
|
+
body: msgStr,
|
|
37
|
+
// Let a final draft flush survive window close. keepalive
|
|
38
|
+
// caps the body at ~64KB, so only ask for it when we fit —
|
|
39
|
+
// an attachment-laden saveDraft would otherwise be REJECTED
|
|
40
|
+
// outright instead of merely not surviving unload.
|
|
41
|
+
keepalive: msgStr.length < 60_000,
|
|
42
|
+
})
|
|
43
|
+
.then((r) => r.json())
|
|
44
|
+
.then((res) => {
|
|
45
|
+
if (res && res.error != null)
|
|
46
|
+
w._msgapiServiceReject?.(cbid, res.error);
|
|
47
|
+
else
|
|
48
|
+
w._msgapiServiceResolve?.(cbid, res ? res.result : undefined);
|
|
49
|
+
})
|
|
50
|
+
.catch((e) => w._msgapiServiceReject?.(cbid, String((e && e.message) || e)));
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
})();
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=popout-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popout-bridge.js","sourceRoot":"","sources":["popout-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,CAAC;IACG,MAAM,CAAC,GAAG,MAAa,CAAC;IACxB,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,gBAAgB;QAAE,OAAO;IACnD,CAAC,CAAC,gBAAgB,GAAG;QACjB,WAAW,EAAE,UAAU,MAAc;YACjC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;YACvF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBACX,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,MAAM;gBACZ,0DAA0D;gBAC1D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,mDAAmD;gBACnD,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM;aACpC,CAAC;iBACG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACrB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI;oBAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;;oBACnE,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvE,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;KACJ,CAAC;AACN,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* popout-bridge — HTTP transport for mailxapi in popout windows served by the
|
|
3
|
+
* loopback popout server (bin/popout-server.ts).
|
|
4
|
+
*
|
|
5
|
+
* The real hosts (msger Rust, MAUI) provide `window.ipc.postMessage` and call
|
|
6
|
+
* `_msgapiServiceResolve/_msgapiServiceReject` with the daemon's response.
|
|
7
|
+
* In a msger url-mode window that channel exists but is wired to the
|
|
8
|
+
* MESSAGEBOX protocol — service RPC posted there dies silently — and
|
|
9
|
+
* window.ipc is injected non-writable/non-configurable, so it cannot be
|
|
10
|
+
* replaced or wrapped. mailxapi.js therefore checks `window.__rmfIpcOverride`
|
|
11
|
+
* before window.ipc; this script provides it: every posted
|
|
12
|
+
* `{ _action, _cbid, ...params }` payload goes to POST /rpc and the
|
|
13
|
+
* `{ _cbid, result | error }` reply resolves the matching callback. The page
|
|
14
|
+
* runs the REAL mailxapi.js unmodified — one API surface, zero duplication.
|
|
15
|
+
*
|
|
16
|
+
* Injected by serveStatic() into every popout-served HTML page, after a
|
|
17
|
+
* config script that sets `window.__rmfPopoutRpc = { url }` and before
|
|
18
|
+
* mailxapi.js. No imports/exports on purpose — this must compile to a plain
|
|
19
|
+
* classic script (mailxapi.js loads the same way).
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
(function (): void {
|
|
23
|
+
const w = window as any;
|
|
24
|
+
const cfg = w.__rmfPopoutRpc;
|
|
25
|
+
if (!cfg || !cfg.url || w.__rmfIpcOverride) return;
|
|
26
|
+
w.__rmfIpcOverride = {
|
|
27
|
+
postMessage: function (msgStr: string): void {
|
|
28
|
+
let cbid = "";
|
|
29
|
+
try { cbid = JSON.parse(msgStr)._cbid || ""; } catch { /* resolve path just no-ops */ }
|
|
30
|
+
fetch(cfg.url, {
|
|
31
|
+
method: "POST",
|
|
32
|
+
headers: { "content-type": "application/json" },
|
|
33
|
+
body: msgStr,
|
|
34
|
+
// Let a final draft flush survive window close. keepalive
|
|
35
|
+
// caps the body at ~64KB, so only ask for it when we fit —
|
|
36
|
+
// an attachment-laden saveDraft would otherwise be REJECTED
|
|
37
|
+
// outright instead of merely not surviving unload.
|
|
38
|
+
keepalive: msgStr.length < 60_000,
|
|
39
|
+
})
|
|
40
|
+
.then((r) => r.json())
|
|
41
|
+
.then((res) => {
|
|
42
|
+
if (res && res.error != null) w._msgapiServiceReject?.(cbid, res.error);
|
|
43
|
+
else w._msgapiServiceResolve?.(cbid, res ? res.result : undefined);
|
|
44
|
+
})
|
|
45
|
+
.catch((e) => w._msgapiServiceReject?.(cbid, String((e && e.message) || e)));
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
})();
|
package/package.json
CHANGED
|
@@ -44,6 +44,21 @@ export type PopoutWindowFn = (opts: {
|
|
|
44
44
|
ok: boolean;
|
|
45
45
|
reason?: string;
|
|
46
46
|
}>;
|
|
47
|
+
/** Injected compose-popout functions — bin/mailx.ts wraps mailx-host's
|
|
48
|
+
* showMessageBoxEx pointed at the popout server's static compose page, so
|
|
49
|
+
* "take this compose into its own OS window" spawns a native msger window.
|
|
50
|
+
* `open` receives the stash id the page will consume; `close` tears the
|
|
51
|
+
* window down after send/discard. Injection keeps mailx-service host-agnostic. */
|
|
52
|
+
export type ComposePopoutFns = {
|
|
53
|
+
open: (opts: {
|
|
54
|
+
id: string;
|
|
55
|
+
subject?: string;
|
|
56
|
+
}) => Promise<{
|
|
57
|
+
ok: boolean;
|
|
58
|
+
reason?: string;
|
|
59
|
+
}>;
|
|
60
|
+
close: (id: string) => void;
|
|
61
|
+
};
|
|
47
62
|
export declare class MailxService implements MailxApi {
|
|
48
63
|
/** The Store is the nexus — owns DB + .eml files + bus + operations.
|
|
49
64
|
* MailxService is the IPC adapter on top: it routes UI requests to
|
|
@@ -73,6 +88,27 @@ export declare class MailxService implements MailxApi {
|
|
|
73
88
|
ok: boolean;
|
|
74
89
|
reason?: string;
|
|
75
90
|
}>;
|
|
91
|
+
private composePopoutFns;
|
|
92
|
+
/** Compose-popout init stash, keyed by the id embedded in the popout
|
|
93
|
+
* window's URL. One-shot: consumePopoutComposeInit deletes on read. */
|
|
94
|
+
private composePopoutInits;
|
|
95
|
+
setComposePopoutFns(fns: ComposePopoutFns): void;
|
|
96
|
+
/** Take a live compose into its own native OS window. The overlay hands
|
|
97
|
+
* us its full state (fields, body, attachments, draft identity); we
|
|
98
|
+
* stash it under a one-shot id and spawn the window pointed at the
|
|
99
|
+
* popout server's compose page with that id in the URL. */
|
|
100
|
+
popoutCompose(init: any): Promise<{
|
|
101
|
+
ok: boolean;
|
|
102
|
+
reason?: string;
|
|
103
|
+
}>;
|
|
104
|
+
/** One-shot read of a stashed compose-popout init (popout page boot). */
|
|
105
|
+
consumePopoutComposeInit(id: string): {
|
|
106
|
+
init: any | null;
|
|
107
|
+
};
|
|
108
|
+
/** Close a compose-popout window (after send / discard in the popout). */
|
|
109
|
+
closeComposePopout(id: string): {
|
|
110
|
+
ok: boolean;
|
|
111
|
+
};
|
|
76
112
|
/** Local-first read/write facade. Every UI IPC handler that touches the
|
|
77
113
|
* local DB or body store goes through this — no awaiting IMAP, no
|
|
78
114
|
* awaiting Gmail API, no awaiting SMTP. See docs/local-first-plan.md. */
|
|
@@ -594,7 +630,7 @@ export declare class MailxService implements MailxApi {
|
|
|
594
630
|
ok: boolean;
|
|
595
631
|
reason?: string;
|
|
596
632
|
}>;
|
|
597
|
-
saveDraft(accountId: string, subject: string, bodyHtml: string, bodyText: string, to?: string, cc?: string, previousDraftUid?: number, draftId?: string): Promise<{
|
|
633
|
+
saveDraft(accountId: string, subject: string, bodyHtml: string, bodyText: string, to?: string, cc?: string, previousDraftUid?: number, draftId?: string, bcc?: string): Promise<{
|
|
598
634
|
draftUid: number | null;
|
|
599
635
|
draftId: string;
|
|
600
636
|
}>;
|