@bobfrankston/rmfmail 1.1.78 → 1.1.79

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 (37) hide show
  1. package/.commitmsg +13 -6
  2. package/client/android-bootstrap.bundle.js +3 -0
  3. package/client/android-bootstrap.bundle.js.map +2 -2
  4. package/client/app.bundle.js +4 -0
  5. package/client/app.bundle.js.map +2 -2
  6. package/client/compose/compose.bundle.js +18 -5
  7. package/client/compose/compose.bundle.js.map +2 -2
  8. package/client/compose/spellcheck.js +23 -9
  9. package/client/compose/spellcheck.js.map +1 -1
  10. package/client/compose/spellcheck.ts +20 -8
  11. package/client/lib/api-client.js +3 -0
  12. package/client/lib/api-client.js.map +1 -1
  13. package/client/lib/api-client.ts +3 -0
  14. package/client/lib/mailxapi.js +6 -0
  15. package/docs/contacts.md +17 -8
  16. package/npmchanges.md +10 -0
  17. package/package.json +1 -1
  18. package/packages/mailx-service/index.d.ts +3 -0
  19. package/packages/mailx-service/index.d.ts.map +1 -1
  20. package/packages/mailx-service/index.js +9 -0
  21. package/packages/mailx-service/index.js.map +1 -1
  22. package/packages/mailx-service/index.ts +10 -0
  23. package/packages/mailx-service/jsonrpc.js +2 -0
  24. package/packages/mailx-service/jsonrpc.js.map +1 -1
  25. package/packages/mailx-service/jsonrpc.ts +2 -0
  26. package/packages/mailx-settings/docs/contacts.md +17 -8
  27. package/packages/mailx-store-web/package.json +1 -1
  28. package/packages/mailx-store-web/web-service.d.ts +1 -0
  29. package/packages/mailx-store-web/web-service.d.ts.map +1 -1
  30. package/packages/mailx-store-web/web-service.js +1 -0
  31. package/packages/mailx-store-web/web-service.js.map +1 -1
  32. package/packages/mailx-store-web/web-service.ts +1 -0
  33. package/packages/mailx-types/mailx-api.d.ts +1 -0
  34. package/packages/mailx-types/mailx-api.d.ts.map +1 -1
  35. package/packages/mailx-types/mailx-api.ts +1 -0
  36. package/packages/mailx-types/package.json +1 -1
  37. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-66360 → node_modules.npmglobalize-stash-81260}/.package-lock.json +0 -0
@@ -39,6 +39,7 @@ __export(api_client_exports, {
39
39
  addPreferredContact: () => addPreferredContact,
40
40
  addToDenylist: () => addToDenylist,
41
41
  addUserDictWord: () => addUserDictWord,
42
+ addUserDictWords: () => addUserDictWords,
42
43
  aiTransform: () => aiTransform,
43
44
  allowRemoteContent: () => allowRemoteContent,
44
45
  autocomplete: () => autocomplete,
@@ -332,6 +333,9 @@ function getUserDict() {
332
333
  function addUserDictWord(word) {
333
334
  return ipc().addUserDictWord?.(word) ?? Promise.resolve([]);
334
335
  }
336
+ function addUserDictWords(words) {
337
+ return ipc().addUserDictWords?.(words) ?? Promise.resolve([]);
338
+ }
335
339
  function removeUserDictWord(word) {
336
340
  return ipc().removeUserDictWord?.(word) ?? Promise.resolve([]);
337
341
  }
@@ -1815,14 +1819,23 @@ async function getSpell() {
1815
1819
  } catch {
1816
1820
  }
1817
1821
  getUserDict().then((cloud) => {
1818
- if (!Array.isArray(cloud) || cloud.length === 0)
1819
- return;
1820
- for (const w of cloud)
1822
+ const cloudArr = Array.isArray(cloud) ? cloud : [];
1823
+ for (const w of cloudArr)
1821
1824
  sp.add(w);
1825
+ let local = [];
1822
1826
  try {
1823
1827
  const raw = localStorage.getItem(USER_DICT_KEY);
1824
- const local = raw ? JSON.parse(raw) : [];
1825
- const merged = [.../* @__PURE__ */ new Set([...local, ...cloud])];
1828
+ local = raw ? JSON.parse(raw) : [];
1829
+ } catch {
1830
+ local = [];
1831
+ }
1832
+ const cloudSet = new Set(cloudArr);
1833
+ const localOnly = local.filter((w) => !cloudSet.has(w));
1834
+ if (localOnly.length > 0) {
1835
+ addUserDictWords(localOnly).catch((e) => console.error("[spell] reconcile:", e));
1836
+ }
1837
+ try {
1838
+ const merged = [.../* @__PURE__ */ new Set([...local, ...cloudArr])];
1826
1839
  localStorage.setItem(USER_DICT_KEY, JSON.stringify(merged));
1827
1840
  } catch {
1828
1841
  }