Page MenuHomePhabricator

Reconsider autoassign-on-close behavior in Maniphest
Closed, ResolvedPublic

Description

In Maniphest, tasks currently autoassign to the actor on close if they are unassigned.

This behavior was introduced in T25, for no particular reason (I think it just existed in Tasks at Facebook? Or I made it up?). However, no one has ever really complained about it, except WMF in T6905, except that request sidetracked way into stacked actions which we had other plans to deal with.

I made a weak attempt to remove this in D14670 but we erred on the side of caution by not changing it. WMF downstream task is https://phabricator.wikimedia.org/T84833, they're not fans.

I think we should take another look at this. Possible approaches:

  1. Leave it as-is.
  2. Remove it.
  3. Add a claim attribute to maniphest.statuses. Configuring "claim": false disables this behavior for a particular status. So you can turn it off entirely by disabling it for all statuses, or turn it off selectively by leaving it on for some and turning it off for others.
  4. Do (3), and also turn this behavior off for invalid, wontfix, duplicate in the defaults.
  5. Make "Change Status" automatically add another "claim" stacked action if you swap it to a "Closed" status (WMF solution in T6905).

I like (5) the least and don't want to do that, since it seems bad to me and also requires a bunch of not-particularly-general JS, although stacked actions in Differential may force some of that anyway.

I'm basically on the fence about either throwing this out completely -- (2) -- or maybe doing (4). The complexity in (4) is very low, but it does sort of lock us into supporting this forever a little harder. If you sort-of like this, let's do (3) or (4)?

Event Timeline

Did this pop up again recently?

Not directly -- I'm just digging through the Phabricator board on WMF to try to catch issues before they happen, since they have a Big Update happening soon.

I'm fine removing it then seeing how loud (if any) complaints are.

(2) isn't a solution I'd enjoy, as the feature really helps to gain in productivity. Not to have this means revisit each closed task to assign it.

(3) is nice, and if I well understand, avoid to break compatibility in existing Phabricator installs, as the default setting would be to keep claim at true.

(5) sounds complicated to use, and bring distraction with a new line, I've the feeling all these elements stacked means less productivity than in 2012 with a simpler UI.