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 think we should take another look at this. Possible approaches:
- Leave it as-is.
- Remove it.
- 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.
- Do (3), and also turn this behavior off for invalid, wontfix, duplicate in the defaults.
- 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)?