runtime: the url object should be in URI-encoded in the `openUrl()`
yorkie opened this issue · comments
Yorkie Makoto commented
- Version: next
- Platform: all
- Subsystem: runtime
Here is the example to reproduce this problem:
rt.openUrl('yoda-app://telephony?from=+3678')
Then the url.query
object should be:
{ from: ' 3678' }
A possible solution should call encodeURI
or encodeURIComponent
before calling the parse function.
Yorkie Makoto commented
Related source lines are: https://github.com/yodaos-project/yodart/blob/next/runtime/app-runtime.js#L257-L274.
Chengzhong Wu commented
Character + would be parsed as white space in URL spec. All characters except A-Z a-z 0-9 - _ . ! ~ * ' ( ) must be escaped in URI components.
Yorkie Makoto commented
Ok, I see and closing this :)