@bobfrankston/rmfmail 1.0.681 → 1.0.686

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 (76) hide show
  1. package/bin/lean-accounts.js +0 -1
  2. package/client/app.bundle.js +138 -38
  3. package/client/app.bundle.js.map +2 -2
  4. package/client/app.js +12 -1
  5. package/client/app.js.map +1 -1
  6. package/client/app.ts +12 -1
  7. package/client/components/context-menu.js +2 -0
  8. package/client/components/context-menu.js.map +1 -1
  9. package/client/components/context-menu.ts +6 -0
  10. package/client/components/folder-tree.js +26 -4
  11. package/client/components/folder-tree.js.map +1 -1
  12. package/client/components/folder-tree.ts +21 -4
  13. package/client/components/message-list.js +108 -40
  14. package/client/components/message-list.js.map +1 -1
  15. package/client/components/message-list.ts +103 -38
  16. package/client/compose/compose.bundle.js +148 -15
  17. package/client/compose/compose.bundle.js.map +3 -3
  18. package/client/compose/spellcheck.js +178 -12
  19. package/client/compose/spellcheck.js.map +1 -1
  20. package/client/compose/spellcheck.ts +168 -8
  21. package/client/lib/api-client.js +3 -0
  22. package/client/lib/api-client.js.map +1 -1
  23. package/client/lib/api-client.ts +4 -0
  24. package/client/lib/mailxapi.js +3 -0
  25. package/client/lib/rmf-tiny.js +25 -6
  26. package/package.json +7 -7
  27. package/packages/mailx-core/index.d.ts.map +1 -1
  28. package/packages/mailx-core/index.js +2 -12
  29. package/packages/mailx-core/index.js.map +1 -1
  30. package/packages/mailx-core/index.ts +2 -12
  31. package/packages/mailx-imap/index.d.ts.map +1 -1
  32. package/packages/mailx-imap/index.js +31 -6
  33. package/packages/mailx-imap/index.js.map +1 -1
  34. package/packages/mailx-imap/index.ts +32 -6
  35. package/packages/mailx-imap/node_modules.npmglobalize-stash-11884/.package-lock.json +116 -0
  36. package/packages/mailx-imap/package-lock.json +2 -2
  37. package/packages/mailx-imap/package.json +1 -1
  38. package/packages/mailx-service/index.d.ts +22 -0
  39. package/packages/mailx-service/index.d.ts.map +1 -1
  40. package/packages/mailx-service/index.js +123 -0
  41. package/packages/mailx-service/index.js.map +1 -1
  42. package/packages/mailx-service/index.ts +109 -0
  43. package/packages/mailx-service/jsonrpc.js +3 -0
  44. package/packages/mailx-service/jsonrpc.js.map +1 -1
  45. package/packages/mailx-service/jsonrpc.ts +3 -0
  46. package/packages/mailx-service/local-store.d.ts.map +1 -1
  47. package/packages/mailx-service/local-store.js +6 -12
  48. package/packages/mailx-service/local-store.js.map +1 -1
  49. package/packages/mailx-service/local-store.ts +6 -12
  50. package/packages/mailx-settings/docs/accounts.md +14 -1
  51. package/packages/mailx-settings/docs/npmglobalize-disttag.md +90 -0
  52. package/packages/mailx-settings/docs/prod-android.md +88 -0
  53. package/packages/mailx-settings/docs/prod.md +224 -0
  54. package/packages/mailx-settings/docs/push-relay.md +141 -0
  55. package/packages/mailx-settings/docs/rmf-tiny.md +156 -0
  56. package/packages/mailx-settings/index.d.ts +1 -1
  57. package/packages/mailx-settings/index.d.ts.map +1 -1
  58. package/packages/mailx-settings/index.js +1 -4
  59. package/packages/mailx-settings/index.js.map +1 -1
  60. package/packages/mailx-settings/index.ts +1 -3
  61. package/packages/mailx-settings/package.json +1 -1
  62. package/packages/mailx-store/db.d.ts.map +1 -1
  63. package/packages/mailx-store/db.js +44 -6
  64. package/packages/mailx-store/db.js.map +1 -1
  65. package/packages/mailx-store/db.ts +47 -6
  66. package/packages/mailx-store/package.json +1 -1
  67. package/packages/mailx-store-web/package.json +4 -1
  68. package/packages/mailx-store-web/web-settings.d.ts.map +1 -1
  69. package/packages/mailx-store-web/web-settings.js +0 -1
  70. package/packages/mailx-store-web/web-settings.js.map +1 -1
  71. package/packages/mailx-store-web/web-settings.ts +0 -1
  72. package/packages/mailx-types/index.d.ts +1 -2
  73. package/packages/mailx-types/index.d.ts.map +1 -1
  74. package/packages/mailx-types/index.js.map +1 -1
  75. package/packages/mailx-types/index.ts +1 -2
  76. package/packages/mailx-types/package.json +1 -1
package/client/app.js CHANGED
@@ -1133,8 +1133,19 @@ function sanitizeQuotedBody(msg) {
1133
1133
  // like `<!--` / `-->` / `<!` in plain-text bodies can be misread
1134
1134
  // by the parser. Per Bob 2026-05-12: "not just ugly, it breaks
1135
1135
  // the HTML." Trivial source-clutter is the lesser evil.
1136
+ //
1137
+ // CRLF → <br>. `white-space:pre-wrap` alone is not enough: TinyMCE
1138
+ // (and other HTML editors) normalize text-node whitespace when
1139
+ // setContent ingests the HTML, collapsing `\n` to spaces BEFORE
1140
+ // CSS runs. The literal `<br>` survives the normalization, so we
1141
+ // get one line break per source line whether the editor preserves
1142
+ // raw whitespace or not. pre-wrap stays as belt-and-braces and to
1143
+ // keep multi-space runs (alignment, indented quote-markers like
1144
+ // `> > >`) visible.
1136
1145
  const escaped = String(msg.bodyText || "")
1137
- .replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1146
+ .replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")
1147
+ .replace(/\r\n?/g, "\n")
1148
+ .replace(/\n/g, "<br>");
1138
1149
  return `<div style="white-space:pre-wrap;font-family:inherit;margin:0">${escaped}</div>`;
1139
1150
  }
1140
1151
  let body = msg.bodyHtml;