Page MenuHomePhorge

Improve error passing task IDs as URL parameter in invalid format
ClosedPublic

Authored by aklapper on May 21 2024, 16:47.
Tags
None
Referenced Files
F3318283: D25669.1743279449.diff
Fri, Mar 28, 20:17
F3318124: D25669.1743274844.diff
Fri, Mar 28, 19:00
F3318015: D25669.1743272459.diff
Fri, Mar 28, 18:20
F3313871: D25669.1743223291.diff
Fri, Mar 28, 04:41
F3309620: D25669.1743186986.diff
Thu, Mar 27, 18:36
F3309159: D25669.1743182526.diff
Thu, Mar 27, 17:22
F3307635: D25669.1743149219.diff
Thu, Mar 27, 08:06
F3298145: D25669.1742997658.diff
Tue, Mar 25, 14:00

Details

Summary

Maniphest expects the values of the ids URL parameter to be integers. Example: http://phorge.localhost/maniphest/?ids=1,2,3,4 to show a list of tasks with those IDs.
When passing monograms instead (T prefix, like T123 instead of 123), a cryptic message Expected a numeric scalar or null for %Ld conversion is shown.

Thus check if $this->taskIDs consists of integers only; if not throw a PhutilSearchQueryCompilerSyntaxException with an explanatory error message.

Closes T15838

Test Plan

Go to http://phorge.localhost/maniphest/?ids=T1,T2,T3,T4 before and after applying the patch.

Diff Detail

Repository
rP Phorge
Branch
T15838taskIdsErrorMsg (branched from master)
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 1298
Build 1298: arc lint + arc unit

Event Timeline

TODO: Check how Conduit reacts to this

Uh, Conduit also says Task IDs must be integer numbers. Nice. But how can I reset "Planned Changes"? Only by pushing another revision?

No changes; merely trying to reset "Changes planned" in Differential

avivey subscribed.

Don't we have something like phutil_is_integer method somewhere?

This revision is now accepted and ready to land.May 29 2024, 07:00

Don't we have something like phutil_is_integer method somewhere?

Nope, no luck for grep -r "_int" . | grep phutil here. :)