Steps to reproduce:
- Edit Maniphest config custom-field-definitions to include *required* custom field, e.g.:
{ "mycompany.estimated-hours": { "name": "Estimated Hours", "type": "int", "caption": "Estimated number of hours this will take.", "required": true } }
- Create a task
- Create a comment on the task mentioning another task, e.g.:
Something T22
- Edit comment above (leaving the the T22), e.g.:
Something else T22
- Click Save Changes
Expected result:
Comment changes saved.
Actual result:
Visually nothing happens (edit modal dialog stays on screen).
Browser developer console shows error:
POST http://<phabricator>/transactions/edit/PHID-XACT-TASK-p7kt4lrplc4qg6q/ 500 (Internal Server Error)
And buried in response JSON/HTML there is a an error message:
Unhandled Exception ("PhabricatorApplicationTransactionValidationException") Validation errors: - Estimated Hours is required.
This is also reproducible when comment contains other objects e.g. a diff D123.
So far to me it seems that Phabricator on comment edit is trying to save an edge which "edits" a the task and triggers validation error due to required field not being in comment transactions.
Version information:
phabricator 5e423c5fe021cd2e97adcf71c5faaba685471b06 (Tue, Mar 21)
arcanist 3b6b523c2b236e3724a1e115f126cb6fd05fa128 (Feb 18 2017)
phutil 91ab940c3979f7bd7a7c74099c46fc8884a08128 (Sat, Mar 18)