convert from streaming form *before* any changes to file size #6807
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.
We changed (in v12.12.0) how we attach files in order to give better errors. Unfortunately this can lead to scenarios in which a file on streaming format (as produced by compact on launch or copy to file) is truncated or expanded before conversion to normal (non-streaming) format. If the app is then terminated (for whatever reason) we can no longer find the file footer and do the conversion later. The end result is a corrupted file - either the footer is lost or it is no longer at the end of the file, as expected.
This PR retains the better error reporting, while only doing file size changing operations after the conversion to normal format.
In response to: realm/realm-kotlin#1440