1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-18 11:30:55 +01:00
No description
Find a file
epriestley 72e33c9e5a Fix a threading issue with Amazon SES
Summary:
Amazon SES does not allow us to set a Message-ID header, which means
that threads are incorrect in Mail.app (and presumably other applications
which respect In-Reply-To and References) because the initial email does not
have anything which attaches it to the rest of the thread. To fix this, never
rely on Message-ID if the mailer doesn't support Message-ID.

(In the Amazon SES case, Amazon generates its own Message-ID which we can't
know ahead of time).

I additionally used all the Lisk isolation from the other tests to make this
testable and wrote tests for it.

I also moved the idea of a thread ID lower in the stack and out of
DifferentialMail, which should not be responsible for implementation details.

NOTE: If you push this, it will cause a one-time break of threading for
everyone using Outlook since I've changed the seed for generating Thread-Index.
I feel like this is okay to avoid introducing more complexity here.

Test Plan:
Created and then updated a revision, messages delivered over Amazon
SES threaded correctly in Mail.app. Verified headers. Unit tests.

Reviewed By: rm
Reviewers: aran, tuomaspelkonen, jungejason, rm
Commenters: aran
CC: aran, rm, epriestley
Differential Revision: 195
2011-04-30 22:26:07 -07:00
bin Improve parser scalability, fix a bug or two, provide 'phd', the Phabricator 2011-03-13 14:27:03 -07:00
conf Pygments support for Phabricator 2011-04-30 22:01:02 -07:00
externals Get rid of +x on a bunch of nonexecutable files because I failed to set 2011-04-02 16:47:20 -07:00
resources Marginally improve Phabricator landing page. 2011-04-30 14:03:11 -07:00
scripts [phabricator] Allow missing dependency checks to run 2011-04-30 14:38:09 -07:00
src Fix a threading issue with Amazon SES 2011-04-30 22:26:07 -07:00
webroot Detect and fatal on magic_quotes_gpc 2011-04-29 20:26:05 -07:00
.arcconfig Point Phabricator at the meta-install. 2011-02-07 21:57:42 -08:00
.divinerconfig Basic doc for adding/updating Celerity CSS/JS. 2011-03-04 14:15:59 -08:00
.gitignore PhabricatorEnv 2011-01-31 11:55:26 -08:00
README Edited README via GitHub 2011-04-29 16:10:08 -07:00

PROJECT STATUS: CAVEAT EMPTOR

This is an unstable preview release. You can learn more at http://phabricator.org/
as well as click around our development install. Developer mailing list at
https://groups.google.com/group/phabricator-dev and please report issues using
GitHub.

WHAT IS PHABRICATOR?

Phabricator is a suite of web applications that facilitate software development
tasks, particularly code review. The primary application in the suite is
Differential, a code review tool.

Phabricator is highly unstable and has many missing features! These applications
are being brought over from Facebook's internal toolset, but there's a lot of
stuff that hasn't made it over yet. Feel free to follow the project but you
probably shouldn't try to install this yet unless you're extremely ambitious
or just want to take a look at it. 

LICENSE

Phabricator is released under the Apache 2.0 license except as otherwise noted.
http://www.apache.org/licenses/LICENSE-2.0