fix: encodeURI for thumbnails and timelapse files #539
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.
GET requests including file names with special characters such as '%' will properly encode the request to the server.
Description
I run mainsail and moonraker behind Nginx. My g-code files are named to include infill percentage, i.e. "25%", which for URLs is a reserved escape character. Nginx parses these requests incorrectly and returns a 400 Bad Request code, leaving thumbnail icons and timelapse videos inaccessible for me.
Before fix:
Clicking the first file in timelapse view breaks:
Note the g-code file without the '%' symbol successfully obtains it's thumbnail, but all others are breaking.
I did a grep through the code base and replaced lines where encodeURI was missing for the GET request.
After fix:
The first timelapse video is successfully found and displayed:
Lmk about any concerns, and thank you for providing a great and useful UI! 🎉