Repository navigation
Send resends and releases to the right recipients - #33
Merged
Merged
Conversation
Resending a Cc or Bcc row copied the original Cc and Bcc lists, so
other recipients got the email again and the resent address appeared
twice. Releasing from a Cc or Bcc row put that address in To and
dropped the original To recipients, though their rows flipped to sent.
- Resend goes to the resent row's recipient alone, matching the
dashboard's "Resend this email to {address}?" prompt
- Release sends the original To, Cc, and Bcc envelope from any row
- The Release prompt names every recipient it will send to
Fixes #31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #31.
Resend and Release both copied the recorded Cc and Bcc lists onto a new To built from the clicked row. That sent mail to the wrong people.
Resend
Before: resending the Bcc row of an email to
a@(To),c@(Cc) andb@(Bcc) sent Tob@, Ccc@, Bccb@. Soc@got the email again, andb@appeared twice.After: a resend goes only to the recipient on that row. This matches the dashboard prompt, "Resend this email to {address}?", and the dashboard's suppression check, which only looks at that one address. To reach several original recipients, resend each row.
Release
Release marks every sibling row as sent, so it has to deliver to the whole original envelope.
Before: releasing from a Cc or Bcc row put that address in To and left out the original To recipients, though their rows still flipped to "sent".
After: release sends the original To, Cc and Bcc lists, whichever row you release from.
The release confirmation is the browser's native
confirm()dialog, which a page screenshot can't capture. Its text now names every recipient:Changes
ResentMessagesends to the row's address only.ReleasedMessagesends the recorded To, Cc and Bcc. A row with no recorded envelope falls back to its own address.EmailMessage::envelopeAddresses()supplies the Release prompt.Tests
All 455 tests pass, and static analysis is clean.
#16 (duplicate
resenttags) changes the same class and has its own PR.