- People assign open tasks to themselves and then do not follow up to get these tasks resolved. So these tasks stay open for years without much progress, as nobody else plans to work on a task, as it looks like someone is already working on a task. This is called "cookie licking".
- Send an email to assignees who have open tasks assigned to themselves for a long time, and ask them to update.
- After a few weeks, send a second and final email, as a reminder.
- If assignees do not react, reset the assignee field of these tasks. Then email these folks again and include a link to the list of tasks that they have just been unassigned from, to still allow them reclaiming if needed/wanted.
Existing stuff in the Phab user interface (which does not cover what we want):
- On https://phabricator.wikimedia.org/maniphest/report/?order=-oldest-all , "Oldest (All)" refers to the age of the task but not for long how it has been assigned so this is not what I'm looking for.
- https://phabricator.wikimedia.org/maniphest/query/tIxvk_i9KoVq/#R lists ~250 open assigned tasks that have not seen any (!, not: 'assignee') updates in the last 3 years.
Going for an SQL example, this would be a query for open tasks which had their current assignee set more than four years ago ("126144000") from now:
SELECT u.userName, t.id, from_unixtime(ta.dateModified) FROM phabricator_maniphest.maniphest_task t JOIN phabricator_user.user u JOIN phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified < (UNIX_TIMESTAMP() - 126144000)) AND u.phid = SUBSTR(ta.newValue, INSTR(ta.newValue, 'PHID-USER-'), 30) AND ta.objectPHID = t.phid AND t.ownerPHID = u.phid AND (t.status = "open" OR t.status = "stalled") ORDER BY ta.dateModified;
Note: Task might have been un- and re-assigned to same person in the meantime so list might not be completely correct.
And not sure how performant that is or whether to include in some weekly cron job email.
Is this something to discuss somewhere? And to bikeshed about a reasonable time span threshold before resetting? Probably yes.