You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The former function was returning a single string, whereas the new one might return a comma separated list of strings.
The mapping from a list of strings to a list of Locales, was done a "level higher" not in the objective-c function but in swift.
The result is that the objective-c function was in fact converting the language codes from the feed to a 2 letter language code (across all iOS versions), and that is what we were storing in the database, which is accidentally or purposefully but in an undocumented way is working
When adding the swift function I was checking against the feed values, and from that PR on the DB was using 3 letter codes.
Unfortunately the unit-tests were not run by me on that PR, the CI is currently not running them
The simplest, and most straightforward solution at this point is, use the existing working solution and store the language codes as 2 letter codes, apply the same for user settings. This solves the issue with iOS 15 and below, without having to manually map codes, as suggested in: #667
This purposeful workaround has to be clearly documented in code.
After throughout analysis, why the AppStore version is working as it is, what were the changes in the meantime.
I did found the following:
Proposition
The simplest, and most straightforward solution at this point is, use the existing working solution and store the language codes as 2 letter codes, apply the same for user settings. This solves the issue with iOS 15 and below, without having to manually map codes, as suggested in: #667
This purposeful workaround has to be clearly documented in code.
To avoid similar problems in the future, we need to make sure unit tests are run during CI builds (issue created)
The text was updated successfully, but these errors were encountered: