@bobfrankston/rmfmail 1.2.225 → 1.2.227
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 +69 -2
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +62 -1
- package/client/app.bundle.js.map +2 -2
- package/client/components/message-viewer.js +89 -0
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +87 -0
- package/package.json +5 -5
- package/packages/mailx-core/index.ts +3 -2
- package/packages/mailx-core/package.json +1 -1
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-send/index.d.ts.map +1 -1
- package/packages/mailx-send/index.js +10 -5
- package/packages/mailx-send/index.js.map +1 -1
- package/packages/mailx-send/index.ts +10 -5
- package/packages/mailx-send/mailsend/index.ts +8 -5
- package/packages/mailx-send/package.json +1 -1
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +10 -7
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +10 -7
- package/packages/mailx-service/jsonrpc.d.ts.map +1 -1
- package/packages/mailx-service/jsonrpc.js +72 -1
- package/packages/mailx-service/jsonrpc.js.map +1 -1
- package/packages/mailx-service/jsonrpc.ts +73 -1
- package/packages/mailx-service/package.json +1 -1
- package/packages/mailx-settings/docs/TODO-prereorg-snapshot-2026-07-15.md +1130 -0
- package/packages/mailx-settings/package.json +1 -1
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-store-web/web-service.d.ts.map +1 -1
- package/packages/mailx-store-web/web-service.js +3 -3
- package/packages/mailx-store-web/web-service.js.map +1 -1
- package/packages/mailx-store-web/web-service.ts +3 -3
- package/packages/mailx-types/index.d.ts +40 -0
- package/packages/mailx-types/index.d.ts.map +1 -1
- package/packages/mailx-types/index.js +117 -0
- package/packages/mailx-types/index.js.map +1 -1
- package/packages/mailx-types/index.ts +103 -0
- package/packages/mailx-types/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-67672 → node_modules.npmglobalize-stash-70108}/.package-lock.json +0 -0
|
@@ -106,7 +106,7 @@ import { spawnDbWorker, type SpawnedDbWorker } from "./db-worker-client.js";
|
|
|
106
106
|
export { spawnSyncWorker, type SpawnedSyncWorker } from "./sync-worker-client.js";
|
|
107
107
|
import { loadSettings, saveSettings, loadAccounts, loadAccountsAsync, saveAccounts, initCloudConfig, loadAllowlist, saveAllowlist, loadAutocomplete, saveAutocomplete, loadKeys, saveKeys, ensureKeysSectionExists, getStorePath, getStorageInfo, getConfigDir, loadUserDict, saveUserDict, loadReminderState, saveReminderState, cloudReadBinary, providerForDomain } from "@bobfrankston/mailx-settings";
|
|
108
108
|
import type { AccountConfig, Folder, AutocompleteRequest, AutocompleteResponse, AutocompleteSettings, AiTransformRequest, AiTransformResponse, ExtractedEvent, MailxApi } from "@bobfrankston/mailx-types";
|
|
109
|
-
import { sanitizeHtml, encodeQuotedPrintable, htmlToPlainText, extractInlineImages } from "@bobfrankston/mailx-types";
|
|
109
|
+
import { sanitizeHtml, encodeQuotedPrintable, htmlToPlainText, extractInlineImages, encodeHeaderWord, encodeAddressHeader } from "@bobfrankston/mailx-types";
|
|
110
110
|
|
|
111
111
|
// Charset normalization (sniffAndFixCharset) is owned solely by
|
|
112
112
|
// mailx-store/charset.ts — the single live parse path (LocalStore.getMessage)
|
|
@@ -2820,9 +2820,12 @@ export class MailxService implements MailxApi {
|
|
|
2820
2820
|
|
|
2821
2821
|
const hasAttachments = Array.isArray(msg.attachments) && msg.attachments.length > 0;
|
|
2822
2822
|
const commonHeaders = [
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2823
|
+
// RFC 2047: raw 8-bit in a header makes the message EAI (RFC 6530),
|
|
2824
|
+
// which non-SMTPUTF8 receivers must bounce — a single curly apostrophe
|
|
2825
|
+
// in a reply Subject cost three recipients (Bob 2026-08-08).
|
|
2826
|
+
`From: ${encodeAddressHeader(fromHeader)}`, `To: ${encodeAddressHeader(to)}`,
|
|
2827
|
+
cc ? `Cc: ${encodeAddressHeader(cc)}` : null, bcc ? `Bcc: ${encodeAddressHeader(bcc)}` : null,
|
|
2828
|
+
`Subject: ${encodeHeaderWord(msg.subject)}`, `Date: ${new Date().toUTCString()}`,
|
|
2826
2829
|
`Message-ID: ${messageId}`,
|
|
2827
2830
|
msg.inReplyTo ? `In-Reply-To: ${msg.inReplyTo}` : null,
|
|
2828
2831
|
msg.references?.length ? `References: ${msg.references.join(" ")}` : null,
|
|
@@ -3607,11 +3610,11 @@ export class MailxService implements MailxApi {
|
|
|
3607
3610
|
// claim the primary identity even when compose showed the alias
|
|
3608
3611
|
// (Bob 2026-07-30: hackers-list reply drafted as rmfmail@bob.ma
|
|
3609
3612
|
// while the actual send correctly used hackers@bobf…).
|
|
3610
|
-
`From: ${from?.trim() || `${account.name} <${account.email}>`}`,
|
|
3613
|
+
`From: ${encodeAddressHeader(from?.trim() || `${account.name} <${account.email}>`)}`,
|
|
3611
3614
|
// Bcc belongs IN a draft — it's the send path that strips it.
|
|
3612
3615
|
// Without it, editing a saved draft silently lost the Bcc list.
|
|
3613
|
-
to ? `To: ${to}` : null, cc ? `Cc: ${cc}` : null, bcc ? `Bcc: ${bcc}` : null,
|
|
3614
|
-
`Subject: ${subject || "(no subject)"}`, `Date: ${new Date().toUTCString()}`,
|
|
3616
|
+
to ? `To: ${encodeAddressHeader(to)}` : null, cc ? `Cc: ${encodeAddressHeader(cc)}` : null, bcc ? `Bcc: ${encodeAddressHeader(bcc)}` : null,
|
|
3617
|
+
`Subject: ${encodeHeaderWord(subject || "(no subject)")}`, `Date: ${new Date().toUTCString()}`,
|
|
3615
3618
|
`X-Mailx-Draft-ID: ${id}`,
|
|
3616
3619
|
`MIME-Version: 1.0`, `Content-Type: text/html; charset=UTF-8`, `Content-Transfer-Encoding: quoted-printable`,
|
|
3617
3620
|
].filter(h => h !== null).join("\r\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAuE3D,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AASD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAE5F;AAED,gFAAgF;AAChF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAQtF"}
|
|
@@ -7,6 +7,74 @@
|
|
|
7
7
|
import { readFileSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
const rootPkg = JSON.parse(readFileSync(join(import.meta.dirname, "..", "..", "package.json"), "utf-8"));
|
|
10
|
+
/**
|
|
11
|
+
* Largest message body we will hand to the IPC channel.
|
|
12
|
+
*
|
|
13
|
+
* This is a TRANSPORT limit, not a display limit. msger answers every IPC call
|
|
14
|
+
* by marshalling the reply into a JavaScript source string and running it
|
|
15
|
+
* through `webview.evaluate_script(...)`. A 9 MB body therefore becomes a
|
|
16
|
+
* ~10 MB script for WebView2 to compile, which kills the renderer outright:
|
|
17
|
+
*
|
|
18
|
+
* [msger] WebView2 process failed (kind=2) — reloading
|
|
19
|
+
*
|
|
20
|
+
* and the app comes back unusable (Bob 2026-08-08, a 9.35 MB qmail bounce from
|
|
21
|
+
* gal.iecc.com that inlined the entire original message — no MIME structure, so
|
|
22
|
+
* the whole thing is one text/plain part). Worse than the crash: when the reply
|
|
23
|
+
* never lands the viewer silently fell back to the 200-character `preview`
|
|
24
|
+
* column and presented it AS the message, so a 9 MB bounce looked like one
|
|
25
|
+
* sentence trailing off mid-word at "<al".
|
|
26
|
+
*
|
|
27
|
+
* 1.5 MB is comfortably above any body a human wrote and far below what breaks
|
|
28
|
+
* evaluate_script. Over the line, the head of the body still goes across (so
|
|
29
|
+
* the message is readable) with `bodyTruncated` set, and the UI says plainly
|
|
30
|
+
* what happened instead of pretending the snippet is the whole letter.
|
|
31
|
+
*
|
|
32
|
+
* The proper fix is to stop marshalling bodies through evaluate_script at all —
|
|
33
|
+
* the loopback server already serves them over plain HTTP at `/body`, which has
|
|
34
|
+
* no such limit. This guard is what makes the failure survivable until then.
|
|
35
|
+
*/
|
|
36
|
+
const IPC_BODY_MAX_BYTES = 1_500_000;
|
|
37
|
+
/** Head of an oversized body, cut on a line boundary so the visible text ends
|
|
38
|
+
* somewhere sensible rather than mid-token. */
|
|
39
|
+
function headOf(s, max) {
|
|
40
|
+
if (s.length <= max)
|
|
41
|
+
return s;
|
|
42
|
+
const cut = s.slice(0, max);
|
|
43
|
+
const lastBreak = cut.lastIndexOf("\n");
|
|
44
|
+
return lastBreak > max * 0.8 ? cut.slice(0, lastBreak) : cut;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Keep a getMessage reply inside what the IPC channel can actually carry.
|
|
48
|
+
* Returns the message unchanged when it already fits — the overwhelming
|
|
49
|
+
* majority of mail — so there is no cost on the normal path.
|
|
50
|
+
*/
|
|
51
|
+
function capBodyForIpc(msg) {
|
|
52
|
+
if (!msg || typeof msg !== "object")
|
|
53
|
+
return msg;
|
|
54
|
+
const html = typeof msg.bodyHtml === "string" ? msg.bodyHtml : "";
|
|
55
|
+
const text = typeof msg.bodyText === "string" ? msg.bodyText : "";
|
|
56
|
+
const total = html.length + text.length;
|
|
57
|
+
if (total <= IPC_BODY_MAX_BYTES)
|
|
58
|
+
return msg;
|
|
59
|
+
// Prefer the plain text when we have to truncate: a half-sent HTML
|
|
60
|
+
// document renders as garbage (unclosed tags swallow the rest), whereas
|
|
61
|
+
// half of a text body is simply the first half of the text.
|
|
62
|
+
const keptText = text ? headOf(text, IPC_BODY_MAX_BYTES) : "";
|
|
63
|
+
const keptHtml = !text && html ? "" : ""; // never ship partial HTML
|
|
64
|
+
console.log(` [ipc] body too large for evaluate_script — acct=${msg.accountId} uid=${msg.uid} `
|
|
65
|
+
+ `html=${html.length} text=${text.length} → sending ${keptText.length} bytes of text + truncation notice`);
|
|
66
|
+
return {
|
|
67
|
+
...msg,
|
|
68
|
+
bodyHtml: keptHtml,
|
|
69
|
+
bodyText: keptText,
|
|
70
|
+
bodyTruncated: {
|
|
71
|
+
totalBytes: total,
|
|
72
|
+
sentBytes: keptText.length,
|
|
73
|
+
hadHtml: html.length > 0,
|
|
74
|
+
emlPath: msg.emlPath || "",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
10
78
|
// ── Debug eval return channel ──
|
|
11
79
|
// The `--debug-server` /api/eval endpoint pushes a `debugEval` event to the
|
|
12
80
|
// main window; app.ts evaluates the code and answers via the
|
|
@@ -70,7 +138,10 @@ async function dispatchAction(svc, action, p) {
|
|
|
70
138
|
case "getUnifiedInbox":
|
|
71
139
|
return svc.getUnifiedInbox(p.page || 1, p.pageSize || 50, !!p.flaggedOnly, p.dateBasis);
|
|
72
140
|
case "getMessage":
|
|
73
|
-
|
|
141
|
+
// capBodyForIpc, not the store: the HTTP /body path in
|
|
142
|
+
// popout-server has no evaluate_script limit and must keep
|
|
143
|
+
// serving the FULL body. The cap belongs to this transport only.
|
|
144
|
+
return capBodyForIpc(await svc.getMessage(p.accountId, p.uid, p.allowRemote, p.folderId));
|
|
74
145
|
// Flags & actions
|
|
75
146
|
case "updateFlags":
|
|
76
147
|
await svc.updateFlags(p.accountId, p.uid, p.flags, p.folderId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["jsonrpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,75 @@ const rootPkg = JSON.parse(readFileSync(join(import.meta.dirname, "..", "..", "p
|
|
|
13
13
|
// Accept any object with the right methods — avoids type conflicts from separate declarations
|
|
14
14
|
type ServiceLike = Record<string, (...args: any[]) => any>;
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Largest message body we will hand to the IPC channel.
|
|
18
|
+
*
|
|
19
|
+
* This is a TRANSPORT limit, not a display limit. msger answers every IPC call
|
|
20
|
+
* by marshalling the reply into a JavaScript source string and running it
|
|
21
|
+
* through `webview.evaluate_script(...)`. A 9 MB body therefore becomes a
|
|
22
|
+
* ~10 MB script for WebView2 to compile, which kills the renderer outright:
|
|
23
|
+
*
|
|
24
|
+
* [msger] WebView2 process failed (kind=2) — reloading
|
|
25
|
+
*
|
|
26
|
+
* and the app comes back unusable (Bob 2026-08-08, a 9.35 MB qmail bounce from
|
|
27
|
+
* gal.iecc.com that inlined the entire original message — no MIME structure, so
|
|
28
|
+
* the whole thing is one text/plain part). Worse than the crash: when the reply
|
|
29
|
+
* never lands the viewer silently fell back to the 200-character `preview`
|
|
30
|
+
* column and presented it AS the message, so a 9 MB bounce looked like one
|
|
31
|
+
* sentence trailing off mid-word at "<al".
|
|
32
|
+
*
|
|
33
|
+
* 1.5 MB is comfortably above any body a human wrote and far below what breaks
|
|
34
|
+
* evaluate_script. Over the line, the head of the body still goes across (so
|
|
35
|
+
* the message is readable) with `bodyTruncated` set, and the UI says plainly
|
|
36
|
+
* what happened instead of pretending the snippet is the whole letter.
|
|
37
|
+
*
|
|
38
|
+
* The proper fix is to stop marshalling bodies through evaluate_script at all —
|
|
39
|
+
* the loopback server already serves them over plain HTTP at `/body`, which has
|
|
40
|
+
* no such limit. This guard is what makes the failure survivable until then.
|
|
41
|
+
*/
|
|
42
|
+
const IPC_BODY_MAX_BYTES = 1_500_000;
|
|
43
|
+
|
|
44
|
+
/** Head of an oversized body, cut on a line boundary so the visible text ends
|
|
45
|
+
* somewhere sensible rather than mid-token. */
|
|
46
|
+
function headOf(s: string, max: number): string {
|
|
47
|
+
if (s.length <= max) return s;
|
|
48
|
+
const cut = s.slice(0, max);
|
|
49
|
+
const lastBreak = cut.lastIndexOf("\n");
|
|
50
|
+
return lastBreak > max * 0.8 ? cut.slice(0, lastBreak) : cut;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Keep a getMessage reply inside what the IPC channel can actually carry.
|
|
55
|
+
* Returns the message unchanged when it already fits — the overwhelming
|
|
56
|
+
* majority of mail — so there is no cost on the normal path.
|
|
57
|
+
*/
|
|
58
|
+
function capBodyForIpc(msg: any): any {
|
|
59
|
+
if (!msg || typeof msg !== "object") return msg;
|
|
60
|
+
const html = typeof msg.bodyHtml === "string" ? msg.bodyHtml : "";
|
|
61
|
+
const text = typeof msg.bodyText === "string" ? msg.bodyText : "";
|
|
62
|
+
const total = html.length + text.length;
|
|
63
|
+
if (total <= IPC_BODY_MAX_BYTES) return msg;
|
|
64
|
+
|
|
65
|
+
// Prefer the plain text when we have to truncate: a half-sent HTML
|
|
66
|
+
// document renders as garbage (unclosed tags swallow the rest), whereas
|
|
67
|
+
// half of a text body is simply the first half of the text.
|
|
68
|
+
const keptText = text ? headOf(text, IPC_BODY_MAX_BYTES) : "";
|
|
69
|
+
const keptHtml = !text && html ? "" : ""; // never ship partial HTML
|
|
70
|
+
console.log(` [ipc] body too large for evaluate_script — acct=${msg.accountId} uid=${msg.uid} `
|
|
71
|
+
+ `html=${html.length} text=${text.length} → sending ${keptText.length} bytes of text + truncation notice`);
|
|
72
|
+
return {
|
|
73
|
+
...msg,
|
|
74
|
+
bodyHtml: keptHtml,
|
|
75
|
+
bodyText: keptText,
|
|
76
|
+
bodyTruncated: {
|
|
77
|
+
totalBytes: total,
|
|
78
|
+
sentBytes: keptText.length,
|
|
79
|
+
hadHtml: html.length > 0,
|
|
80
|
+
emlPath: msg.emlPath || "",
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
16
85
|
export interface RpcRequest {
|
|
17
86
|
_action: string;
|
|
18
87
|
_cbid: string;
|
|
@@ -92,7 +161,10 @@ async function dispatchAction(svc: ServiceLike, action: string, p: Record<string
|
|
|
92
161
|
case "getUnifiedInbox":
|
|
93
162
|
return svc.getUnifiedInbox(p.page || 1, p.pageSize || 50, !!p.flaggedOnly, p.dateBasis);
|
|
94
163
|
case "getMessage":
|
|
95
|
-
|
|
164
|
+
// capBodyForIpc, not the store: the HTTP /body path in
|
|
165
|
+
// popout-server has no evaluate_script limit and must keep
|
|
166
|
+
// serving the FULL body. The cap belongs to this transport only.
|
|
167
|
+
return capBodyForIpc(await svc.getMessage(p.accountId, p.uid, p.allowRemote, p.folderId));
|
|
96
168
|
|
|
97
169
|
// Flags & actions
|
|
98
170
|
case "updateFlags":
|