Fix reconciliate mechanism after multiple new lines #705
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.
Should fix element-hq/element-ios#7570
Fixes an issue with the reconciliate mechanism that was inserting replacement characters in the wrong position after multiple newlines. It was due to its blind filtering of ZWSP placeholders that don't always match.
Now the actual HTML chars are computed for comparison which makes the results of
StringDiffer
directly match the position in the Rust model.Also this change fixes a few SwiftFormat issues.