Page MenuHomePhabricator

Expand aggregate email recipients prior to multiplexing
ClosedPublic

Authored by epriestley on Jan 31 2014, 12:29 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 24, 10:15 PM
Unknown Object (File)
Tue, Apr 23, 9:39 PM
Unknown Object (File)
Tue, Apr 23, 9:39 PM
Unknown Object (File)
Tue, Apr 23, 9:39 PM
Unknown Object (File)
Tue, Apr 23, 9:39 PM
Unknown Object (File)
Mon, Apr 8, 8:07 AM
Unknown Object (File)
Sat, Apr 6, 2:41 AM
Unknown Object (File)
Fri, Apr 5, 11:16 PM
Subscribers
Tokens
"Mountain of Wealth" token, awarded by dctrwatson.

Details

Summary

Ref T4361. Before we figure out which To/CC are addressable, try to expand To/CC. Specifically, the supported expansion right now is project PHIDs expanding to all their members.

Because of the way multiplexing works, we have to do this in two places: explicitly in multiplexMail(), and when sending mail that wasn't multiplexed. This is messy; eventually we can get rid of it (after ApplicationTransactions are everywhere).

This has some rough edges, but should basically give us what we need to make stuff like projects mailable. Particularly, it deals with most issues in D7436:

  • I got around the resolution/multiplexing issue by resolving aggregate mailables separately from mailable actors.
  • We get to keep the Project PHID as a To/CC/Reviewer/Whatever until the last second.
  • Users won't get two emails for being a CC and also a member of a CC'd project.
  • We can degrade to the list stuff this way if we want, by having the project aggregate yield a single list PHID.
Test Plan

Added a comment to a revision with a project reviewer, got mail to all the project's members.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped