Page MenuHomePhorge

Show previous value in transaction title when removing points or a custom field value set at task initialization
Closed, ResolvedPublic

Description

Steps to reproduce:

  1. Phorge at d9e543ba970bf2c5fdeb400140ea3d31711cd575; PHP 8.3.7
  2. 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 }
  3. Also enable http://phorge.localhost/config/edit/maniphest.points/
  4. Create a task with those fields set to non-custom values via a create task form which allows editing/changing these values
  5. Edit the task and remove/reset the values of these custom fields
  6. Look at the task and its transaction entries
  7. 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:

Screenshot from 2024-06-03 12-43-41.png (854×898 px, 89 KB)

Proposed behavior:

Screenshot from 2024-06-03 12-51-32.png (854×898 px, 92 KB)

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:

Screenshot from 2024-06-03 13-03-47.png (930×923 px, 79 KB)

image.png (930×923 px, 86 KB)