This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
Do not try to request thumbnails with non-integer widths #3031
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.
Issue described in element-hq/element-web#9690.
With certain
window.devicePixelRatio
values(e.g.
1.5789473684210527
), the calculated thumb width/heightwould be a non-integer value.
Passing such values to
client.mxcUrlToHttp()
causes it togenerate URLs to the thumbnail API with non-integer values.
As per the spec, non-integer values are forbidden for that API and a
400 HTTP response is returned (
Query parameter b'width' must be an integer
).Fixing matrix-js-sdk's
mxcUrlToHttp()
to sanitize such valueswould also be a good idea and likely fix more than just matrix-react-sdk
and riot-web. Still, it feels like matrix-react-sdk should play nice
as well, and not request thumbnails for weird widths/heights.
Signed-off-by: Slavi Pantaleev [email protected]