fix: apply duplicate i18n values on entry load #7145
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.
Summary
We are using a github-gateway implementation with 7 language variants on a pretty large website. For a while we were struggling with a bug, where every once in a while all the duplicated field values would be lost on one of the languages upon saving.
I suspect that when you create a new entry and the CMS entry is updated with the files it requests from Github for each language, sometimes one of the files is not loaded correctly and data is null. If you then publish again without switching to the "broken" language variant it will save the empty file.
There were also some cases when we already had the files, but added a duplicate field to the collection later on and the values were only saved to the default language.
This patch fixes the second part of this problem - when loading data it will apply the duplicate field values to all i18n variants, so it will get properly updated when published.
I need to test a few more edge cases with lists, so we don't create any breaking changes and will update this accordingly.
Test plan
This was my testing collection. Test case: create a new offer then manually clear one of the files. Open the default entry in CMS, change the title and publish.
Checklist
Please add a
x
inside each checkbox:A picture of a cute animal (not mandatory but encouraged)