Fix encoding mismatch in JS#28749
Conversation
Encode with encodeURIComponent again. Note that "@" gets encoded to "%40" but when Sabre DAV returns a PROPFIND response, the "@" in the URL is not encoded. To make sure that the href root is properly match, we now compare each section individually in their decoded form.
individual-it
left a comment
There was a problem hiding this comment.
with the fix I could not reproduce the bug any-more.
added some UI tests, lets see what travis says.
@phil-davis please review my test cases
phil-davis
left a comment
There was a problem hiding this comment.
LGTM - covers the set of chars that are commonly used as delimiters in URL/URIs.
What will be found next?
Life on Mars |
The client takes care of encoding them when doing the Webdav requests
|
Backport of newdav + this PR here: #28769 |
|
Tested and WFM 👍 |
|
one of the recent changes related to encoding have added new tests that somehow very indirectly trigger some annoying logs on the console "ERROR: undefined". I've fixed this in this follow up PR: #28772 (JS tests only) |
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Encode with encodeURIComponent again.
Note that "@" gets encoded to "%40" but when Sabre DAV returns a
PROPFIND response, the "@" in the URL is not encoded. To make sure that
the href root is properly match, we now compare each section
individually in their decoded form.
Related Issue
Fixes #28748
Motivation and Context
How Has This Been Tested?
JS unit tests.
Create a folder "test@?#" in the web UI and navigate into it.
Create a user "test@test" with a subfolder, navigate into it.
Screenshots (if appropriate):
Types of changes
Checklist: