@bobfrankston/rmfmail 1.0.708 → 1.1.3

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 (92) hide show
  1. package/bin/mailx.js +9 -1
  2. package/bin/mailx.js.map +1 -1
  3. package/bin/mailx.ts +10 -1
  4. package/client/android-bootstrap.bundle.js +1 -1
  5. package/client/android-bootstrap.bundle.js.map +2 -2
  6. package/client/app.bundle.js +58 -1
  7. package/client/app.bundle.js.map +2 -2
  8. package/client/compose/compose.bundle.js +41 -1
  9. package/client/compose/compose.bundle.js.map +2 -2
  10. package/client/lib/api-client.js +41 -0
  11. package/client/lib/api-client.js.map +1 -1
  12. package/client/lib/api-client.ts +29 -0
  13. package/client/lib/message-state.js +23 -0
  14. package/client/lib/message-state.js.map +1 -1
  15. package/client/lib/message-state.ts +21 -0
  16. package/package.json +4 -3
  17. package/packages/mailx-bus/index.d.ts +122 -0
  18. package/packages/mailx-bus/index.d.ts.map +1 -0
  19. package/packages/mailx-bus/index.js +247 -0
  20. package/packages/mailx-bus/index.js.map +1 -0
  21. package/packages/mailx-bus/index.ts +275 -0
  22. package/packages/mailx-bus/package.json +19 -0
  23. package/packages/mailx-bus/store-events.d.ts +79 -0
  24. package/packages/mailx-bus/store-events.d.ts.map +1 -0
  25. package/packages/mailx-bus/store-events.js +155 -0
  26. package/packages/mailx-bus/store-events.js.map +1 -0
  27. package/packages/mailx-bus/store-events.ts +165 -0
  28. package/packages/mailx-bus/tsconfig.json +9 -0
  29. package/packages/mailx-core/index.d.ts.map +1 -1
  30. package/packages/mailx-core/index.js +25 -3
  31. package/packages/mailx-core/index.js.map +1 -1
  32. package/packages/mailx-core/index.ts +23 -3
  33. package/packages/mailx-host/package.json +1 -1
  34. package/packages/mailx-imap/index.d.ts +0 -37
  35. package/packages/mailx-imap/index.d.ts.map +1 -1
  36. package/packages/mailx-imap/index.js +17 -172
  37. package/packages/mailx-imap/index.js.map +1 -1
  38. package/packages/mailx-imap/index.ts +17 -179
  39. package/packages/mailx-imap/package-lock.json +2 -2
  40. package/packages/mailx-imap/package.json +1 -1
  41. package/packages/mailx-service/db-worker-client.d.ts +32 -0
  42. package/packages/mailx-service/db-worker-client.d.ts.map +1 -0
  43. package/packages/mailx-service/db-worker-client.js +66 -0
  44. package/packages/mailx-service/db-worker-client.js.map +1 -0
  45. package/packages/mailx-service/db-worker-client.ts +75 -0
  46. package/packages/mailx-service/db-worker.d.ts +39 -0
  47. package/packages/mailx-service/db-worker.d.ts.map +1 -0
  48. package/packages/mailx-service/db-worker.js +104 -0
  49. package/packages/mailx-service/db-worker.js.map +1 -0
  50. package/packages/mailx-service/db-worker.ts +153 -0
  51. package/packages/mailx-service/index.d.ts +16 -0
  52. package/packages/mailx-service/index.d.ts.map +1 -1
  53. package/packages/mailx-service/index.js +89 -77
  54. package/packages/mailx-service/index.js.map +1 -1
  55. package/packages/mailx-service/index.ts +83 -75
  56. package/packages/mailx-service/local-store.d.ts +54 -2
  57. package/packages/mailx-service/local-store.d.ts.map +1 -1
  58. package/packages/mailx-service/local-store.js +147 -2
  59. package/packages/mailx-service/local-store.js.map +1 -1
  60. package/packages/mailx-service/local-store.ts +147 -3
  61. package/packages/mailx-service/package.json +1 -0
  62. package/packages/mailx-service/reconciler.d.ts.map +1 -1
  63. package/packages/mailx-service/reconciler.js +28 -8
  64. package/packages/mailx-service/reconciler.js.map +1 -1
  65. package/packages/mailx-service/reconciler.ts +28 -8
  66. package/packages/mailx-service/sync-queue.d.ts +16 -0
  67. package/packages/mailx-service/sync-queue.d.ts.map +1 -1
  68. package/packages/mailx-service/sync-queue.js +33 -3
  69. package/packages/mailx-service/sync-queue.js.map +1 -1
  70. package/packages/mailx-service/sync-queue.ts +33 -3
  71. package/packages/mailx-settings/package.json +1 -1
  72. package/packages/mailx-store/bus.d.ts +79 -0
  73. package/packages/mailx-store/bus.d.ts.map +1 -0
  74. package/packages/mailx-store/bus.js +155 -0
  75. package/packages/mailx-store/bus.js.map +1 -0
  76. package/packages/mailx-store/index.d.ts +2 -0
  77. package/packages/mailx-store/index.d.ts.map +1 -1
  78. package/packages/mailx-store/index.js +5 -0
  79. package/packages/mailx-store/index.js.map +1 -1
  80. package/packages/mailx-store/index.ts +7 -0
  81. package/packages/mailx-store/package.json +2 -1
  82. package/packages/mailx-store-web/db.d.ts.map +1 -1
  83. package/packages/mailx-store-web/db.js +9 -1
  84. package/packages/mailx-store-web/db.js.map +1 -1
  85. package/packages/mailx-store-web/db.ts +9 -1
  86. package/packages/mailx-store-web/package.json +2 -1
  87. package/packages/mailx-store-web/sync-manager.d.ts +4 -0
  88. package/packages/mailx-store-web/sync-manager.d.ts.map +1 -1
  89. package/packages/mailx-store-web/sync-manager.js +32 -4
  90. package/packages/mailx-store-web/sync-manager.js.map +1 -1
  91. package/packages/mailx-store-web/sync-manager.ts +28 -4
  92. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-24548 → node_modules.npmglobalize-stash-444}/.package-lock.json +0 -0
@@ -114,6 +114,7 @@ __export(api_client_exports, {
114
114
  setPrioritySender: () => setPrioritySender,
115
115
  setupAccount: () => setupAccount,
116
116
  showReminderPopup: () => showReminderPopup,
117
+ subscribeStore: () => subscribeStore,
117
118
  syncAccount: () => syncAccount,
118
119
  triggerSync: () => triggerSync,
119
120
  undeleteMessage: () => undeleteMessage,
@@ -407,8 +408,46 @@ function onEvent(handler) {
407
408
  eventHandlers.splice(i, 1);
408
409
  };
409
410
  }
411
+ function subscribeStore(topic, handler) {
412
+ let set = storeSubs.get(topic);
413
+ if (!set) {
414
+ set = /* @__PURE__ */ new Set();
415
+ storeSubs.set(topic, set);
416
+ }
417
+ set.add(handler);
418
+ return () => {
419
+ const s = storeSubs.get(topic);
420
+ if (s) {
421
+ s.delete(handler);
422
+ if (s.size === 0)
423
+ storeSubs.delete(topic);
424
+ }
425
+ };
426
+ }
427
+ function deliverStore(event) {
428
+ const exact = storeSubs.get(event.topic);
429
+ if (exact)
430
+ for (const h of exact) {
431
+ try {
432
+ h(event);
433
+ } catch (e) {
434
+ console.error("[store-bus]", e);
435
+ }
436
+ }
437
+ const wild = storeSubs.get("*");
438
+ if (wild)
439
+ for (const h of wild) {
440
+ try {
441
+ h(event);
442
+ } catch (e) {
443
+ console.error("[store-bus]", e);
444
+ }
445
+ }
446
+ }
410
447
  function connectEvents() {
411
448
  ipc().onEvent((event) => {
449
+ if (event && event._event === "store")
450
+ deliverStore(event);
412
451
  for (const h of eventHandlers)
413
452
  h(event);
414
453
  });
@@ -482,13 +521,14 @@ async function getAttachment(accountId, uid, attachmentId, folderId) {
482
521
  async function getDeviceAccounts() {
483
522
  return ipc().getDeviceAccounts?.() ?? [];
484
523
  }
485
- var cachedRelayBridge, messageListAbort, eventHandlers, connectWebSocket, onWsEvent;
524
+ var cachedRelayBridge, messageListAbort, eventHandlers, storeSubs, connectWebSocket, onWsEvent;
486
525
  var init_api_client = __esm({
487
526
  "client/lib/api-client.js"() {
488
527
  "use strict";
489
528
  cachedRelayBridge = null;
490
529
  messageListAbort = null;
491
530
  eventHandlers = [];
531
+ storeSubs = /* @__PURE__ */ new Map();
492
532
  connectWebSocket = connectEvents;
493
533
  onWsEvent = onEvent;
494
534
  }