@bobfrankston/rmfmail 1.1.5 → 1.1.7
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/bin/build-bundles.mjs +12 -0
- package/client/android-bootstrap.bundle.js +19 -1
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +47 -13
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +15 -6
- package/client/app.js.map +1 -1
- package/client/app.ts +14 -6
- package/client/components/alarms.js +36 -10
- package/client/components/alarms.js.map +1 -1
- package/client/components/alarms.ts +32 -10
- package/client/components/message-list.js +48 -20
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +46 -19
- package/package.json +3 -3
- package/packages/mailx-store/store.d.ts +4 -0
- package/packages/mailx-store/store.d.ts.map +1 -1
- package/packages/mailx-store/store.js +36 -13
- package/packages/mailx-store/store.js.map +1 -1
- package/packages/mailx-store/store.ts +44 -14
- package/packages/mailx-store-web/db.d.ts.map +1 -1
- package/packages/mailx-store-web/db.js +24 -9
- package/packages/mailx-store-web/db.js.map +1 -1
- package/packages/mailx-store-web/db.ts +25 -10
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-store-web/wasm.d.ts +7 -0
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-11408 → node_modules.npmglobalize-stash-38392}/.package-lock.json +0 -0
|
@@ -285,25 +285,45 @@ export class Store {
|
|
|
285
285
|
return { ...cached, remoteAllowed: allowRemote, isFlagged };
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
+
// Async parse path — Bob 2026-05-14: click→preview was taking
|
|
289
|
+
// multiple seconds because the IPC return waited on simpleParser
|
|
290
|
+
// (in a worker thread, but the await held the IPC promise). Now
|
|
291
|
+
// a parse-cache miss returns envelope-only IMMEDIATELY, kicks the
|
|
292
|
+
// parse in the background, and emits `bodyAvailable` on the bus
|
|
293
|
+
// when it completes. The viewer already subscribes to that event
|
|
294
|
+
// (cache-miss-from-disk path), so re-calling getMessage on the
|
|
295
|
+
// event hits the populated LRU and renders instantly. No IPC wait
|
|
296
|
+
// on parse, no main-thread blocking.
|
|
297
|
+
//
|
|
298
|
+
// Dedup: if this same .eml is already being parsed (e.g., the user
|
|
299
|
+
// double-clicked, or rapid sync arrival), reuse the in-flight
|
|
300
|
+
// promise instead of starting a second parse.
|
|
301
|
+
const inflight = this.parseInflight.get(cacheKey);
|
|
302
|
+
if (!inflight) {
|
|
303
|
+
this.parseInflight.set(cacheKey, this.parseAndCacheAsync(
|
|
304
|
+
storedPath, cacheKey, accountId, uid, folderId, mtimeMs, envelope, allowRemote, isFlagged,
|
|
305
|
+
));
|
|
306
|
+
}
|
|
307
|
+
return empty;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/** In-flight parse dedup. Multiple getMessage calls for the same body
|
|
311
|
+
* while a parse is running share one promise. Cleared on completion. */
|
|
312
|
+
private parseInflight = new Map<string, Promise<void>>();
|
|
313
|
+
|
|
314
|
+
private async parseAndCacheAsync(
|
|
315
|
+
storedPath: string, cacheKey: string,
|
|
316
|
+
accountId: string, uid: number, folderId: number | undefined,
|
|
317
|
+
mtimeMs: number, envelope: any, allowRemote: boolean, isFlagged: boolean,
|
|
318
|
+
): Promise<void> {
|
|
288
319
|
let raw: Buffer;
|
|
289
320
|
try {
|
|
290
321
|
raw = await this.bodyStore.readByPath(storedPath);
|
|
291
322
|
} catch {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
// the reconciler should re-fetch. Don't crash; return as if
|
|
295
|
-
// not cached.
|
|
296
|
-
return empty;
|
|
323
|
+
this.parseInflight.delete(cacheKey);
|
|
324
|
+
return;
|
|
297
325
|
}
|
|
298
|
-
|
|
299
|
-
// Parse + sanitize. Same logic as today's MailxService.getMessage,
|
|
300
|
-
// but executed only when the body is local — never on a fresh
|
|
301
|
-
// server fetch.
|
|
302
326
|
const adjusted = sniffAndFixCharset(raw);
|
|
303
|
-
// simpleParser blocks the event loop while it parses — visible cost
|
|
304
|
-
// on >100 KB messages. Time it so the log makes the cost concrete:
|
|
305
|
-
// when this number is high, that's why other IPC calls (the next
|
|
306
|
-
// message click, the folder-count update tick) stall.
|
|
307
327
|
const _parseT0 = Date.now();
|
|
308
328
|
const parsed = await parseSerial(adjusted);
|
|
309
329
|
const _parseMs = Date.now() - _parseT0;
|
|
@@ -416,7 +436,17 @@ export class Store {
|
|
|
416
436
|
// is cheap.
|
|
417
437
|
const hasContent = (bodyHtml && bodyHtml.length > 0) || (bodyText && bodyText.length > 0);
|
|
418
438
|
if (mtimeMs > 0 && hasContent) this.parsedLruPut(cacheKey, result);
|
|
419
|
-
|
|
439
|
+
// Done — drop the in-flight entry and publish so the viewer
|
|
440
|
+
// re-fetches and gets the now-populated LRU. Topic + payload
|
|
441
|
+
// match the cache-miss-from-disk shape so the viewer's existing
|
|
442
|
+
// subscribeStore handler covers this case too.
|
|
443
|
+
this.parseInflight.delete(cacheKey);
|
|
444
|
+
const msgUuid: string | undefined = envelope?.uuid;
|
|
445
|
+
this.bus.publish({
|
|
446
|
+
topic: msgUuid ? `message:${msgUuid}` : `folder:${folderId}`,
|
|
447
|
+
kind: "bodyAvailable",
|
|
448
|
+
accountId, folderId, uid, msgUuid,
|
|
449
|
+
});
|
|
420
450
|
}
|
|
421
451
|
|
|
422
452
|
// ── Calendar / tasks / contacts (read paths) ──
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,20 @@
|
|
|
7
7
|
* Bodies are stored in IndexedDB via WebMessageStore (not filesystem).
|
|
8
8
|
*/
|
|
9
9
|
import initSqlJs from "sql.js";
|
|
10
|
+
// Inline the WebAssembly binary at bundle time (esbuild loader: ".wasm" =
|
|
11
|
+
// "binary"). The import resolves to a Uint8Array of the wasm bytes. We
|
|
12
|
+
// pass these directly to initSqlJs via `wasmBinary`, skipping sql.js's
|
|
13
|
+
// runtime fetch of the .wasm — Android WebView can't compile WASM
|
|
14
|
+
// fetched from `file://` (no application/wasm MIME, and the ArrayBuffer
|
|
15
|
+
// fallback fetch also blocks). Found via jserv logit 2026-05-14 v1.1.6.1:
|
|
16
|
+
// "wasm streaming compile failed → fallback ArrayBuffer instantiation
|
|
17
|
+
// → both async and sync fetching of the wasm failed". Embedding makes
|
|
18
|
+
// the android-bootstrap bundle ~700 KB larger but eliminates the runtime
|
|
19
|
+
// fetch dependency entirely. Desktop (msger) doesn't load this bundle —
|
|
20
|
+
// the check `if (!window.mailxapi)` in index.html routes desktop past
|
|
21
|
+
// android-bootstrap.js — so the extra bytes only ship in the Android APK.
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
import sqlWasmBinary from "sql.js/dist/sql-wasm.wasm";
|
|
10
24
|
import { parseSearchQuery, CONTACT_RULES } from "@bobfrankston/mailx-types";
|
|
11
25
|
/** Junk-contact filter regexes — sourced from contact-rules.jsonc so
|
|
12
26
|
* desktop and Android share one rule definition. */
|
|
@@ -256,16 +270,17 @@ export class WebMailxDB {
|
|
|
256
270
|
this.ready = this.init(dbName);
|
|
257
271
|
}
|
|
258
272
|
async init(_dbName) {
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
//
|
|
266
|
-
//
|
|
273
|
+
// wasmBinary is the bundle-inlined Uint8Array (see import + comment
|
|
274
|
+
// at top of file). Bypasses sql.js's runtime fetch entirely — works
|
|
275
|
+
// identically on Android WebView (file://), browser, desktop msger,
|
|
276
|
+
// and Node tests. locateFile is omitted because nothing else in the
|
|
277
|
+
// sql.js init path fetches anymore once wasmBinary is provided.
|
|
278
|
+
// sql.js's TypeScript declarations don't include `wasmBinary` in
|
|
279
|
+
// the InitSqlJsOptions type, but Emscripten honors it at runtime —
|
|
280
|
+
// the bytes go straight into WebAssembly.instantiate without a
|
|
281
|
+
// fetch. Cast to `any` to bypass the type check.
|
|
267
282
|
const SQL = await initSqlJs({
|
|
268
|
-
|
|
283
|
+
wasmBinary: sqlWasmBinary,
|
|
269
284
|
});
|
|
270
285
|
// Try to load existing DB from IndexedDB
|
|
271
286
|
const existing = await loadDbFromIdb();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,20 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import initSqlJs, { type Database } from "sql.js";
|
|
11
|
+
// Inline the WebAssembly binary at bundle time (esbuild loader: ".wasm" =
|
|
12
|
+
// "binary"). The import resolves to a Uint8Array of the wasm bytes. We
|
|
13
|
+
// pass these directly to initSqlJs via `wasmBinary`, skipping sql.js's
|
|
14
|
+
// runtime fetch of the .wasm — Android WebView can't compile WASM
|
|
15
|
+
// fetched from `file://` (no application/wasm MIME, and the ArrayBuffer
|
|
16
|
+
// fallback fetch also blocks). Found via jserv logit 2026-05-14 v1.1.6.1:
|
|
17
|
+
// "wasm streaming compile failed → fallback ArrayBuffer instantiation
|
|
18
|
+
// → both async and sync fetching of the wasm failed". Embedding makes
|
|
19
|
+
// the android-bootstrap bundle ~700 KB larger but eliminates the runtime
|
|
20
|
+
// fetch dependency entirely. Desktop (msger) doesn't load this bundle —
|
|
21
|
+
// the check `if (!window.mailxapi)` in index.html routes desktop past
|
|
22
|
+
// android-bootstrap.js — so the extra bytes only ship in the Android APK.
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
import sqlWasmBinary from "sql.js/dist/sql-wasm.wasm";
|
|
11
25
|
import { parseSearchQuery, CONTACT_RULES } from "@bobfrankston/mailx-types";
|
|
12
26
|
import type { MessageEnvelope, Folder, EmailAddress, PagedResult, MessageQuery } from "@bobfrankston/mailx-types";
|
|
13
27
|
|
|
@@ -263,17 +277,18 @@ export class WebMailxDB {
|
|
|
263
277
|
}
|
|
264
278
|
|
|
265
279
|
private async init(_dbName: string): Promise<void> {
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
//
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
//
|
|
273
|
-
//
|
|
280
|
+
// wasmBinary is the bundle-inlined Uint8Array (see import + comment
|
|
281
|
+
// at top of file). Bypasses sql.js's runtime fetch entirely — works
|
|
282
|
+
// identically on Android WebView (file://), browser, desktop msger,
|
|
283
|
+
// and Node tests. locateFile is omitted because nothing else in the
|
|
284
|
+
// sql.js init path fetches anymore once wasmBinary is provided.
|
|
285
|
+
// sql.js's TypeScript declarations don't include `wasmBinary` in
|
|
286
|
+
// the InitSqlJsOptions type, but Emscripten honors it at runtime —
|
|
287
|
+
// the bytes go straight into WebAssembly.instantiate without a
|
|
288
|
+
// fetch. Cast to `any` to bypass the type check.
|
|
274
289
|
const SQL = await initSqlJs({
|
|
275
|
-
|
|
276
|
-
});
|
|
290
|
+
wasmBinary: sqlWasmBinary,
|
|
291
|
+
} as any);
|
|
277
292
|
|
|
278
293
|
// Try to load existing DB from IndexedDB
|
|
279
294
|
const existing = await loadDbFromIdb();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// esbuild's `binary` loader resolves a `.wasm` import to a Uint8Array of
|
|
2
|
+
// the file's raw bytes. tsc doesn't know about that loader, so without
|
|
3
|
+
// this declaration it errors "Cannot find module 'sql.js/dist/sql-wasm.wasm'".
|
|
4
|
+
declare module "*.wasm" {
|
|
5
|
+
const bytes: Uint8Array;
|
|
6
|
+
export default bytes;
|
|
7
|
+
}
|