Page MenuHomePhabricator

Migrate Maniphest transactions to improve consistency
Open, NormalPublic

Description

There are some historical inconsistencies in the Maniphest transaction record which may need to be fixed during development of Facts (T1562).

Merging Changes Status: We currently write one "Merge Into" transaction for a merge operation, but this operation really accomplishes two things: merging, and (possibly) changing the task status. There is no easy way to reconstruct whether the task status was changed or not. Ideally, this would write two separate transactions. See also PHI66. The separate transactions can be reconstructed from the entire transaction log, but we can't insert the "status" transaction into the timeline retroactively in ID order without disrupting all transaction IDs. We could probably add them at the end, backdate them, and end up in a reasonable place.

Old null -> value Transactions: Old transactions, and less-old status and priority transactions, recorded a null -> value transaction on task creation even if the value wasn't changed from the default value. Ideally, we could remove these, and clean up some of the display logic which hides them. See PHI221.