Investigate and fix translation file emptying bug #2112
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.
Implement atomic file writes for catalog persistence to prevent intermittent data loss where
.pofiles could be truncated to empty strings during write operations.The bug was hard to reproduce, but users reported that translation files (e.g.,
pt.po,es.po) occasionally became empty. This suggests a race condition or an interrupted write operation where the file might be truncated before new content is fully written. By writing to a temporary file and then atomically renaming it, we ensure that the target file is only updated with complete, valid content, preventing scenarios where it could briefly appear empty or corrupted.