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
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
F3249537: D25669.1742286505.diff
Mon, Mar 17, 08:28
F3224696: D25669.1742079450.diff
Fri, Mar 14, 22:57
F3220662: D25669.1741811449.diff
Tue, Mar 11, 20:30
F3216832: D25669.1741716509.diff
Mon, Mar 10, 18:08
F3002545: D25669.1740448655.diff
Mon, Feb 24, 01:57

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