@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.
- package/bin/mailx.js +9 -1
- package/bin/mailx.js.map +1 -1
- package/bin/mailx.ts +10 -1
- package/client/android-bootstrap.bundle.js +1 -1
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +58 -1
- package/client/app.bundle.js.map +2 -2
- package/client/compose/compose.bundle.js +41 -1
- package/client/compose/compose.bundle.js.map +2 -2
- package/client/lib/api-client.js +41 -0
- package/client/lib/api-client.js.map +1 -1
- package/client/lib/api-client.ts +29 -0
- package/client/lib/message-state.js +23 -0
- package/client/lib/message-state.js.map +1 -1
- package/client/lib/message-state.ts +21 -0
- package/package.json +4 -3
- package/packages/mailx-bus/index.d.ts +122 -0
- package/packages/mailx-bus/index.d.ts.map +1 -0
- package/packages/mailx-bus/index.js +247 -0
- package/packages/mailx-bus/index.js.map +1 -0
- package/packages/mailx-bus/index.ts +275 -0
- package/packages/mailx-bus/package.json +19 -0
- package/packages/mailx-bus/store-events.d.ts +79 -0
- package/packages/mailx-bus/store-events.d.ts.map +1 -0
- package/packages/mailx-bus/store-events.js +155 -0
- package/packages/mailx-bus/store-events.js.map +1 -0
- package/packages/mailx-bus/store-events.ts +165 -0
- package/packages/mailx-bus/tsconfig.json +9 -0
- package/packages/mailx-core/index.d.ts.map +1 -1
- package/packages/mailx-core/index.js +25 -3
- package/packages/mailx-core/index.js.map +1 -1
- package/packages/mailx-core/index.ts +23 -3
- package/packages/mailx-host/package.json +1 -1
- package/packages/mailx-imap/index.d.ts +0 -37
- package/packages/mailx-imap/index.d.ts.map +1 -1
- package/packages/mailx-imap/index.js +17 -172
- package/packages/mailx-imap/index.js.map +1 -1
- package/packages/mailx-imap/index.ts +17 -179
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-service/db-worker-client.d.ts +32 -0
- package/packages/mailx-service/db-worker-client.d.ts.map +1 -0
- package/packages/mailx-service/db-worker-client.js +66 -0
- package/packages/mailx-service/db-worker-client.js.map +1 -0
- package/packages/mailx-service/db-worker-client.ts +75 -0
- package/packages/mailx-service/db-worker.d.ts +39 -0
- package/packages/mailx-service/db-worker.d.ts.map +1 -0
- package/packages/mailx-service/db-worker.js +104 -0
- package/packages/mailx-service/db-worker.js.map +1 -0
- package/packages/mailx-service/db-worker.ts +153 -0
- package/packages/mailx-service/index.d.ts +16 -0
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +89 -77
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +83 -75
- package/packages/mailx-service/local-store.d.ts +54 -2
- package/packages/mailx-service/local-store.d.ts.map +1 -1
- package/packages/mailx-service/local-store.js +147 -2
- package/packages/mailx-service/local-store.js.map +1 -1
- package/packages/mailx-service/local-store.ts +147 -3
- package/packages/mailx-service/package.json +1 -0
- package/packages/mailx-service/reconciler.d.ts.map +1 -1
- package/packages/mailx-service/reconciler.js +28 -8
- package/packages/mailx-service/reconciler.js.map +1 -1
- package/packages/mailx-service/reconciler.ts +28 -8
- package/packages/mailx-service/sync-queue.d.ts +16 -0
- package/packages/mailx-service/sync-queue.d.ts.map +1 -1
- package/packages/mailx-service/sync-queue.js +33 -3
- package/packages/mailx-service/sync-queue.js.map +1 -1
- package/packages/mailx-service/sync-queue.ts +33 -3
- package/packages/mailx-settings/package.json +1 -1
- package/packages/mailx-store/bus.d.ts +79 -0
- package/packages/mailx-store/bus.d.ts.map +1 -0
- package/packages/mailx-store/bus.js +155 -0
- package/packages/mailx-store/bus.js.map +1 -0
- package/packages/mailx-store/index.d.ts +2 -0
- package/packages/mailx-store/index.d.ts.map +1 -1
- package/packages/mailx-store/index.js +5 -0
- package/packages/mailx-store/index.js.map +1 -1
- package/packages/mailx-store/index.ts +7 -0
- package/packages/mailx-store/package.json +2 -1
- package/packages/mailx-store-web/db.d.ts.map +1 -1
- package/packages/mailx-store-web/db.js +9 -1
- package/packages/mailx-store-web/db.js.map +1 -1
- package/packages/mailx-store-web/db.ts +9 -1
- package/packages/mailx-store-web/package.json +2 -1
- package/packages/mailx-store-web/sync-manager.d.ts +4 -0
- package/packages/mailx-store-web/sync-manager.d.ts.map +1 -1
- package/packages/mailx-store-web/sync-manager.js +32 -4
- package/packages/mailx-store-web/sync-manager.js.map +1 -1
- package/packages/mailx-store-web/sync-manager.ts +28 -4
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-24548 → node_modules.npmglobalize-stash-444}/.package-lock.json +0 -0
package/client/app.bundle.js
CHANGED
|
@@ -91,6 +91,7 @@ __export(api_client_exports, {
|
|
|
91
91
|
setPrioritySender: () => setPrioritySender,
|
|
92
92
|
setupAccount: () => setupAccount,
|
|
93
93
|
showReminderPopup: () => showReminderPopup,
|
|
94
|
+
subscribeStore: () => subscribeStore,
|
|
94
95
|
syncAccount: () => syncAccount,
|
|
95
96
|
triggerSync: () => triggerSync,
|
|
96
97
|
undeleteMessage: () => undeleteMessage,
|
|
@@ -384,8 +385,46 @@ function onEvent(handler) {
|
|
|
384
385
|
eventHandlers.splice(i, 1);
|
|
385
386
|
};
|
|
386
387
|
}
|
|
388
|
+
function subscribeStore(topic, handler) {
|
|
389
|
+
let set = storeSubs.get(topic);
|
|
390
|
+
if (!set) {
|
|
391
|
+
set = /* @__PURE__ */ new Set();
|
|
392
|
+
storeSubs.set(topic, set);
|
|
393
|
+
}
|
|
394
|
+
set.add(handler);
|
|
395
|
+
return () => {
|
|
396
|
+
const s = storeSubs.get(topic);
|
|
397
|
+
if (s) {
|
|
398
|
+
s.delete(handler);
|
|
399
|
+
if (s.size === 0)
|
|
400
|
+
storeSubs.delete(topic);
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
function deliverStore(event) {
|
|
405
|
+
const exact = storeSubs.get(event.topic);
|
|
406
|
+
if (exact)
|
|
407
|
+
for (const h of exact) {
|
|
408
|
+
try {
|
|
409
|
+
h(event);
|
|
410
|
+
} catch (e) {
|
|
411
|
+
console.error("[store-bus]", e);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
const wild = storeSubs.get("*");
|
|
415
|
+
if (wild)
|
|
416
|
+
for (const h of wild) {
|
|
417
|
+
try {
|
|
418
|
+
h(event);
|
|
419
|
+
} catch (e) {
|
|
420
|
+
console.error("[store-bus]", e);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
387
424
|
function connectEvents() {
|
|
388
425
|
ipc().onEvent((event) => {
|
|
426
|
+
if (event && event._event === "store")
|
|
427
|
+
deliverStore(event);
|
|
389
428
|
for (const h of eventHandlers)
|
|
390
429
|
h(event);
|
|
391
430
|
});
|
|
@@ -459,13 +498,14 @@ async function getAttachment(accountId, uid, attachmentId, folderId) {
|
|
|
459
498
|
async function getDeviceAccounts() {
|
|
460
499
|
return ipc().getDeviceAccounts?.() ?? [];
|
|
461
500
|
}
|
|
462
|
-
var cachedRelayBridge, messageListAbort, eventHandlers, connectWebSocket, onWsEvent;
|
|
501
|
+
var cachedRelayBridge, messageListAbort, eventHandlers, storeSubs, connectWebSocket, onWsEvent;
|
|
463
502
|
var init_api_client = __esm({
|
|
464
503
|
"client/lib/api-client.js"() {
|
|
465
504
|
"use strict";
|
|
466
505
|
cachedRelayBridge = null;
|
|
467
506
|
messageListAbort = null;
|
|
468
507
|
eventHandlers = [];
|
|
508
|
+
storeSubs = /* @__PURE__ */ new Map();
|
|
469
509
|
connectWebSocket = connectEvents;
|
|
470
510
|
onWsEvent = onEvent;
|
|
471
511
|
}
|
|
@@ -641,8 +681,25 @@ var messages, listeners;
|
|
|
641
681
|
var init_message_state = __esm({
|
|
642
682
|
"client/lib/message-state.js"() {
|
|
643
683
|
"use strict";
|
|
684
|
+
init_api_client();
|
|
644
685
|
messages = [];
|
|
645
686
|
listeners = [];
|
|
687
|
+
subscribeStore("*", (event) => {
|
|
688
|
+
if (event.kind !== "flagsChanged")
|
|
689
|
+
return;
|
|
690
|
+
const accountId = event.accountId;
|
|
691
|
+
const uid = event.uid;
|
|
692
|
+
const flags = event.flags;
|
|
693
|
+
if (!accountId || typeof uid !== "number" || !Array.isArray(flags))
|
|
694
|
+
return;
|
|
695
|
+
const msg = messages.find((m) => m.uid === uid && m.accountId === accountId);
|
|
696
|
+
if (!msg)
|
|
697
|
+
return;
|
|
698
|
+
const before = JSON.stringify(msg.flags);
|
|
699
|
+
msg.flags = flags;
|
|
700
|
+
if (before !== JSON.stringify(flags))
|
|
701
|
+
notify();
|
|
702
|
+
});
|
|
646
703
|
}
|
|
647
704
|
});
|
|
648
705
|
|