Fix /share
and cleanup and reorganize frontend locale loading
#25240
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.
My react-intl upgrade PR broke the locale loading on
/share
. This was caused bygetLocale
being called when importing files, as it is called in the root scope of the file.This is a bad practice and can easily lead to those files being imported/loaded while the locale is not loaded yet. The current code needs to dynamically import the various React components after
loadLocale
has been called, which is error-prone.Now, locale data is loaded when the component/code is called, not imported. This avoid the need to dynamically import this code once the locale data has been loaded
While I was working on this, I made some additional changes that I did not wanted to do in my initial PR to not make it too complex:
locale
prop anymore for root React components, this is read from<html lang>
mastodon/locales/
, which only exports the needed functions & types