Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Audit][Implementation] - Remove Intl Polyfills which are supported by Hermes by separating iOS and android implementation #38565
[Audit][Implementation] - Remove Intl Polyfills which are supported by Hermes by separating iOS and android implementation #38565
Changes from all commits
5ae33e4
f18cd85
91e40a3
9029258
2f5a5cc
dae726a
05cc46b
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an additional check inside that function:
hasOldCurrencyData
. Seems like even if the API is supported it may not work as expected e.g. old API. Seeing that we have an early return in enabling that polyfill it may be safer to keep itThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@s77rt I have some reservations around
hasOldCurrencyData
, if you could explain a bit more about it. So the thing is the output of this function differs only by a space character, otherwise both of the strings are the same on all platforms.I printed both values of the comparison in the console and it appears that the output by
NumberFormat
contains a special space character which is different from normal space character.If I update this const value, only then we do early return otherwise we are always polyfilling
NumberFormat
. Android and Web also works fine BUT iOS doesn't. Which means that the below code is not working as expected. Ideally, iOS should not fall in the early-return. We probably want to update this condition to includeIntl.NumberFormat(locale, options).formatToParts(number)
because this is what's missing in iOS and it causes the crash.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
iOS do not fall into the early-return, perhaps you tested after the polyfill was applied already.
Got same results on Android
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@s77rt Did you test with the applied diff? I also get the same results as you but without the diff which is what we have in main.
With the diff, each platform falls into the early return and only iOS fails because polyfill isn't applied and we get error on
Intl.NumberFormat(locale, options).formatToParts(number)
. So I am wondering whether we should includeformatToParts
in the condition for early return?Otherwise, let's keep the things as is 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hurali97 Let's do the following:
POLYFILL_TEST.EXPECTED_OUTPUT
value (use correct whitespace) so the polyfill is applied only when neededformatToParts
to the conditionSummary:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@s77rt Perfect. I have addressed these changes, you can re-review 👍