-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix encoding mismatch in JS #28749
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: