Page MenuHomePhabricator

Maniphest comment editing fails with required custom field and edge
Closed, ResolvedPublic

Description

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)

Event Timeline

I'd guess there is a ...->setContinueOnMissingFields(true)->... missing on an Editor somewhere.

Thanks for the extremely thorough bug report. This should be fixed in HEAD of master, and promote to stable within about 72 hours.

And that's a really great profile image!

Thank you for such a quick turnaround! Highly appreciated.