Page MenuHomePhabricator

Modernize email command parsing
ClosedPublic

Authored by epriestley on Mar 31 2015, 11:15 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Dec 27, 3:57 PM
Unknown Object (File)
Tue, Dec 24, 2:54 PM
Unknown Object (File)
Tue, Dec 24, 8:53 AM
Unknown Object (File)
Tue, Dec 24, 4:06 AM
Unknown Object (File)
Thu, Dec 19, 11:36 PM
Unknown Object (File)
Tue, Dec 17, 11:14 PM
Unknown Object (File)
Thu, Dec 12, 11:06 AM
Unknown Object (File)
Tue, Dec 10, 2:25 PM
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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.