mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 17:22:42 +01:00
a9ceebbdb1
Summary: Ref T6367. Do all mail, feed, notification and search stuff from the daemons, in all editors. There are four relatively-stateful editors (Audit, Differential, Phriction, PhortuneCart) which needed special care to move state into the daemons properly. Beyond that, I moved mailTo/mailCC/feedRelated/feedNotify to be computed before we enter the worker: - This is simpler, since a lot of editors rely on being able to call `$object->getReviewers()` or similar to compute them. - This is more correct, since we want to freeze the lists at this moment in time. Finally, I renamed `loadEdges` to `willPublish` and made it a slightly more general hook. --- This is a bit fragile and I'm not //thrilled// about it. It would probably be cleaner to have separate Editor and Publisher classes (something like @fabe's D11329 did). However, I think that's quite a lot of work, and I'd like to see stronger motivation for it (either in this actually being more fragile than I think, or there being other things we get out of it). Overall, I'm comfortable with this change, just definitely not a big fan of the "save" + "load" pattern since I think it's really fragile, nonobvious, hard to debug/predict, etc. Test Plan: Directly updated editors: - Created a new Phriction page, saw "Document Content". - Edited a Phriction page, saw "Document Diff". - Edited a revision, got normal looking mail. - Faked in `changedPriorToCommitURI` and verified it survived the state boundary. - Sent Audit mail. - Sent invoice mail. Indirect editors - for these, I just made a change and made sure the mail generated: - Updated a paste. - Updated an event. - Updated a thread. - Updated a task. - Updated a mock. - Updated a question. - Updated a project. - Updated a file. - Updated an initiative. - Updated a Legalpad document. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley, fabe Maniphest Tasks: T6367 Differential Revision: https://secure.phabricator.com/D13115 |
||
---|---|---|
.. | ||
almanac | ||
aphlict | ||
arcanist/conduit | ||
audit | ||
auth | ||
base | ||
cache | ||
calendar | ||
celerity | ||
chatlog | ||
conduit | ||
config | ||
conpherence | ||
console | ||
countdown | ||
daemon | ||
dashboard | ||
differential | ||
diffusion | ||
diviner | ||
doorkeeper | ||
draft/storage | ||
drydock | ||
fact | ||
feed | ||
files | ||
flag | ||
fund | ||
harbormaster | ||
help | ||
herald | ||
home | ||
legalpad | ||
lipsum | ||
macro | ||
mailinglists/storage | ||
maniphest | ||
meta | ||
metamta | ||
multimeter | ||
notification | ||
nuance | ||
oauthserver | ||
owners | ||
passphrase | ||
paste | ||
people | ||
phame | ||
phid | ||
phlux | ||
pholio | ||
phortune | ||
phpast | ||
phragment | ||
phrequent | ||
phriction | ||
policy | ||
ponder | ||
project | ||
releeph | ||
remarkup/conduit | ||
repository | ||
search | ||
settings | ||
slowvote | ||
spaces | ||
subscriptions | ||
support/application | ||
system | ||
tokens | ||
transactions | ||
typeahead | ||
uiexample | ||
xhprof |