Homec4science

Modernize email command parsing

Authored by epriestley <git@epriestley.com> on Apr 1 2015, 01:48.

Description

Modernize email command parsing

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.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7199

Differential Revision: https://secure.phabricator.com/D12230

Details

Committed
epriestley <git@epriestley.com>Apr 1 2015, 01:48
Pushed
aubortJan 31 2017, 17:16
Parents
rPH030e05aa4ca5: Remove reply handler instructions from email
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH0d99c84bd78e: Modernize email command parsing (authored by epriestley <git@epriestley.com>).Apr 1 2015, 01:48