-
Notifications
You must be signed in to change notification settings - Fork 755
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
Force HTTP/1.1 #4952
Force HTTP/1.1 #4952
Conversation
Signed-off-by: Alex Baker <[email protected]>
@T-bond you down voted the PR what is your concern? |
@bmarty ups. Sorry, I accidentally misclicked the reaction, and did not notice. I don't think we will loose anything forcing HTTP 1.1 |
FTR probably related to square/okhttp#3278 and square/okhttp#4455 and square/okhttp#3146 |
FTR some internal feedback:
|
There is some documentation for okhttp connections here. Charles proxy lists a client connection number and server connection number for each request, and I can see multiple http/1.1 calls with matching connection numbers. I assume this means connections are being reused. |
Thanks for your test @abaker 👍 |
Quite frequently when I am on mobile data I will experience #4669. The incremental sync state will be idle, but the progress bar will be visible for one minute before throwing a timeout exception and displaying a connectivity error bar
I found some open OkHttp issues that were possibly related (3146, 3278 and 4455). I didn't drop links because I don't know if they're the cause, but these led me to disabling HTTP/2 which seems to resolve the issue.
I have attached a recording with the following setup:
I'm running two builds of element in split screen on phone2. The top app (dark mode) is this PR, the bottom app (light mode) is v1.3.14 from the Play Store. The apps show a blue airplane mode bar instead of a red connectivity error bar because I'm connecting through the hotspot.
Based on the proxy traffic it appears that phone1 briefly loses internet connectivity and the HTTP/2 sync request gets stuck for some reason.
It may be possible to fix this without disabling HTTP/2, e.g. listening for connectivity changes and evicting the OkHttp connection pool.
element-4669-repro.mp4