"Legally", commas are not required to be escaped in query strings.
RFC is a bit of morass on that and people sometimes mistakenly assume that everything that is "reserved character" has to be encoded everywhere, where in fact the mandate varies with the part of URI.
So, worth trying with %-encode, if in "practice" Roku code has erred on the side of recognizing only the unescaped unreserved chars
PS. indeed, Roku is "illegally" picky:
~ $ curl -d '' 'http://192.168.1.26:8060/search/browse?keyword=lego&provider-id=12' -v
< HTTP/1.1 200 OK
* Connection #0 to host 192.168.1.26 left intact
~ $ curl -d '' 'http://192.168.1.26:8060/search/browse?keyword=lego&provider-id=12,13' -v # appending ,13
< HTTP/1.1 400 Bad Request
* HTTP error before end of send, stop sending
* Closing connection 0
- how about just using "+"
I.e. `&provider-id=12+13` - after all "+" is the short encoding for space (vs %20 long form). And channel# tend to be space-free :). And `+` makes the URL more humane