Open phenomenon1995 opened 2 years ago
I have the exact same issue, Three UK with an 11 Pro. I assumed this was due to my provider blocking something, but it’s worth noting it works perfectly in the browser. Likewise, consistently repeatable on mobile data.
Can confirm, but only on iPad. Autoplay works fine on my iPhone but not on the iPad when connected to the iPhone’s hotspot. Works fine when connected to WiFi.
I happen to have Charles Proxy installed, so I did some packet inspection.
Looking this post with attached GIF (https://v.redd.it/7rblzyaz7yd91
).
Both mobile and wifi send requests to fetch the playlist (https://v.redd.it/7rblzyaz7yd91/HLSPlaylist.m3u8?...
), however on mobile, no requests are sent to fetch the data which is in this playlist; on wifi, I can see the requests for the .ts and .aac files.
Comparing the Charles requests from mobile vs wifi, one key difference I can see is that mobile is using an IPv6 connection (v.redd.it/2a04:4e42:f:0:0:0:0:396:443
), whereas wifi is IPv4 (v.redd.it/151.101.1.140:443
), which strikes me as suspicious.
Additionally, on mobile, I see a request for the playlist from User-Agent: Apollo/194 CFNetwork/1333.0.4 Darwin/21.5.0
. Wifi has the same, but then also has an additional request from AppleCoreMedia/1.0.0.19F77 (iPhone; U; CPU OS 15_5 like Mac OS X; en_au)
. I'm wondering if maybe Apollo is handing off the request to the media APIs incorrectly with an IPv6 address.
Happy to provide the Charles log files; it looks like the URLs might contain authentication tokens (the ?a=...
parameter) so I'm not going to share them immediately here, but happy to share privately (maybe via email to @christianselig?). (I also have TestFlight installed if needed! 😄)
I'll run some additional tests on my home wifi, where I might be able to force IPv6, unlike on the office wifi.
@rmccue Curious, if you go to Settings tab > General > Video Deblurinator and turn it off, does anything different occur in Charles compared to with it on? I'm curious if this is iOS' acting up with its HLS implementation or something Apollo does with the deblurinator.
@christianselig With deblurinator disabled, no difference that I can spot; still no request from AppleCoreMedia.
@rmccue Is it any different in the official Reddit app?
Works in the official app. The HLSPlaylist.m3u8 request is effectively identical to Apollo's (it sends an additional X-Playback-Session-Id
header, but response is the same), and is followed by the requests for the media. Interestingly, no requests from AppleCoreMedia, so possibly not using AVPlayer/etc's built in support? (I don't recall the exact details of the API, been a while since I used it.) Even the .ts and .aac files use the Reddit/...
user agent.
I neglected to mention previously, but on wifi, Apollo requests HLSPlaylist.m3u8
and HLS_{540,576}.m3u8
as well as the .ts
and .aac
files. The official app pulls down HLSPlaylist.m3u8
and HLS_{224,360,540}.m3u8
.
@rmccue Interesting. Okay thank you will have to poke around some.
Happy to provide further debugging or test anything out (I've also got XCode & TestFlight set up if want any test cases tested); feel free to email me <at> ryanmccue <dot> info
if I can help with anything there! I'll see if I can replicate in minimal code as well.
@rmccue I think I'll follow up with you! This is a curious one indeed
Turns out, if data saver mode is turned on in iPhone cellular settings, it’ll do that
Describe the bug Gifs and videos won’t play or load when I’m connected to lte cellular data, but works fine on Wi-Fi. I checked settings idk what’s wrong
To Reproduce Steps to reproduce the behavior:
iOS version: Version of iOS this bug occurred on (can be found in Settings.app > General) 15.5 Apollo version: Version of Apollo this bug occurred on (can be found in Apollo's Settings tab > About) THE LATEST iOS device: For example iPhone XS, iPad mini, etc. XS Jailbroken: Whether or not your device is jailbroken NO Reproducible: Can you reproduce it every time? Or is it random? EVERY TIME
Expected behavior A clear and concise description of what you expected to happen.
Screenshots If possible, add screenshots to help show the problem.
Video If possible, attach a video to help show the problem. You can attach a video by uploading it to Streamable, Gfycat, YouTube, etc. and pasting the URL here.
Additional context Add any other context about the problem here.