HomePhabricator

When workflow dialog buttons are clicked, disable the button

Description

When workflow dialog buttons are clicked, disable the button

Summary:
Depends on D19245. Fixes T11145. Ref T13108. See PHI488. Disable workflow buttons when they're clicked to prevent accidental client-side double submission.

This might have some weird side effects but we should normally never need to re-use a workflow dialog form so it's not immediately obvious that this can break anything.

Test Plan:

  • Added sleep(1) to the Mute controller and the Maniphest task controller.
  • Added phlog(...) to the Mute controller.
  • Opened the mute dialog, mashed the button a thousand times.
    • Before: Saw a bunch of logs.
    • After: Button immediately disables, saw only one log.

Maniphest Tasks: T13108, T11145

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