@bobfrankston/rmfmail 1.0.705 → 1.0.707

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.
Files changed (64) hide show
  1. package/bin/mailx.js +15 -1
  2. package/bin/mailx.js.map +1 -1
  3. package/bin/mailx.ts +17 -1
  4. package/client/android-bootstrap.bundle.js +163 -2
  5. package/client/android-bootstrap.bundle.js.map +2 -2
  6. package/client/app.bundle.js +12 -0
  7. package/client/app.bundle.js.map +2 -2
  8. package/client/compose/compose.bundle.js +47 -5
  9. package/client/compose/compose.bundle.js.map +2 -2
  10. package/client/compose/compose.js +25 -5
  11. package/client/compose/compose.js.map +1 -1
  12. package/client/compose/compose.ts +21 -5
  13. package/client/compose/spellcheck.js +34 -5
  14. package/client/compose/spellcheck.js.map +1 -1
  15. package/client/compose/spellcheck.ts +31 -4
  16. package/client/lib/api-client.js +9 -0
  17. package/client/lib/api-client.js.map +1 -1
  18. package/client/lib/api-client.ts +9 -0
  19. package/package.json +1 -1
  20. package/packages/mailx-service/index.d.ts +30 -2
  21. package/packages/mailx-service/index.d.ts.map +1 -1
  22. package/packages/mailx-service/index.js +38 -1
  23. package/packages/mailx-service/index.js.map +1 -1
  24. package/packages/mailx-service/index.ts +44 -3
  25. package/packages/mailx-service/jsonrpc.js +6 -0
  26. package/packages/mailx-service/jsonrpc.js.map +1 -1
  27. package/packages/mailx-service/jsonrpc.ts +6 -0
  28. package/packages/mailx-settings/index.d.ts +7 -0
  29. package/packages/mailx-settings/index.d.ts.map +1 -1
  30. package/packages/mailx-settings/index.js +35 -1
  31. package/packages/mailx-settings/index.js.map +1 -1
  32. package/packages/mailx-settings/index.ts +36 -1
  33. package/packages/mailx-store/index.d.ts +1 -1
  34. package/packages/mailx-store/index.d.ts.map +1 -1
  35. package/packages/mailx-store/index.js +1 -1
  36. package/packages/mailx-store/index.js.map +1 -1
  37. package/packages/mailx-store/index.ts +1 -1
  38. package/packages/mailx-store/parse-serial.d.ts +40 -24
  39. package/packages/mailx-store/parse-serial.d.ts.map +1 -1
  40. package/packages/mailx-store/parse-serial.js +161 -29
  41. package/packages/mailx-store/parse-serial.js.map +1 -1
  42. package/packages/mailx-store/parse-serial.ts +151 -37
  43. package/packages/mailx-store/parse-worker.d.ts +2 -0
  44. package/packages/mailx-store/parse-worker.d.ts.map +1 -0
  45. package/packages/mailx-store/parse-worker.js +53 -0
  46. package/packages/mailx-store/parse-worker.js.map +1 -0
  47. package/packages/mailx-store/parse-worker.ts +62 -0
  48. package/packages/mailx-store-web/package.json +1 -1
  49. package/packages/mailx-store-web/web-service.d.ts +88 -3
  50. package/packages/mailx-store-web/web-service.d.ts.map +1 -1
  51. package/packages/mailx-store-web/web-service.js +92 -2
  52. package/packages/mailx-store-web/web-service.js.map +1 -1
  53. package/packages/mailx-store-web/web-service.ts +110 -5
  54. package/packages/mailx-types/index.d.ts +1 -0
  55. package/packages/mailx-types/index.d.ts.map +1 -1
  56. package/packages/mailx-types/index.js.map +1 -1
  57. package/packages/mailx-types/index.ts +1 -0
  58. package/packages/mailx-types/mailx-api.d.ts +212 -0
  59. package/packages/mailx-types/mailx-api.d.ts.map +1 -0
  60. package/packages/mailx-types/mailx-api.js +41 -0
  61. package/packages/mailx-types/mailx-api.js.map +1 -0
  62. package/packages/mailx-types/mailx-api.ts +159 -0
  63. package/packages/mailx-types/package.json +1 -1
  64. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-34984 → node_modules.npmglobalize-stash-40064}/.package-lock.json +0 -0
@@ -0,0 +1,62 @@
1
+ /**
2
+ * mailparser worker thread.
3
+ *
4
+ * Runs simpleParser off the main event loop so a 14-25 second cold-start
5
+ * (or any slow parse) can't block IPC. The main thread's `parse-serial.ts`
6
+ * spawns this worker once at first use, then dispatches every parse here
7
+ * via postMessage and awaits the reply.
8
+ *
9
+ * Protocol:
10
+ * main → worker: { id: number, source: Buffer | string }
11
+ * worker → main: { id: number, ok: true, result: ParsedMail }
12
+ * | { id: number, ok: false, error: string }
13
+ *
14
+ * The worker holds its own mailparser module instance — JIT cost and
15
+ * libmime/iconv-lite loading happen exactly once per worker process. The
16
+ * main thread sees only the postMessage round-trip (~1 ms on local
17
+ * structured-clone of a small Buffer + parsed object).
18
+ */
19
+ import { parentPort } from "node:worker_threads";
20
+ import { simpleParser, type Source } from "mailparser";
21
+
22
+ if (!parentPort) {
23
+ throw new Error("parse-worker: must be spawned as a worker, parentPort is null");
24
+ }
25
+
26
+ interface ParseRequest {
27
+ id: number;
28
+ source: Source;
29
+ }
30
+
31
+ // Self-warmup: parse a synthetic RFC 5322 message at worker startup so V8
32
+ // JIT, libmime / iconv-lite module loading, and mailparser's lazy
33
+ // initialisation all complete *before* the worker accepts its first real
34
+ // request. Sub-50 ms parses become the norm even on the first user click,
35
+ // instead of the 14-25 s cold-start observed when this work happened
36
+ // on-demand. Buffered messages received during warmup queue behind it.
37
+ const _warmupT0 = Date.now();
38
+ const _warmupPromise = simpleParser(Buffer.from(
39
+ "From: warmup@mailx.local\r\nTo: warmup@mailx.local\r\n"
40
+ + "Subject: warmup\r\nMIME-Version: 1.0\r\n"
41
+ + "Content-Type: text/plain; charset=UTF-8\r\n\r\n"
42
+ + "parse-worker cold-start absorber. Discard.\r\n",
43
+ "utf8",
44
+ )).then(() => {
45
+ // Optional: emit a heartbeat so the main thread can log the cost.
46
+ parentPort!.postMessage({ warmupMs: Date.now() - _warmupT0 });
47
+ }).catch(() => { /* warmup is best-effort; fall through to real handling */ });
48
+
49
+ parentPort.on("message", async (msg: ParseRequest) => {
50
+ const { id, source } = msg;
51
+ // If a real parse arrives during warmup, queue behind it. The await
52
+ // resolves immediately once warmup is done; trivially fast on hot
53
+ // worker since _warmupPromise is already resolved.
54
+ await _warmupPromise;
55
+ try {
56
+ const result = await simpleParser(source);
57
+ parentPort!.postMessage({ id, ok: true, result });
58
+ } catch (e: unknown) {
59
+ const error = e instanceof Error ? e.message : String(e);
60
+ parentPort!.postMessage({ id, ok: false, error });
61
+ }
62
+ });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-store-web",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import type { WebMailxDB } from "./db.js";
13
13
  import type { WebMessageStore } from "./web-message-store.js";
14
- import type { Folder, AutocompleteSettings } from "@bobfrankston/mailx-types";
14
+ import type { Folder, AutocompleteSettings, MailxApi } from "@bobfrankston/mailx-types";
15
15
  export interface WebSyncManager {
16
16
  syncAll(): Promise<void>;
17
17
  syncFolders(accountId: string): Promise<Folder[]>;
@@ -40,7 +40,7 @@ export interface WebSyncManager {
40
40
  on(event: string, handler: (...args: any[]) => void): void;
41
41
  emit(event: string, ...args: any[]): void;
42
42
  }
43
- export declare class WebMailxService {
43
+ export declare class WebMailxService implements MailxApi {
44
44
  private db;
45
45
  private bodyStore;
46
46
  private syncManager;
@@ -74,7 +74,7 @@ export declare class WebMailxService {
74
74
  moveMessages(accountId: string, uids: number[], targetFolderId: number): Promise<void>;
75
75
  undeleteMessage(accountId: string, uid: number, folderId: number): Promise<void>;
76
76
  saveDraft(accountId: string, subject: string, bodyHtml: string, bodyText: string, to?: string, cc?: string, previousDraftUid?: number, draftId?: string): Promise<{
77
- uid: number | null;
77
+ draftUid: number | null;
78
78
  draftId: string;
79
79
  }>;
80
80
  deleteDraft(accountId: string, draftUid: number): Promise<void>;
@@ -132,5 +132,90 @@ export declare class WebMailxService {
132
132
  }>;
133
133
  setPrioritySender(email: string, value: boolean, name?: string): Promise<void>;
134
134
  setPriorityDomain(domain: string, value: boolean): Promise<void>;
135
+ sendMessage(msg: any): Promise<void>;
136
+ searchMessages(query: string, page?: number, pageSize?: number, scope?: string, accountId?: string, folderId?: number, _includeTrashSpam?: boolean): Promise<any>;
137
+ private notImpl;
138
+ getThreadMessages(_accountId: string, _threadId: string): any;
139
+ getAttachment(_accountId: string, _uid: number, _attachmentId: number, _folderId?: number): Promise<{
140
+ content: any;
141
+ contentType: string;
142
+ filename: string;
143
+ }>;
144
+ markAsSpamMessages(_accountId: string, _uids: number[]): Promise<{
145
+ targetFolderId: number;
146
+ moved: number;
147
+ }>;
148
+ recordSpamReport(_accountId: string, _uid: number, _folderId: number): Promise<any>;
149
+ createFolder(_accountId: string, _parentPath: string, _name: string): Promise<void>;
150
+ renameFolder(_accountId: string, _folderId: number, _newName: string): Promise<void>;
151
+ deleteFolder(_accountId: string, _folderId: number): Promise<void>;
152
+ moveFolderToTrash(_accountId: string, _folderId: number): Promise<void>;
153
+ emptyFolder(_accountId: string, _folderId: number): Promise<void>;
154
+ getOutboxStatus(): any;
155
+ listQueuedOutgoing(): any[];
156
+ cancelQueuedOutgoing(_filePath: string): {
157
+ ok: true;
158
+ };
159
+ drainStoreSync(): Promise<void>;
160
+ reauthGoogleScopes(): {
161
+ cleared: number;
162
+ };
163
+ addPreferredContact(_entry: {
164
+ name: string;
165
+ email: string;
166
+ source?: string;
167
+ organization?: string;
168
+ }): Promise<void>;
169
+ addToDenylist(_email: string): Promise<void>;
170
+ hasBccHistoryTo(_email: string): boolean;
171
+ loadContactsConfig(): Promise<any>;
172
+ getCalendarEvents(_fromMs: number, _toMs: number): Promise<any[]>;
173
+ createCalendarEvent(_ev: any): Promise<{
174
+ uuid: string;
175
+ }>;
176
+ updateCalendarEvent(_uuid: string, _patch: any): Promise<{
177
+ ok: true;
178
+ }>;
179
+ deleteCalendarEvent(_uuid: string): Promise<{
180
+ ok: true;
181
+ }>;
182
+ getTasks(_includeCompleted?: boolean): Promise<any[]>;
183
+ createTask(_t: {
184
+ title: string;
185
+ notes?: string;
186
+ dueMs?: number;
187
+ }): Promise<{
188
+ uuid: string;
189
+ }>;
190
+ updateTask(_uuid: string, _patch: any): Promise<{
191
+ ok: true;
192
+ }>;
193
+ deleteTask(_uuid: string): Promise<{
194
+ ok: true;
195
+ }>;
196
+ getUserDict(): Promise<string[]>;
197
+ addUserDictWord(_word: string): Promise<string[]>;
198
+ removeUserDictWord(_word: string): Promise<string[]>;
199
+ getDiagnostics(): any;
200
+ getPrimaryAccount(_feature?: string): any;
201
+ getVersion(): any;
202
+ consumePendingMailto(): any;
203
+ logClientEvent(..._args: any[]): void;
204
+ setupAccount(_name: string, _email: string, _password?: string): Promise<{
205
+ ok: boolean;
206
+ error?: string;
207
+ message?: string;
208
+ }>;
209
+ repairAccounts(): Promise<{
210
+ ok: boolean;
211
+ error?: string;
212
+ message?: string;
213
+ }>;
214
+ unsubscribeOneClick(_url: string): Promise<{
215
+ ok: boolean;
216
+ status: number;
217
+ statusText: string;
218
+ }>;
219
+ aiTransform(_req: any): Promise<any>;
135
220
  }
136
221
  //# sourceMappingURL=web-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["web-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["web-service.ts"],"names":[],"mappings":"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"}
@@ -497,8 +497,11 @@ export class WebMailxService {
497
497
  `MIME-Version: 1.0`, `Content-Type: text/html; charset=UTF-8`, `Content-Transfer-Encoding: quoted-printable`,
498
498
  ].filter(h => h !== null).join("\r\n");
499
499
  const raw = `${headers}\r\n\r\n${bodyEncoded}`;
500
- const uid = await this.syncManager.saveDraft(accountId, raw, previousDraftUid, id);
501
- return { uid, draftId: id };
500
+ const draftUid = await this.syncManager.saveDraft(accountId, raw, previousDraftUid, id);
501
+ // Was `{ uid, draftId }` — silent drift from desktop's `{ draftUid, draftId }`
502
+ // contract. Clients reading `data.draftUid` got undefined on Android,
503
+ // breaking dedup on the next save.
504
+ return { draftUid, draftId: id };
502
505
  }
503
506
  async deleteDraft(accountId, draftUid) {
504
507
  await this.syncManager.deleteDraft(accountId, draftUid);
@@ -669,6 +672,93 @@ export class WebMailxService {
669
672
  cfg.priorityDomains.splice(i, 1);
670
673
  await cloudWrite("contacts.jsonc", JSON.stringify(cfg, null, 2));
671
674
  }
675
+ // ── MailxApi contract: name aliases ───────────────────────────────
676
+ // The IPC dispatch names (`sendMessage`, `searchMessages`) differ from
677
+ // the historical web method names (`send`, `search`). Thin aliases keep
678
+ // the existing internal method bodies while satisfying `implements
679
+ // MailxApi`. NEW methods should use the IPC name directly so this
680
+ // section doesn't grow.
681
+ sendMessage(msg) { return this.send(msg); }
682
+ searchMessages(query, page, pageSize, scope, accountId, folderId, _includeTrashSpam) {
683
+ // Android `search` lacks the includeTrashSpam flag — folder scoping
684
+ // is enforced UI-side anyway. Drop the 7th argument silently.
685
+ return this.search(query, page, pageSize, scope, accountId, folderId);
686
+ }
687
+ // ── MailxApi contract: explicit stubs for unimplemented Android features ─
688
+ //
689
+ // Every method below is in the contract but has no Android implementation
690
+ // today. Each is declared explicitly so it's *visible* in this file —
691
+ // before the contract was added, these were just absent and IPC calls
692
+ // returned "parent bridge has no method X", silently swallowed by
693
+ // `.catch()` in callers. Now the gap is in one auditable list.
694
+ //
695
+ // Implementation policy:
696
+ // - Pure read with no Android backing: return [] / {} / null / false.
697
+ // UI degrades gracefully; no crash.
698
+ // - Write that mutates state: throw `notImpl()` so a UI button that
699
+ // calls it surfaces an error rather than appearing to succeed.
700
+ // - OS-specific (Word, msger popups, OS file open): also `notImpl()`.
701
+ // These are declared optional `?:` in the contract so we technically
702
+ // could omit them entirely — explicit stubs are clearer.
703
+ //
704
+ // To wire one up: replace the stub body, run tsc, the contract enforces
705
+ // the signature.
706
+ notImpl(name) {
707
+ throw new Error(`Not implemented on Android: ${name}`);
708
+ }
709
+ // Threads / attachments / message reads
710
+ getThreadMessages(_accountId, _threadId) { return []; }
711
+ async getAttachment(_accountId, _uid, _attachmentId, _folderId) { return this.notImpl("getAttachment"); }
712
+ // Spam / abuse
713
+ async markAsSpamMessages(_accountId, _uids) { return this.notImpl("markAsSpamMessages"); }
714
+ async recordSpamReport(_accountId, _uid, _folderId) { return this.notImpl("recordSpamReport"); }
715
+ // Folder CRUD
716
+ async createFolder(_accountId, _parentPath, _name) { this.notImpl("createFolder"); }
717
+ async renameFolder(_accountId, _folderId, _newName) { this.notImpl("renameFolder"); }
718
+ async deleteFolder(_accountId, _folderId) { this.notImpl("deleteFolder"); }
719
+ async moveFolderToTrash(_accountId, _folderId) { this.notImpl("moveFolderToTrash"); }
720
+ async emptyFolder(_accountId, _folderId) { this.notImpl("emptyFolder"); }
721
+ // Outbox management
722
+ getOutboxStatus() { return { count: 0, items: [] }; }
723
+ listQueuedOutgoing() { return []; }
724
+ cancelQueuedOutgoing(_filePath) { return { ok: true }; }
725
+ // Sync infrastructure — getSyncPending already defined above
726
+ async drainStoreSync() { }
727
+ reauthGoogleScopes() { return { cleared: 0 }; }
728
+ // Contacts extensions
729
+ async addPreferredContact(_entry) { this.notImpl("addPreferredContact"); }
730
+ async addToDenylist(_email) { this.notImpl("addToDenylist"); }
731
+ hasBccHistoryTo(_email) { return false; }
732
+ async loadContactsConfig() { return null; }
733
+ // Calendar — Android UI has its own native calendar; no JS-side data.
734
+ async getCalendarEvents(_fromMs, _toMs) { return []; }
735
+ async createCalendarEvent(_ev) { return this.notImpl("createCalendarEvent"); }
736
+ async updateCalendarEvent(_uuid, _patch) { return this.notImpl("updateCalendarEvent"); }
737
+ async deleteCalendarEvent(_uuid) { return this.notImpl("deleteCalendarEvent"); }
738
+ // Tasks — same story
739
+ async getTasks(_includeCompleted) { return []; }
740
+ async createTask(_t) { return this.notImpl("createTask"); }
741
+ async updateTask(_uuid, _patch) { return this.notImpl("updateTask"); }
742
+ async deleteTask(_uuid) { return this.notImpl("deleteTask"); }
743
+ // User dictionary (cloud-mirrored) — Android can implement these via
744
+ // the same userdict.jsonc cloud round-trip the desktop uses; until that
745
+ // wire-up lands, return safe defaults so spellcheck.ts catch() paths
746
+ // don't fire and clutter logs.
747
+ async getUserDict() { return []; }
748
+ async addUserDictWord(_word) { return []; }
749
+ async removeUserDictWord(_word) { return []; }
750
+ // Diagnostics / version / primary account
751
+ getDiagnostics() { return { ok: true, platform: "android" }; }
752
+ getPrimaryAccount(_feature) { return null; }
753
+ getVersion() { return { version: "android", platform: "android" }; }
754
+ consumePendingMailto() { return null; }
755
+ logClientEvent(..._args) { }
756
+ // Setup / repair / unsubscribe
757
+ async setupAccount(_name, _email, _password) { return this.notImpl("setupAccount"); }
758
+ async repairAccounts() { return this.notImpl("repairAccounts"); }
759
+ async unsubscribeOneClick(_url) { return this.notImpl("unsubscribeOneClick"); }
760
+ // AI transforms — pipe through to web autocomplete or no-op
761
+ async aiTransform(_req) { return this.notImpl("aiTransform"); }
672
762
  }
673
763
  /** Loose JSONC parse — strips // comments and trailing commas before JSON.parse.
674
764
  * Sufficient for contacts.jsonc which is machine-written; doesn't pull in
@@ -1 +1 @@
1
- {"version":3,"file":"web-service.js","sourceRoot":"","sources":["web-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-service.js","sourceRoot":"","sources":["web-service.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
 
13
13
  import type { WebMailxDB } from "./db.js";
14
14
  import type { WebMessageStore } from "./web-message-store.js";
15
- import type { Folder, AutocompleteSettings } from "@bobfrankston/mailx-types";
15
+ import type { Folder, AutocompleteSettings, MailxApi } from "@bobfrankston/mailx-types";
16
16
  import { sanitizeHtml, encodeQuotedPrintable, htmlToPlainText } from "@bobfrankston/mailx-types";
17
17
  import {
18
18
  loadSettings, saveSettings, loadAccounts, loadAllowlist, saveAllowlist,
@@ -218,7 +218,7 @@ export interface WebSyncManager {
218
218
 
219
219
  // ── Service ──
220
220
 
221
- export class WebMailxService {
221
+ export class WebMailxService implements MailxApi {
222
222
  constructor(
223
223
  private db: WebMailxDB,
224
224
  private bodyStore: WebMessageStore,
@@ -538,7 +538,7 @@ export class WebMailxService {
538
538
 
539
539
  // ── Drafts ──
540
540
 
541
- async saveDraft(accountId: string, subject: string, bodyHtml: string, bodyText: string, to?: string, cc?: string, previousDraftUid?: number, draftId?: string): Promise<{ uid: number | null; draftId: string }> {
541
+ async saveDraft(accountId: string, subject: string, bodyHtml: string, bodyText: string, to?: string, cc?: string, previousDraftUid?: number, draftId?: string): Promise<{ draftUid: number | null; draftId: string }> {
542
542
  const settings = await loadSettings();
543
543
  const account = settings.accounts.find(a => a.id === accountId);
544
544
  if (!account) throw new Error(`Unknown account: ${accountId}`);
@@ -555,8 +555,11 @@ export class WebMailxService {
555
555
  `MIME-Version: 1.0`, `Content-Type: text/html; charset=UTF-8`, `Content-Transfer-Encoding: quoted-printable`,
556
556
  ].filter(h => h !== null).join("\r\n");
557
557
  const raw = `${headers}\r\n\r\n${bodyEncoded}`;
558
- const uid = await this.syncManager.saveDraft(accountId, raw, previousDraftUid, id);
559
- return { uid, draftId: id };
558
+ const draftUid = await this.syncManager.saveDraft(accountId, raw, previousDraftUid, id);
559
+ // Was `{ uid, draftId }` — silent drift from desktop's `{ draftUid, draftId }`
560
+ // contract. Clients reading `data.draftUid` got undefined on Android,
561
+ // breaking dedup on the next save.
562
+ return { draftUid, draftId: id };
560
563
  }
561
564
 
562
565
  async deleteDraft(accountId: string, draftUid: number): Promise<void> {
@@ -739,6 +742,108 @@ export class WebMailxService {
739
742
  else if (!value && i >= 0) cfg.priorityDomains.splice(i, 1);
740
743
  await cloudWrite("contacts.jsonc", JSON.stringify(cfg, null, 2));
741
744
  }
745
+
746
+ // ── MailxApi contract: name aliases ───────────────────────────────
747
+ // The IPC dispatch names (`sendMessage`, `searchMessages`) differ from
748
+ // the historical web method names (`send`, `search`). Thin aliases keep
749
+ // the existing internal method bodies while satisfying `implements
750
+ // MailxApi`. NEW methods should use the IPC name directly so this
751
+ // section doesn't grow.
752
+ sendMessage(msg: any): Promise<void> { return this.send(msg); }
753
+ searchMessages(query: string, page?: number, pageSize?: number, scope?: string, accountId?: string, folderId?: number, _includeTrashSpam?: boolean): Promise<any> {
754
+ // Android `search` lacks the includeTrashSpam flag — folder scoping
755
+ // is enforced UI-side anyway. Drop the 7th argument silently.
756
+ return this.search(query, page, pageSize, scope, accountId, folderId);
757
+ }
758
+
759
+ // ── MailxApi contract: explicit stubs for unimplemented Android features ─
760
+ //
761
+ // Every method below is in the contract but has no Android implementation
762
+ // today. Each is declared explicitly so it's *visible* in this file —
763
+ // before the contract was added, these were just absent and IPC calls
764
+ // returned "parent bridge has no method X", silently swallowed by
765
+ // `.catch()` in callers. Now the gap is in one auditable list.
766
+ //
767
+ // Implementation policy:
768
+ // - Pure read with no Android backing: return [] / {} / null / false.
769
+ // UI degrades gracefully; no crash.
770
+ // - Write that mutates state: throw `notImpl()` so a UI button that
771
+ // calls it surfaces an error rather than appearing to succeed.
772
+ // - OS-specific (Word, msger popups, OS file open): also `notImpl()`.
773
+ // These are declared optional `?:` in the contract so we technically
774
+ // could omit them entirely — explicit stubs are clearer.
775
+ //
776
+ // To wire one up: replace the stub body, run tsc, the contract enforces
777
+ // the signature.
778
+
779
+ private notImpl(name: string): never {
780
+ throw new Error(`Not implemented on Android: ${name}`);
781
+ }
782
+
783
+ // Threads / attachments / message reads
784
+ getThreadMessages(_accountId: string, _threadId: string): any { return []; }
785
+ async getAttachment(_accountId: string, _uid: number, _attachmentId: number, _folderId?: number): Promise<{ content: any; contentType: string; filename: string }> { return this.notImpl("getAttachment"); }
786
+
787
+ // Spam / abuse
788
+ async markAsSpamMessages(_accountId: string, _uids: number[]): Promise<{ targetFolderId: number; moved: number }> { return this.notImpl("markAsSpamMessages"); }
789
+ async recordSpamReport(_accountId: string, _uid: number, _folderId: number): Promise<any> { return this.notImpl("recordSpamReport"); }
790
+
791
+ // Folder CRUD
792
+ async createFolder(_accountId: string, _parentPath: string, _name: string): Promise<void> { this.notImpl("createFolder"); }
793
+ async renameFolder(_accountId: string, _folderId: number, _newName: string): Promise<void> { this.notImpl("renameFolder"); }
794
+ async deleteFolder(_accountId: string, _folderId: number): Promise<void> { this.notImpl("deleteFolder"); }
795
+ async moveFolderToTrash(_accountId: string, _folderId: number): Promise<void> { this.notImpl("moveFolderToTrash"); }
796
+ async emptyFolder(_accountId: string, _folderId: number): Promise<void> { this.notImpl("emptyFolder"); }
797
+
798
+ // Outbox management
799
+ getOutboxStatus(): any { return { count: 0, items: [] }; }
800
+ listQueuedOutgoing(): any[] { return []; }
801
+ cancelQueuedOutgoing(_filePath: string): { ok: true } { return { ok: true }; }
802
+
803
+ // Sync infrastructure — getSyncPending already defined above
804
+ async drainStoreSync(): Promise<void> { /* no-op on Android */ }
805
+ reauthGoogleScopes(): { cleared: number } { return { cleared: 0 }; }
806
+
807
+ // Contacts extensions
808
+ async addPreferredContact(_entry: { name: string; email: string; source?: string; organization?: string }): Promise<void> { this.notImpl("addPreferredContact"); }
809
+ async addToDenylist(_email: string): Promise<void> { this.notImpl("addToDenylist"); }
810
+ hasBccHistoryTo(_email: string): boolean { return false; }
811
+ async loadContactsConfig(): Promise<any> { return null; }
812
+
813
+ // Calendar — Android UI has its own native calendar; no JS-side data.
814
+ async getCalendarEvents(_fromMs: number, _toMs: number): Promise<any[]> { return []; }
815
+ async createCalendarEvent(_ev: any): Promise<{ uuid: string }> { return this.notImpl("createCalendarEvent"); }
816
+ async updateCalendarEvent(_uuid: string, _patch: any): Promise<{ ok: true }> { return this.notImpl("updateCalendarEvent"); }
817
+ async deleteCalendarEvent(_uuid: string): Promise<{ ok: true }> { return this.notImpl("deleteCalendarEvent"); }
818
+
819
+ // Tasks — same story
820
+ async getTasks(_includeCompleted?: boolean): Promise<any[]> { return []; }
821
+ async createTask(_t: { title: string; notes?: string; dueMs?: number }): Promise<{ uuid: string }> { return this.notImpl("createTask"); }
822
+ async updateTask(_uuid: string, _patch: any): Promise<{ ok: true }> { return this.notImpl("updateTask"); }
823
+ async deleteTask(_uuid: string): Promise<{ ok: true }> { return this.notImpl("deleteTask"); }
824
+
825
+ // User dictionary (cloud-mirrored) — Android can implement these via
826
+ // the same userdict.jsonc cloud round-trip the desktop uses; until that
827
+ // wire-up lands, return safe defaults so spellcheck.ts catch() paths
828
+ // don't fire and clutter logs.
829
+ async getUserDict(): Promise<string[]> { return []; }
830
+ async addUserDictWord(_word: string): Promise<string[]> { return []; }
831
+ async removeUserDictWord(_word: string): Promise<string[]> { return []; }
832
+
833
+ // Diagnostics / version / primary account
834
+ getDiagnostics(): any { return { ok: true, platform: "android" }; }
835
+ getPrimaryAccount(_feature?: string): any { return null; }
836
+ getVersion(): any { return { version: "android", platform: "android" }; }
837
+ consumePendingMailto(): any { return null; }
838
+ logClientEvent(..._args: any[]): void { /* no-op — server-side logging not wired on Android */ }
839
+
840
+ // Setup / repair / unsubscribe
841
+ async setupAccount(_name: string, _email: string, _password?: string): Promise<{ ok: boolean; error?: string; message?: string }> { return this.notImpl("setupAccount"); }
842
+ async repairAccounts(): Promise<{ ok: boolean; error?: string; message?: string }> { return this.notImpl("repairAccounts"); }
843
+ async unsubscribeOneClick(_url: string): Promise<{ ok: boolean; status: number; statusText: string }> { return this.notImpl("unsubscribeOneClick"); }
844
+
845
+ // AI transforms — pipe through to web autocomplete or no-op
846
+ async aiTransform(_req: any): Promise<any> { return this.notImpl("aiTransform"); }
742
847
  }
743
848
 
744
849
  /** Loose JSONC parse — strips // comments and trailing commas before JSON.parse.
@@ -4,6 +4,7 @@
4
4
  * This is the contract between client and server.
5
5
  */
6
6
  export { CONTACT_RULES } from "./contact-rules.js";
7
+ export type { MailxApi } from "./mailx-api.js";
7
8
  export { expandRecipients, splitRecipients, isAddressToken, extractAddress, } from "./groups.js";
8
9
  export type { GroupMap, RecipientToken, ExpansionResult } from "./groups.js";
9
10
  /** Supported authentication methods */