Fix issue where urls with special characters were not correctly deserialized #1444
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.
ORKPathRelativeToURL
andORKURLForRelativePath
do not correctly mirror each other.ORKPathRelativeToURL
percent encodes it's output whereasORKURLForRelativePath
does not percent decode it's input. These methods are used during serialization/deserialization, causing a restoredORKFileResult
to not point at the same path as the original file result.Fix is to replace the call to
[NSURL fileURLWithFileSystemRepresentation:...]
with[NSURL URLWithString:...]
. This matches with the[standardizedURL absoluteString]
call inORKPathRelativeToURL
. I do not believe it is necessary to check if the file is a directory given that we are not modifying the relative path. If the original url had a trailing slash, then the output path will have a trailing slash and vice versa.