-
Notifications
You must be signed in to change notification settings - Fork 11
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
Issues with range requests on Safari/iOS #277
Comments
@amazeika I'll handle this one for you. |
@amazeika @stevenrombauts Do you have any information how we can replicate this locally. I would need to be able to enable http/2 on the box? |
@johanjanssens These 4 commands should enable HTTP/2 in Apache on the box: joomlatools/joomlatools-vagrant#146 (comment) but I have only tested this on the new box (WIP) so maybe there is something different on your box copy. If it doesn't work, please copy the output of the error log ( |
@johanjanssens Once http /2 is enabled (I've used similar steps as provided by @stevenrombauts for this end) you just add a video and you'll see that DOCman is just unable to estimate the total length of the file due to range headers failling. If the fix is good, then you'll be able to see the video length in the progress bar while on http /2. Double check the protocol being used with the inspector. Another important thing, make sure to access the site using https, as http /2 won't kick otherwise :) Please let me know how it goes man. |
@amazeika @ercanozkaya The idea was that if we couldn't find the cause and a way to fix it to turn range headers off for HTTP/2. To that end this ticket includes changes to recognise http/2 and make the framework aware of a http/2 request. I have however not turned off range request. Accoording to: https://http2.github.io/http2-spec/#rfc.section.8
Which seems to indicate that Range headers work fine with http/2. This makes me believe that this problem is not us, but the combination of video player + http/2. What i would do is, check if this problem happens with other video players too. It seems that this issue was reported as a video player on iphone/apple not working on http/2 using range headers So you can either turn off range headers on http/2, or you can turn them off for apple devices only on http/2. We have also not yet confirmed that no range headers on http/2 actually works. |
Can we nail this down too:
|
@amazeika @jebbdomingo Can you please go here: https://support.joomlatools.com/tickets/topic/11458-cannot-playback-mp3s-on-the-iphone and test using the setup provided? This is all working on my end both iOS and Desktop, bot Chrome and Safari. |
I tested the customer's staging site https://testj.walkwithmenow.com/index.php/library/ios with the following:
Additional notes; the above site is working both in the player (in DOCman UI) and when the link is used directly in the browser. Tested both. |
I tested the customer's staging site http://testj.walkwithmenow.com/index.php/library/ios with the following:
|
@jebb @Arunas can you also do a test for https://support.joomlatools.com/tickets/topic/9989 with url: https://www.selmer.at/katalog/produkte/falk/9220-falk-chair-edit-10-hd-2-mp4/file.html |
Tests for https://www.selmer.at/katalog/produkte/falk/9220-falk-chair-edit-10-hd-2-mp4/file.html I only can get this working on Chrome. It's not working on iOS, even in Chrome. |
More info: https://stackoverflow.com/questions/50168709/html-video-not-playing-in-safari-browser and https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6 I performed following two tests:
Error: HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) Based on this it seems that the problem is badly configured http/2 support on the server. Chrome might be retrying on http1.1, or neglecting the issue while Safari (and or iOS) blocks the request/response. Problem found See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Keep-Alive The response is containing a 'Connection: Keep-Alive' header. Safari is blocking the request when the response contains a header that is forbidden for http2. |
Related issue report on Gitlab: https://gitlab.com/gitlab-org/gitlab-pages/-/issues/504 |
…quests are working. If the response contains Content-Length this request fails.
Requests with range headers seem to be failing when the webserver is running http/2.
Until we find the reason why they fail, we may disable range headers support if the webserver is running http/2.
See:
The text was updated successfully, but these errors were encountered: