@bobfrankston/rmfmail 1.2.115 → 1.2.117
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 +1217 -1217
- 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 +19 -0
- package/client/app.bundle.js.map +2 -2
- package/client/compose/compose.bundle.js +118 -8
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/compose/compose.html +1 -0
- package/client/compose/compose.js +130 -16
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +122 -17
- 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 +36 -0
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +46 -0
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +56 -0
- package/packages/mailx-service/jsonrpc.js +6 -0
- package/packages/mailx-service/jsonrpc.js.map +1 -1
- package/packages/mailx-service/jsonrpc.ts +6 -0
|
@@ -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 ──
|
|
@@ -530,13 +546,14 @@ function getFromAddress(): string {
|
|
|
530
546
|
return fromInput.value.trim();
|
|
531
547
|
}
|
|
532
548
|
|
|
533
|
-
/** Smart tab — skip to next empty field, ending at body */
|
|
534
|
-
function smartTab(current: HTMLInputElement): void {
|
|
535
|
-
const fields = [toInput, ccInput, bccInput, subjectInput];
|
|
549
|
+
/** Smart tab — skip to next empty visible field, ending at body */
|
|
550
|
+
function smartTab(current: HTMLInputElement | HTMLTextAreaElement): void {
|
|
551
|
+
const fields: (HTMLInputElement | HTMLTextAreaElement)[] = [toInput, ccInput, bccInput, subjectInput];
|
|
536
552
|
const currentIdx = fields.indexOf(current);
|
|
537
|
-
// Look for next empty field after current
|
|
553
|
+
// Look for next empty field after current — offsetParent is null while
|
|
554
|
+
// the Cc/Bcc row is hidden, and focusing a hidden field silently no-ops
|
|
538
555
|
for (let i = currentIdx + 1; i < fields.length; i++) {
|
|
539
|
-
if (!fields[i].value.trim()) {
|
|
556
|
+
if (!fields[i].value.trim() && fields[i].offsetParent !== null) {
|
|
540
557
|
fields[i].focus();
|
|
541
558
|
return;
|
|
542
559
|
}
|
|
@@ -870,6 +887,18 @@ setupAutocomplete(toInput);
|
|
|
870
887
|
setupAutocomplete(ccInput);
|
|
871
888
|
setupAutocomplete(bccInput);
|
|
872
889
|
|
|
890
|
+
// Tab in a header field jumps to the next empty field and lands in the body,
|
|
891
|
+
// instead of walking the toolbar buttons. Registered after setupAutocomplete
|
|
892
|
+
// so an open dropdown's Tab-select (which preventDefaults) wins.
|
|
893
|
+
for (const field of [toInput, ccInput, bccInput, subjectInput]) {
|
|
894
|
+
field.addEventListener("keydown", (e: Event) => {
|
|
895
|
+
const ke = e as KeyboardEvent;
|
|
896
|
+
if (ke.key !== "Tab" || ke.shiftKey || ke.ctrlKey || ke.altKey || ke.defaultPrevented) return;
|
|
897
|
+
ke.preventDefault();
|
|
898
|
+
smartTab(field);
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
|
|
873
902
|
/** Split a recipient string on TOP-LEVEL commas only — a comma inside a
|
|
874
903
|
* quoted display name (`"Frankston, Bob" <bob@x.com>`) is part of the name,
|
|
875
904
|
* not a separator. The naive `s.split(",")` parsed such a name as two
|
|
@@ -1041,7 +1070,9 @@ function applyInit(init: ComposeInit): void {
|
|
|
1041
1070
|
|
|
1042
1071
|
// If the reply has a specific identity address (alias / +tag), set it
|
|
1043
1072
|
// as the From value directly — overrides the account default.
|
|
1044
|
-
if (init.
|
|
1073
|
+
if (init.fromRaw) {
|
|
1074
|
+
fromInput.value = init.fromRaw;
|
|
1075
|
+
} else if (init.fromAddress) {
|
|
1045
1076
|
const account = init.accounts.find(a => a.id === init.accountId);
|
|
1046
1077
|
const displayName = account?.name || "";
|
|
1047
1078
|
fromInput.value = displayName ? `${displayName} <${init.fromAddress}>` : init.fromAddress;
|
|
@@ -1049,6 +1080,7 @@ function applyInit(init: ComposeInit): void {
|
|
|
1049
1080
|
|
|
1050
1081
|
toInput.value = formatAddrs(init.to);
|
|
1051
1082
|
ccInput.value = formatAddrs(init.cc);
|
|
1083
|
+
bccInput.value = formatAddrs(init.bcc || []);
|
|
1052
1084
|
subjectInput.value = init.subject;
|
|
1053
1085
|
// Resize the textareas to match the freshly-loaded recipient lists —
|
|
1054
1086
|
// without this the textareas stay 1-row even when the To: contains a
|
|
@@ -1057,6 +1089,14 @@ function applyInit(init: ComposeInit): void {
|
|
|
1057
1089
|
autoGrowAddrInput(ccInput);
|
|
1058
1090
|
autoGrowAddrInput(bccInput);
|
|
1059
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
|
+
|
|
1060
1100
|
// Auto-expand Cc row if the init already has Cc content (reply-all, draft-with-cc)
|
|
1061
1101
|
if (ccInput.value.trim()) {
|
|
1062
1102
|
const ccRowEl = document.getElementById("compose-cc-row");
|
|
@@ -1440,15 +1480,29 @@ function waitForParentInit(maxMs: number): Promise<void> {
|
|
|
1440
1480
|
|
|
1441
1481
|
(async () => {
|
|
1442
1482
|
_ctick("init IIFE start");
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1483
|
+
let parentInit: ComposeInit | null = null;
|
|
1484
|
+
if (popoutInitId) {
|
|
1485
|
+
// Popped-out OS window — there is no parent frame; the overlay
|
|
1486
|
+
// stashed its live state with the daemon and put the stash id in
|
|
1487
|
+
// our URL. One-shot fetch over the popout server's RPC bridge.
|
|
1488
|
+
try {
|
|
1489
|
+
parentInit = ((await consumePopoutComposeInit(popoutInitId)) as any)?.init || null;
|
|
1490
|
+
} catch (e: any) {
|
|
1491
|
+
console.error("Failed to fetch popout compose init:", e);
|
|
1492
|
+
}
|
|
1493
|
+
_ctick(`popout init ${parentInit ? "received" : "MISSING"}`);
|
|
1494
|
+
try { document.title = parentInit?.subject ? `Compose: ${parentInit.subject}` : "Compose"; } catch { /* */ }
|
|
1495
|
+
} else {
|
|
1496
|
+
// Try parent-stash FIRST — it's synchronous and most reliable. Only
|
|
1497
|
+
// wait/poll if it's empty.
|
|
1498
|
+
parentInit = pullInitFromParent();
|
|
1499
|
+
if (!parentInit && !sessionStorage.getItem("composeInit") && !_postedInit) {
|
|
1500
|
+
_ctick("waiting for parent init");
|
|
1501
|
+
await waitForParentInit(1500);
|
|
1502
|
+
_ctick(`parent init received (msgEvents=${_msgEventCount})`);
|
|
1503
|
+
// Re-poll the parent stash — it may have been populated during the wait.
|
|
1504
|
+
if (!_postedInit) parentInit = pullInitFromParent();
|
|
1505
|
+
}
|
|
1452
1506
|
}
|
|
1453
1507
|
// Priority: parent-stash > postMessage > sessionStorage.
|
|
1454
1508
|
const stored = sessionStorage.getItem("composeInit");
|
|
@@ -1458,7 +1512,7 @@ function waitForParentInit(maxMs: number): Promise<void> {
|
|
|
1458
1512
|
if (initRaw) {
|
|
1459
1513
|
sessionStorage.removeItem("composeInit");
|
|
1460
1514
|
const init = initRaw;
|
|
1461
|
-
const src = parentInit ? "parent-stash" : (_postedInit ? "postMessage" : "sessionStorage");
|
|
1515
|
+
const src = parentInit ? (popoutInitId ? "popout" : "parent-stash") : (_postedInit ? "postMessage" : "sessionStorage");
|
|
1462
1516
|
_ctick(`init parsed (mode=${init.mode}, bodyHtml=${init.bodyHtml?.length || 0} bytes, src=${src})`);
|
|
1463
1517
|
if (init.accounts && init.accounts.length > 0) {
|
|
1464
1518
|
// Happy path — init is complete. Apply immediately. Kick
|
|
@@ -1819,6 +1873,57 @@ document.getElementById("btn-discard")?.addEventListener("click", async () => {
|
|
|
1819
1873
|
closeCompose();
|
|
1820
1874
|
});
|
|
1821
1875
|
|
|
1876
|
+
// ── Popout: continue this compose in its own OS window ──
|
|
1877
|
+
// Serializes the LIVE compose state (fields, body, attachments, draft
|
|
1878
|
+
// identity) and hands it to the daemon, which spawns a native msger window
|
|
1879
|
+
// running this same page against the popout server. Draft continuity comes
|
|
1880
|
+
// from passing draftUid/draftId — the popout keeps replacing the same draft.
|
|
1881
|
+
const composePopoutBtn = document.getElementById("btn-compose-popout") as HTMLButtonElement | null;
|
|
1882
|
+
// Already popped out → no button. style.display, not the hidden attr — the
|
|
1883
|
+
// .tb-btn display rule outranks the UA's [hidden] { display: none }.
|
|
1884
|
+
if (composePopoutBtn && popoutInitId) composePopoutBtn.style.display = "none";
|
|
1885
|
+
composePopoutBtn?.addEventListener("click", async () => {
|
|
1886
|
+
// Pin the draft identity BEFORE serializing: if the overlay's unload
|
|
1887
|
+
// flush still fires a save after the hand-off, it dedups against the
|
|
1888
|
+
// same X-Mailx-Draft-ID the popout continues with — no duplicate draft.
|
|
1889
|
+
if (!draftId) draftId = `mailx-draft-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
1890
|
+
const init: ComposeInit = {
|
|
1891
|
+
// "draft" mode so applyInit does NOT re-append the signature — the
|
|
1892
|
+
// body already carries whatever the user has (sig included).
|
|
1893
|
+
mode: "draft",
|
|
1894
|
+
accountId: getFromAccountId(),
|
|
1895
|
+
to: parseAddrs(toInput.value),
|
|
1896
|
+
cc: parseAddrs(ccInput.value),
|
|
1897
|
+
bcc: parseAddrs(bccInput.value),
|
|
1898
|
+
subject: subjectInput.value,
|
|
1899
|
+
bodyHtml: editor.getHtml(),
|
|
1900
|
+
inReplyTo: replyInReplyTo,
|
|
1901
|
+
references: replyReferences,
|
|
1902
|
+
accounts: knownAccounts,
|
|
1903
|
+
fromRaw: getFromAddress(),
|
|
1904
|
+
attachments: attachments.map(a => ({ filename: a.filename, mimeType: a.mimeType, dataBase64: a.dataBase64 })),
|
|
1905
|
+
draftUid: draftUid ?? undefined,
|
|
1906
|
+
draftId: draftId ?? undefined,
|
|
1907
|
+
};
|
|
1908
|
+
composePopoutBtn.disabled = true;
|
|
1909
|
+
try {
|
|
1910
|
+
const r = await popoutCompose(init);
|
|
1911
|
+
if (r?.ok) {
|
|
1912
|
+
// Hand-off complete — close the overlay silently (no discard
|
|
1913
|
+
// prompt, no draft delete; the popout owns the draft now).
|
|
1914
|
+
if (draftDebounceTimer) { clearTimeout(draftDebounceTimer); draftDebounceTimer = null; }
|
|
1915
|
+
if (draftTimer) { clearInterval(draftTimer); draftTimer = null; }
|
|
1916
|
+
closeCompose();
|
|
1917
|
+
} else {
|
|
1918
|
+
showDraftStatus(`Popout failed: ${r?.reason || "unknown"}`, true);
|
|
1919
|
+
composePopoutBtn.disabled = false;
|
|
1920
|
+
}
|
|
1921
|
+
} catch (e: any) {
|
|
1922
|
+
showDraftStatus(`Popout failed: ${e?.message || e}`, true);
|
|
1923
|
+
composePopoutBtn.disabled = false;
|
|
1924
|
+
}
|
|
1925
|
+
});
|
|
1926
|
+
|
|
1822
1927
|
// ── Cc / Bcc toggle ──
|
|
1823
1928
|
const ccRow = document.getElementById("compose-cc-row") as HTMLElement;
|
|
1824
1929
|
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. */
|