Page MenuHomePhabricator

Modernize email command parsing
ClosedPublic

Authored by epriestley on Mar 31 2015, 11:15 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Sep 12, 12:29 PM
Unknown Object (File)
Thu, Sep 12, 12:28 PM
Unknown Object (File)
Thu, Sep 12, 12:28 PM
Unknown Object (File)
Thu, Sep 12, 12:28 PM
Unknown Object (File)
Wed, Sep 11, 5:41 PM
Unknown Object (File)
Wed, Aug 28, 5:05 PM
Unknown Object (File)
Wed, Aug 28, 7:22 AM
Unknown Object (File)
Wed, Aug 21, 2:51 AM
Subscribers

Details

Summary

Ref T7199. This prepares for an exciting new world of more powerful "!action" commands. In particular:

  • We parse multiple commands per mail.
  • We parse command arguments (these are currently not used).
  • We parse commands at the beginning or end of mail.

Additionally:

  • Do a quick modernization pass on all handlers.
  • Break legacy compatibility with really hacky Facebook stuff (see T1992). They've theoretically been on notice for a year and a half, and their setup relies on calling very old reply handler APIs directly.
  • Some of these handlers had some copy/paste fluff.
  • The Releeph handler is unreachable, but fix it in theory.
Test Plan
  • Sent mail to a file; used "!unsubscribe".
  • Sent mail to a legalpad document; used "!unsubscribe".
  • Sent mail to a task; used various "!close", "!claim", "!assign", etc.
  • Sent mail to a paste.
  • Sent mail to a revision; used various "!reject", "!claim", etc.
  • Tried to send mail to a pull request but it's not actually reachable.

Diff Detail

Repository
rP Phabricator
Branch
mcom3
Lint
Lint Passed
SeverityLocationCodeMessage
Advicesrc/applications/maniphest/mail/ManiphestReplyHandler.php:68XHP16TODO Comment
Unit
Tests Passed
Build Status
Buildable 5065
Build 5083: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Modernize email command parsing.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Mar 31 2015, 11:36 PM
This revision was automatically updated to reflect the committed changes.