Page MenuHomePhabricator

Add a "silent" mode to bulk edits
Closed, ResolvedPublic

Description

See PHI279.

Bulk edits generate normal notifications, mail, webhooks, etc. However, since you can "bulk edit" a single task, it's a policy issue to just add a [√] Don't tell anyone I did this. checkbox, since an attacker could use it to act in a significantly more stealthy way than they otherwise could.

Since there are some permissions around this already we could maybe add such a checkbox eventually, e.g., maybe after T9515 when you could apply an "M-of-N" requirement to it.

For now, a reasonable compromise is to build the backend support and put the UI on the CLI for the moment, basically:

$ ./bin/bulk make-silent --id <bulk-job-id>

...or similar. That addresses a reasonable set of practical needs today and builds us toward a more complete solution in the future without creating any policy peril.


We already have this capability, broadly, in phabricator.silent, which we use to silence test instance in the Phacility cluster. I plan to:

  • Deprecate and disable setDisableEmail(), a similar legacy option used only by differential.createcomment. This is policy-violating and was historically used to post build status, which can now go through Harbormaster.
  • Provide a similar flag on TransactionEditor to act silently.
  • Have phabricator.silent and this new flag share code from there.
  • Add a flag to the bulk job thing to set this on the editor, then put a management flow for it in the CLI utils.

Revisions and Commits

Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

epriestley triaged this task as Normal priority.Jan 19 2018, 3:43 PM
epriestley created this task.
epriestley added a revision: Restricted Differential Revision.Jan 19 2018, 3:48 PM
epriestley added a revision: Restricted Differential Revision.Jan 19 2018, 5:48 PM
epriestley added a revision: Restricted Differential Revision.Jan 19 2018, 6:21 PM
epriestley closed this task as Resolved by committing Restricted Diffusion Commit.Jan 19 2018, 9:23 PM
epriestley added a commit: Restricted Diffusion Commit.
epriestley added a commit: Restricted Diffusion Commit.
epriestley added a commit: Restricted Diffusion Commit.