@bobfrankston/rmfmail 1.1.84 → 1.1.86

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 (105) hide show
  1. package/.commitmsg +13 -5
  2. package/client/app.bundle.js +5 -2
  3. package/client/app.bundle.js.map +2 -2
  4. package/client/app.js +14 -3
  5. package/client/app.js.map +1 -1
  6. package/client/app.ts +13 -3
  7. package/client/components/message-list.js.map +1 -1
  8. package/client/components/message-list.ts +1 -0
  9. package/client/compose/compose.js +38 -16
  10. package/client/compose/compose.js.map +1 -1
  11. package/client/compose/compose.ts +34 -15
  12. package/client/lib/mailxapi.js +5 -0
  13. package/client/lib/tinymce/skins/content/dark/content.js +4 -10
  14. package/client/lib/tinymce/skins/content/dark/content.js.map +1 -0
  15. package/client/lib/tinymce/skins/content/dark/content.min.js +4 -0
  16. package/client/lib/tinymce/skins/content/dark/content.min.js.map +1 -0
  17. package/client/lib/tinymce/skins/content/default/content.js +4 -10
  18. package/client/lib/tinymce/skins/content/default/content.js.map +1 -0
  19. package/client/lib/tinymce/skins/content/default/content.min.js +4 -0
  20. package/client/lib/tinymce/skins/content/default/content.min.js.map +1 -0
  21. package/client/lib/tinymce/skins/content/document/content.js +4 -10
  22. package/client/lib/tinymce/skins/content/document/content.js.map +1 -0
  23. package/client/lib/tinymce/skins/content/document/content.min.js +4 -0
  24. package/client/lib/tinymce/skins/content/document/content.min.js.map +1 -0
  25. package/client/lib/tinymce/skins/content/tinymce-5/content.js +4 -10
  26. package/client/lib/tinymce/skins/content/tinymce-5/content.js.map +1 -0
  27. package/client/lib/tinymce/skins/content/tinymce-5/content.min.js +4 -0
  28. package/client/lib/tinymce/skins/content/tinymce-5/content.min.js.map +1 -0
  29. package/client/lib/tinymce/skins/content/tinymce-5-dark/content.js +4 -10
  30. package/client/lib/tinymce/skins/content/tinymce-5-dark/content.js.map +1 -0
  31. package/client/lib/tinymce/skins/content/tinymce-5-dark/content.min.js +4 -0
  32. package/client/lib/tinymce/skins/content/tinymce-5-dark/content.min.js.map +1 -0
  33. package/client/lib/tinymce/skins/content/writer/content.js +4 -10
  34. package/client/lib/tinymce/skins/content/writer/content.js.map +1 -0
  35. package/client/lib/tinymce/skins/content/writer/content.min.js +4 -0
  36. package/client/lib/tinymce/skins/content/writer/content.min.js.map +1 -0
  37. package/client/lib/tinymce/skins/ui/oxide/content.inline.js +4 -10
  38. package/client/lib/tinymce/skins/ui/oxide/content.inline.js.map +1 -0
  39. package/client/lib/tinymce/skins/ui/oxide/content.inline.min.js +4 -0
  40. package/client/lib/tinymce/skins/ui/oxide/content.inline.min.js.map +1 -0
  41. package/client/lib/tinymce/skins/ui/oxide/content.js +4 -10
  42. package/client/lib/tinymce/skins/ui/oxide/content.js.map +1 -0
  43. package/client/lib/tinymce/skins/ui/oxide/content.min.js +4 -0
  44. package/client/lib/tinymce/skins/ui/oxide/content.min.js.map +1 -0
  45. package/client/lib/tinymce/skins/ui/oxide/skin.js +4 -1
  46. package/client/lib/tinymce/skins/ui/oxide/skin.js.map +1 -0
  47. package/client/lib/tinymce/skins/ui/oxide/skin.min.js +4 -0
  48. package/client/lib/tinymce/skins/ui/oxide/skin.min.js.map +1 -0
  49. package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.js +4 -1
  50. package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.js.map +1 -0
  51. package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.min.js +4 -0
  52. package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.min.js.map +1 -0
  53. package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.js +4 -10
  54. package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.js.map +1 -0
  55. package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.min.js +4 -0
  56. package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.min.js.map +1 -0
  57. package/client/lib/tinymce/skins/ui/oxide-dark/content.js +4 -10
  58. package/client/lib/tinymce/skins/ui/oxide-dark/content.js.map +1 -0
  59. package/client/lib/tinymce/skins/ui/oxide-dark/content.min.js +4 -0
  60. package/client/lib/tinymce/skins/ui/oxide-dark/content.min.js.map +1 -0
  61. package/client/lib/tinymce/skins/ui/oxide-dark/skin.js +4 -1
  62. package/client/lib/tinymce/skins/ui/oxide-dark/skin.js.map +1 -0
  63. package/client/lib/tinymce/skins/ui/oxide-dark/skin.min.js +4 -0
  64. package/client/lib/tinymce/skins/ui/oxide-dark/skin.min.js.map +1 -0
  65. package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +4 -1
  66. package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.js.map +1 -0
  67. package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.js +4 -0
  68. package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.js.map +1 -0
  69. package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.js +4 -10
  70. package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.js.map +1 -0
  71. package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.min.js +4 -0
  72. package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.min.js.map +1 -0
  73. package/client/lib/tinymce/skins/ui/tinymce-5/content.js +4 -10
  74. package/client/lib/tinymce/skins/ui/tinymce-5/content.js.map +1 -0
  75. package/client/lib/tinymce/skins/ui/tinymce-5/content.min.js +4 -0
  76. package/client/lib/tinymce/skins/ui/tinymce-5/content.min.js.map +1 -0
  77. package/client/lib/tinymce/skins/ui/tinymce-5/skin.js +4 -1
  78. package/client/lib/tinymce/skins/ui/tinymce-5/skin.js.map +1 -0
  79. package/client/lib/tinymce/skins/ui/tinymce-5/skin.min.js +4 -0
  80. package/client/lib/tinymce/skins/ui/tinymce-5/skin.min.js.map +1 -0
  81. package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +4 -1
  82. package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.js.map +1 -0
  83. package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.js +4 -0
  84. package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.js.map +1 -0
  85. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.js +4 -10
  86. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.js.map +1 -0
  87. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.min.js +4 -0
  88. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.min.js.map +1 -0
  89. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.js +4 -10
  90. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.js.map +1 -0
  91. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.min.js +4 -0
  92. package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.min.js.map +1 -0
  93. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.js +4 -1
  94. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.js.map +1 -0
  95. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.min.js +4 -0
  96. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.min.js.map +1 -0
  97. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +4 -1
  98. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js.map +1 -0
  99. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.js +4 -0
  100. package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.js.map +1 -0
  101. package/client/styles/components.css +8 -5
  102. package/client/styles/variables.css +4 -0
  103. package/npmchanges.md +24 -0
  104. package/package.json +1 -1
  105. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-88584 → node_modules.npmglobalize-stash-88224}/.package-lock.json +0 -0
package/.commitmsg CHANGED
@@ -1,6 +1,14 @@
1
- Viewer Flag button reflects flagged state, like the list star
1
+ Fix: update banner wiped by next sync; raise server-search timeout
2
2
 
3
- The toolbar Flag button is now in the default colour when the viewed
4
- message is unflagged and a gold when flagged same glyph + colour
5
- behaviour as the message-list row star. updateFlagButton() runs on
6
- mailx-message-shown and after every toggle (including the error revert).
3
+ Update banner: the "update available" notice shares the alert-banner
4
+ element, and the sync-success path calls hideAlert() unconditionally
5
+ so the banner the auto-update poller raised was cleared within seconds
6
+ by the next sync and the user never saw it (the daemon log confirms the
7
+ poller has been detecting every release). The banner is now tagged
8
+ dataset.key="update-available"; hideAlert() leaves that key alone unless
9
+ forced, and the X dismiss button passes force:true.
10
+
11
+ Server search: a "Server"-checkbox search goes out to IMAP/Gmail and
12
+ can exceed the default 30s IPC ceiling, surfacing as "mailxapi timeout:
13
+ searchMessages". searchMessages now gets a 120s ceiling like the
14
+ attachment actions.
@@ -6682,14 +6682,15 @@ window.addEventListener("mailx-alert", (e) => {
6682
6682
  const d = e.detail || {};
6683
6683
  if (d.message) showAlert(String(d.message), d.key);
6684
6684
  });
6685
- function hideAlert() {
6685
+ function hideAlert(opts) {
6686
6686
  if (alertBanner) {
6687
+ if (!opts?.force && alertBanner.dataset.key === "update-available") return;
6687
6688
  const key = alertBanner.dataset.key;
6688
6689
  if (key) dismissedAlerts.add(key);
6689
6690
  alertBanner.hidden = true;
6690
6691
  }
6691
6692
  }
6692
- alertDismiss?.addEventListener("click", hideAlert);
6693
+ alertDismiss?.addEventListener("click", () => hideAlert({ force: true }));
6693
6694
  function showRestartForConfigBanner() {
6694
6695
  if (!alertBanner || !alertText) return;
6695
6696
  const ts = (/* @__PURE__ */ new Date()).toLocaleTimeString([], { hour12: false });
@@ -8314,6 +8315,7 @@ onWsEvent((event) => {
8314
8315
  const text = document.getElementById("alert-text");
8315
8316
  if (banner && text) {
8316
8317
  banner.hidden = false;
8318
+ banner.dataset.key = "update-available";
8317
8319
  banner.style.background = "oklch(0.52 0.14 150)";
8318
8320
  const restoreHtml = `${APP_NAME} ${event.latest} available (you have ${event.current}) \u2014 <button id="btn-do-update" style="background:none;border:1px solid #fff;color:#fff;padding:0.15em 0.5em;border-radius:3px;cursor:pointer;margin-left:0.5em">Update now</button>`;
8319
8321
  window.__mailxUpdateBannerHtml = restoreHtml;
@@ -8333,6 +8335,7 @@ onWsEvent((event) => {
8333
8335
  const restoreHtml = window.__mailxUpdateBannerHtml;
8334
8336
  const prefix = event.offline ? "No connection \u2014 update postponed. " : "Update failed \u2014 ";
8335
8337
  banner.hidden = false;
8338
+ banner.dataset.key = "update-available";
8336
8339
  banner.style.background = event.offline ? "oklch(0.42 0.06 70)" : "oklch(0.45 0.12 25)";
8337
8340
  text.innerHTML = `${prefix}${restoreHtml ?? ""}`;
8338
8341
  document.getElementById("btn-do-update")?.addEventListener("click", () => {