Related: https://forums.garmin.com/forum/deve...and-characters
Environment
iOS 10.3.3 (iPhone)
Garmin Connect Mobile: 3.22.4.1
Description
Entering certain text in CIQ app settings (string properties) causes unexpected behaviour. As far as I know, it doesn't matter which CIQ app you use, as long as it has a string setting.
NOTE: Because this forum seems to have a similar problem to iOS GCM, please ignore the quotes in"alert"( for this bug report to make sense.
Case A: "alert"(
If you enter "alert"( in a string field and attempt to save settings, you will be presented with an "Access Denied" error page. This is perhaps related to the fact that "alert"() is a function in javascript, although other javascript functions or reserved keywords don't seem to trigger this behaviour. Placing any number of spaces between the "t" and "(" does not mitigate this problem.
Case B: Text such as "%20" is inappropriately URL decoded
e.g.
1) Enter "hello%20world" in a string field (without quotes, not that it should make a difference)
2) Save settings
3) Open settings again
Actual behaviour: string field contains "hello world"
Expected behaviour: string field contains "hello%20world"
This is clearly related to the bug linked above where a stray "%" will cause settings to be displayed with default values on the next load.
Clearly there is an issue with URL encoding and decoding of app settings transferred via HTTP. e.g. Perhaps settings are never encoded on send, but always decoded on receive, or something like that.
App to use for re-creation:
Training Notes:
https://apps.garmin.com/en-GB/apps/e...9-fe49891d7e76
Any one of the "Line" fields, which are strings, will exhibit the behaviour described above.