@bobfrankston/rmfmail 1.2.200 → 1.2.201

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 (33) hide show
  1. package/client/android-bootstrap.bundle.js +6 -3
  2. package/client/android-bootstrap.bundle.js.map +2 -2
  3. package/client/app.bundle.js +3 -0
  4. package/client/app.bundle.js.map +2 -2
  5. package/client/components/message-viewer.js +5 -0
  6. package/client/components/message-viewer.js.map +1 -1
  7. package/client/components/message-viewer.ts +5 -0
  8. package/client/compose/compose.bundle.js +3 -0
  9. package/client/compose/compose.bundle.js.map +2 -2
  10. package/client/compose/compose.js +3 -0
  11. package/client/compose/compose.js.map +1 -1
  12. package/client/compose/compose.ts +3 -0
  13. package/client/package.json +1 -1
  14. package/package.json +3 -3
  15. package/packages/mailx-service/index.d.ts +1 -1
  16. package/packages/mailx-service/index.d.ts.map +1 -1
  17. package/packages/mailx-service/index.js +8 -2
  18. package/packages/mailx-service/index.js.map +1 -1
  19. package/packages/mailx-service/index.ts +8 -2
  20. package/packages/mailx-service/jsonrpc.js +1 -1
  21. package/packages/mailx-service/jsonrpc.js.map +1 -1
  22. package/packages/mailx-service/jsonrpc.ts +1 -1
  23. package/packages/mailx-service/package.json +1 -1
  24. package/packages/mailx-store-web/android-bootstrap.js +1 -1
  25. package/packages/mailx-store-web/android-bootstrap.js.map +1 -1
  26. package/packages/mailx-store-web/android-bootstrap.ts +1 -1
  27. package/packages/mailx-store-web/package.json +1 -1
  28. package/packages/mailx-store-web/web-service.d.ts +1 -1
  29. package/packages/mailx-store-web/web-service.d.ts.map +1 -1
  30. package/packages/mailx-store-web/web-service.js +5 -3
  31. package/packages/mailx-store-web/web-service.js.map +1 -1
  32. package/packages/mailx-store-web/web-service.ts +5 -3
  33. /package/packages/mailx-imap/{node_modules.npmglobalize-stash-13740 → node_modules.npmglobalize-stash-63592}/.package-lock.json +0 -0
@@ -3611,7 +3611,7 @@ export class MailxService {
3611
3611
  }
3612
3612
  }
3613
3613
  // ── Drafts ──
3614
- async saveDraft(accountId, subject, bodyHtml, bodyText, to, cc, previousDraftUid, draftId, bcc) {
3614
+ async saveDraft(accountId, subject, bodyHtml, bodyText, to, cc, previousDraftUid, draftId, bcc, from) {
3615
3615
  // Local-first: commit the draft to the local filesystem synchronously
3616
3616
  // and return immediately. The IMAP APPEND (and the previous-draft
3617
3617
  // delete) run in the background. Previously this method awaited IMAP
@@ -3638,7 +3638,13 @@ export class MailxService {
3638
3638
  const body = bodyHtml || bodyText || "";
3639
3639
  const bodyEncoded = encodeQuotedPrintable(body);
3640
3640
  const headers = [
3641
- `From: ${account.name} <${account.email}>`,
3641
+ // The compose From field wins — a reply to a message delivered to
3642
+ // an alias carries that alias, and the draft must keep it. The
3643
+ // account default stamped here unconditionally made every draft
3644
+ // claim the primary identity even when compose showed the alias
3645
+ // (Bob 2026-07-30: hackers-list reply drafted as rmfmail@bob.ma
3646
+ // while the actual send correctly used hackers@bobf…).
3647
+ `From: ${from?.trim() || `${account.name} <${account.email}>`}`,
3642
3648
  // Bcc belongs IN a draft — it's the send path that strips it.
3643
3649
  // Without it, editing a saved draft silently lost the Bcc list.
3644
3650
  to ? `To: ${to}` : null, cc ? `Cc: ${cc}` : null, bcc ? `Bcc: ${bcc}` : null,