Skip to content

fix: urls don't encode characters#209

Closed
abubakriz wants to merge 1 commit intovercel:mainfrom
abubakriz:fix/no-url-encoding
Closed

fix: urls don't encode characters#209
abubakriz wants to merge 1 commit intovercel:mainfrom
abubakriz:fix/no-url-encoding

Conversation

@abubakriz
Copy link
Copy Markdown

@abubakriz abubakriz commented Jul 31, 2024

When a file url has certain symbols like number sign (#), it doesn't encode them, which makes the browser fail to navigate to the file, thinking it is a document section. This commit fixes that by encoding urls using the built-in encodeURIComponent function.

Fixes #205, vercel/serve#726, and vercel/serve#774

When a file url has certain symbols like number sign (#), it doesn't encode them, which makes the browser fail to navigate to the file, thinking it is a document section. This commit fixes that by encoding urls using the built-in encodeURIComponent function.

Fixes #120, #205, vercel/serve#726, and vercel/serve#774
@AndyBitz
Copy link
Copy Markdown
Contributor

@abubakriz thanks for the PR, but I don't think this would be the right fix.

Calling encodeURIComponent on the entire href, it'd also encode /, which is not desired.

Imagine if the href would be /my-folder/hello#world.txt, calling encodeURIComponent('/my-folder/hello#world.txt') returns %2Fmy-folder%2Fhello%23world.txt.

We most likely want to call encodeURIComponent on each section of the path before we construct the template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Problems with UTF characters

2 participants