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
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
F3292285: D25669.1742890704.diff
Mon, Mar 24, 08:18
F3290728: D25669.1742871582.diff
Mon, Mar 24, 02:59

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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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. :)