@bobfrankston/rmfmail 1.2.6 → 1.2.8

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 (49) hide show
  1. package/client/app.bundle.js +70 -1
  2. package/client/app.bundle.js.map +2 -2
  3. package/client/components/alarms.js +75 -1
  4. package/client/components/alarms.js.map +1 -1
  5. package/client/components/alarms.ts +63 -1
  6. package/client/compose/compose.bundle.js +4 -0
  7. package/client/compose/compose.bundle.js.map +2 -2
  8. package/client/lib/api-client.js +3 -0
  9. package/client/lib/api-client.js.map +1 -1
  10. package/client/lib/api-client.ts +3 -0
  11. package/client/lib/mailxapi.js +3 -0
  12. package/package.json +5 -5
  13. package/packages/mailx-imap/index.d.ts.map +1 -1
  14. package/packages/mailx-imap/index.js +47 -15
  15. package/packages/mailx-imap/index.js.map +1 -1
  16. package/packages/mailx-imap/index.ts +42 -15
  17. package/packages/mailx-imap/package-lock.json +2 -2
  18. package/packages/mailx-imap/package.json +1 -1
  19. package/packages/mailx-service/index.d.ts +13 -0
  20. package/packages/mailx-service/index.d.ts.map +1 -1
  21. package/packages/mailx-service/index.js +42 -1
  22. package/packages/mailx-service/index.js.map +1 -1
  23. package/packages/mailx-service/index.ts +39 -1
  24. package/packages/mailx-service/jsonrpc.js +2 -0
  25. package/packages/mailx-service/jsonrpc.js.map +1 -1
  26. package/packages/mailx-service/jsonrpc.ts +2 -0
  27. package/packages/mailx-settings/cloud.d.ts +2 -0
  28. package/packages/mailx-settings/cloud.d.ts.map +1 -1
  29. package/packages/mailx-settings/cloud.js +45 -0
  30. package/packages/mailx-settings/cloud.js.map +1 -1
  31. package/packages/mailx-settings/cloud.ts +32 -0
  32. package/packages/mailx-settings/docs/architecture-review.md +182 -0
  33. package/packages/mailx-settings/docs/clean-architecture.md +161 -0
  34. package/packages/mailx-settings/docs/outlook.md +215 -0
  35. package/packages/mailx-settings/index.d.ts +9 -0
  36. package/packages/mailx-settings/index.d.ts.map +1 -1
  37. package/packages/mailx-settings/index.js +39 -0
  38. package/packages/mailx-settings/index.js.map +1 -1
  39. package/packages/mailx-settings/index.ts +35 -0
  40. package/packages/mailx-settings/package.json +1 -1
  41. package/packages/mailx-store/db.d.ts +9 -0
  42. package/packages/mailx-store/db.d.ts.map +1 -1
  43. package/packages/mailx-store/db.js +32 -1
  44. package/packages/mailx-store/db.js.map +1 -1
  45. package/packages/mailx-store/db.ts +28 -1
  46. package/packages/mailx-store/package.json +1 -1
  47. package/test/two-writer-lock.mjs +55 -0
  48. package/test/two-writer-thread.mjs +51 -0
  49. package/test/two-writer-worker.mjs +14 -0
@@ -17,7 +17,7 @@
17
17
  * hidden — alarm won't fire until user returns, which matches Thunderbird's
18
18
  * behavior (focus-gated). OS-level notifications are a separate follow-up.
19
19
  */
20
- import { getCalendarEvents, getTasks, showReminderPopup, deleteCalendarEvent, logClientEvent } from "../lib/api-client.js";
20
+ import { getCalendarEvents, getTasks, showReminderPopup, deleteCalendarEvent, logClientEvent, getReminderSound } from "../lib/api-client.js";
21
21
  /** Alarm diagnostics. A plain console.log from the WebView never reaches
22
22
  * the daemon log file, so snooze/dismiss/fire decisions were invisible
23
23
  * after the fact — "is snooze working?" couldn't be answered from the
@@ -34,6 +34,77 @@ const SNOOZED_KEY = "mailx-alarm-snoozed"; // { uuid: epoch-ms-end }
34
34
  const LOOKBACK_MS = 60 * 60 * 1000; // fire past-due alarms from the last 60 min
35
35
  const LOOKAHEAD_MS = 2 * 60 * 60 * 1000; // poll window: upcoming 2 hr
36
36
  const POLL_INTERVAL_MS = 30_000;
37
+ // ── Reminder sound ──────────────────────────────────────────────────────────
38
+ // Cached resolution of the `reminders.sound` config: {mute} → silent,
39
+ // {url} → custom file blob, {} → built-in chime. Resolved once (changing the
40
+ // setting needs a restart, like other config). Fetch failures fall to the chime.
41
+ let _soundCache = null;
42
+ let _lastSoundAt = 0;
43
+ async function playReminderSound() {
44
+ const now = Date.now();
45
+ if (now - _lastSoundAt < 2000)
46
+ return; // throttle a burst into one alert
47
+ _lastSoundAt = now;
48
+ try {
49
+ if (_soundCache === null) {
50
+ const r = await getReminderSound().catch(() => ({}));
51
+ if (r?.mute)
52
+ _soundCache = { mute: true };
53
+ else if (r?.dataBase64) {
54
+ const bin = atob(r.dataBase64);
55
+ const bytes = new Uint8Array(bin.length);
56
+ for (let i = 0; i < bin.length; i++)
57
+ bytes[i] = bin.charCodeAt(i);
58
+ _soundCache = { url: URL.createObjectURL(new Blob([bytes], { type: r.mime || "audio/mpeg" })) };
59
+ }
60
+ else
61
+ _soundCache = {};
62
+ }
63
+ if (_soundCache.mute)
64
+ return;
65
+ if (_soundCache.url) {
66
+ const a = new Audio(_soundCache.url);
67
+ // A custom file that won't decode/play → fall back to the chime.
68
+ a.play().catch(() => playChime());
69
+ return;
70
+ }
71
+ playChime();
72
+ }
73
+ catch {
74
+ try {
75
+ playChime();
76
+ }
77
+ catch { /* no audio available */ }
78
+ }
79
+ }
80
+ /** Built-in default: a soft rising two-note chime via the Web Audio API — no
81
+ * asset to load, so it can never fail to fetch. */
82
+ function playChime() {
83
+ const Ctx = window.AudioContext || window.webkitAudioContext;
84
+ if (!Ctx)
85
+ return;
86
+ const ctx = new Ctx();
87
+ const t0 = ctx.currentTime;
88
+ const tone = (freq, start, dur) => {
89
+ const o = ctx.createOscillator();
90
+ const g = ctx.createGain();
91
+ o.type = "sine";
92
+ o.frequency.value = freq;
93
+ g.gain.setValueAtTime(0.0001, t0 + start);
94
+ g.gain.linearRampToValueAtTime(0.22, t0 + start + 0.02);
95
+ g.gain.exponentialRampToValueAtTime(0.0001, t0 + start + dur);
96
+ o.connect(g);
97
+ g.connect(ctx.destination);
98
+ o.start(t0 + start);
99
+ o.stop(t0 + start + dur + 0.05);
100
+ };
101
+ tone(880, 0, 0.35); // A5
102
+ tone(1174.66, 0.16, 0.42); // D6
103
+ setTimeout(() => { try {
104
+ ctx.close();
105
+ }
106
+ catch { /* */ } }, 1300);
107
+ }
37
108
  function loadDismissed() {
38
109
  try {
39
110
  return JSON.parse(localStorage.getItem(DISMISSED_KEY) || "{}");
@@ -382,6 +453,9 @@ async function firePopupForItem(item) {
382
453
  });
383
454
  </script>
384
455
  </body></html>`;
456
+ // Audible alert as the popup appears. Throttled so a burst of simultaneous
457
+ // reminders is one chime, not a cacophony.
458
+ void playReminderSound();
385
459
  const title = item.kind === "calendar" ? "Calendar reminder" : "Task reminder";
386
460
  const hasHost = !!window.mailxapi?.showReminderPopup;
387
461
  // Result now carries an optional `form` object — see msger's
@@ -1 +1 @@
1
- {"version":3,"file":"alarms.js","sourceRoot":"","sources":["alarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alarms.js","sourceRoot":"","sources":["alarms.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  * behavior (focus-gated). OS-level notifications are a separate follow-up.
19
19
  */
20
20
 
21
- import { getCalendarEvents, getTasks, showReminderPopup, deleteCalendarEvent, logClientEvent } from "../lib/api-client.js";
21
+ import { getCalendarEvents, getTasks, showReminderPopup, deleteCalendarEvent, logClientEvent, getReminderSound } from "../lib/api-client.js";
22
22
 
23
23
  /** Alarm diagnostics. A plain console.log from the WebView never reaches
24
24
  * the daemon log file, so snooze/dismiss/fire decisions were invisible
@@ -35,6 +35,64 @@ const LOOKBACK_MS = 60 * 60 * 1000; // fire past-due alarms from
35
35
  const LOOKAHEAD_MS = 2 * 60 * 60 * 1000; // poll window: upcoming 2 hr
36
36
  const POLL_INTERVAL_MS = 30_000;
37
37
 
38
+ // ── Reminder sound ──────────────────────────────────────────────────────────
39
+ // Cached resolution of the `reminders.sound` config: {mute} → silent,
40
+ // {url} → custom file blob, {} → built-in chime. Resolved once (changing the
41
+ // setting needs a restart, like other config). Fetch failures fall to the chime.
42
+ let _soundCache: { mute?: boolean; url?: string } | null = null;
43
+ let _lastSoundAt = 0;
44
+
45
+ async function playReminderSound(): Promise<void> {
46
+ const now = Date.now();
47
+ if (now - _lastSoundAt < 2000) return; // throttle a burst into one alert
48
+ _lastSoundAt = now;
49
+ try {
50
+ if (_soundCache === null) {
51
+ const r = await getReminderSound().catch(() => ({} as any));
52
+ if (r?.mute) _soundCache = { mute: true };
53
+ else if (r?.dataBase64) {
54
+ const bin = atob(r.dataBase64);
55
+ const bytes = new Uint8Array(bin.length);
56
+ for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i);
57
+ _soundCache = { url: URL.createObjectURL(new Blob([bytes], { type: r.mime || "audio/mpeg" })) };
58
+ } else _soundCache = {};
59
+ }
60
+ if (_soundCache.mute) return;
61
+ if (_soundCache.url) {
62
+ const a = new Audio(_soundCache.url);
63
+ // A custom file that won't decode/play → fall back to the chime.
64
+ a.play().catch(() => playChime());
65
+ return;
66
+ }
67
+ playChime();
68
+ } catch { try { playChime(); } catch { /* no audio available */ } }
69
+ }
70
+
71
+ /** Built-in default: a soft rising two-note chime via the Web Audio API — no
72
+ * asset to load, so it can never fail to fetch. */
73
+ function playChime(): void {
74
+ const Ctx = (window as any).AudioContext || (window as any).webkitAudioContext;
75
+ if (!Ctx) return;
76
+ const ctx = new Ctx();
77
+ const t0 = ctx.currentTime;
78
+ const tone = (freq: number, start: number, dur: number): void => {
79
+ const o = ctx.createOscillator();
80
+ const g = ctx.createGain();
81
+ o.type = "sine";
82
+ o.frequency.value = freq;
83
+ g.gain.setValueAtTime(0.0001, t0 + start);
84
+ g.gain.linearRampToValueAtTime(0.22, t0 + start + 0.02);
85
+ g.gain.exponentialRampToValueAtTime(0.0001, t0 + start + dur);
86
+ o.connect(g);
87
+ g.connect(ctx.destination);
88
+ o.start(t0 + start);
89
+ o.stop(t0 + start + dur + 0.05);
90
+ };
91
+ tone(880, 0, 0.35); // A5
92
+ tone(1174.66, 0.16, 0.42); // D6
93
+ setTimeout(() => { try { ctx.close(); } catch { /* */ } }, 1300);
94
+ }
95
+
38
96
  interface AlarmItem {
39
97
  uuid: string;
40
98
  kind: "calendar" | "task";
@@ -370,6 +428,10 @@ async function firePopupForItem(item: AlarmItem): Promise<void> {
370
428
  </script>
371
429
  </body></html>`;
372
430
 
431
+ // Audible alert as the popup appears. Throttled so a burst of simultaneous
432
+ // reminders is one chime, not a cacophony.
433
+ void playReminderSound();
434
+
373
435
  const title = item.kind === "calendar" ? "Calendar reminder" : "Task reminder";
374
436
  const hasHost = !!(window as any).mailxapi?.showReminderPopup;
375
437
  // Result now carries an optional `form` object — see msger's
@@ -1056,6 +1056,7 @@ __export(api_client_exports, {
1056
1056
  getOutboxStatus: () => getOutboxStatus,
1057
1057
  getPrimaryAccount: () => getPrimaryAccount,
1058
1058
  getPriorityLists: () => getPriorityLists,
1059
+ getReminderSound: () => getReminderSound,
1059
1060
  getSettings: () => getSettings,
1060
1061
  getSyncPending: () => getSyncPending,
1061
1062
  getTasks: () => getTasks,
@@ -1573,6 +1574,9 @@ function getThreadMessages(accountId, threadId) {
1573
1574
  function readJsoncFile(name) {
1574
1575
  return ipc().readJsoncFile?.(name);
1575
1576
  }
1577
+ function getReminderSound() {
1578
+ return ipc().getReminderSound?.();
1579
+ }
1576
1580
  function writeJsoncFile(name, content) {
1577
1581
  return ipc().writeJsoncFile?.(name, content);
1578
1582
  }