Steps to reproduce:
- Phorge at d9e543ba970bf2c5fdeb400140ea3d31711cd575; PHP 8.3.7
- Go to http://phorge.localhost/config/edit/maniphest.custom-field-definitions/ and define a custom date field: { "deadline.due": { "name": "Due Date", "view": true, "edit": true, "description": "Deadline for completing the task.", "search": true, "fulltext": true, "type": "date", "copy": false }
- Also enable http://phorge.localhost/config/edit/maniphest.points/
- Create a task with those fields set to non-custom values via a create task form which allows editing/changing these values
- Edit the task and remove/reset the values of these custom fields
- Look at the task and its transaction entries
- Either later have some reason that you want to know the original due date or points assigned when grooming incoming work, or realize that you made a mistake removing them
Expected outcome:
Some way to find out values which got originally set at task creation
Actual outcome:
No way to find out values which got originally set at task creation
Other comments:
Some magic using shouldHideInApplicationTransactions() makes certain transaction entries not get displayed in the task view when creating a task to reduce visual noise, such as initially setting the assignee, story points, or a custom date field. That's fine.
When later removing such a value, the task view lists this activity but it does not expose the previous field value - it's only in the database transaction table.
Thus expose the previous value in the transaction title when removing/resetting a value.
This makes it way easier to revert an accidental removal of such data.
Current behavior:
Proposed behavior:
Proposed behavior aligns also with other custom field types, e.g. a select custom field showing user1 changed FieldName from SomeValue to DefaultValue, and a users custom field which shows user1 updated FieldName, removed: user2: