If the first non-null entry in the params array is falsey, the request bombs.
Something like {"id":279,"projectPHIDs":[],"status":"0","ownerPHID":"PHID-USER-on3xxsnaljmfn36d4b7a"}
Differential D8391
Check for null, strictly, in maniphest.update param validation xela on Mar 4 2014, 1:23 AM. Authored by Tags None Referenced Files
Subscribers
Details
If the first non-null entry in the params array is falsey, the request bombs. Something like {"id":279,"projectPHIDs":[],"status":"0","ownerPHID":"PHID-USER-on3xxsnaljmfn36d4b7a"} Before: echo '{"id":279,"projectPHIDs":[],"status":"0","ownerPHID":"PHID-USER-cj3cpuh7oorbmnn2pl5g"}' | arc call-conduit maniphest.update {"error":"ERR-NO-EFFECT","errorMessage":"ERR-NO-EFFECT: Update has no effect.","response":null} After: echo '{"id":279,"projectPHIDs":[],"status":"0","ownerPHID":"PHID-USER-cj3cpuh7oorbmnn2pl5g"}' | arc call-conduit maniphest.update {"error":null,"errorMessage":null,"response":{"id":"279","phid":"PHID-TASK-lbwcq3pmur2c5fuqqhlx"...
Diff Detail
Event TimelineComment Actions figured out why xhpast wasn't working on stock ec-2, so I can lint like I should sudo yum install gcc-c++ Comment Actions I'm going to pull this since it's clearly an improvement. In the long run, I think things will look something like this:
ApplicationTransactions includes sophisticated detection of no-effect updates, including updates which have no effect because they set a value to the current value (e.g., changing status from "Open" to "Open"). This is the real code we should be using to determine that an input has no effect. But we can cross this bridge when we get there. |