Upsource does not work in Safari
Hey,
when opened in safari the Upsource UI keeps reloading and the progress circle keeps spinning indefinitely. I thought that it was my problem so I used Chrome instead but then I found out that other guys have the very same issue. Apparently also in the mobile version of Safari.
Can you please confirm that it is not only my problem. And if it is so could this issue please be fixed?
Thanks
Please sign in to leave a comment.
@Vojtech Letal, we have identified and fixed the issue with eternal reloading loop in safari browser.
The issue was caused by missing trailing slash in redirect auth URI and it was reproduced only with non-root context.
https://youtrack.jetbrains.com/issue/UP-9895
Thanks,
for your feedback!
Hey Vojtech,
Could you try to open https://upsource.jetbrains.com in Safari? Does it work for you?
Hi,
Hi,
the problem is still present. Since your upsource works for me I think that I should provide you more information.
Our upsource instance is hidden behind an nginx/1.10.1 with the following configuration
location /upsource_latest/ {
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:3350;
}
Could this somehow affect the problem mentioned above?
You are missing this line in the nginx config:
proxy_pass_header Sec-Websocket-Extensions;
Nice catch. Well, I added it there and it still does not work in Safari. The websocket still times out. I am runnig the latest 2017.2.2197 version.
I really hate the fact that I have to use Chrome, instead of Safari just because of this issue.
I tried to google other some solutions to webhook timeouts and related issues - tried bunch of different configs and nothing worked so-far. Any other ideas please?
Hi Vojtech,
We are about to introduce a bug fix update in several days. It will be possible to disable WebSockets compression there with the following command:
upsource.sh start -J-Dbundle.websocket.compression.enabled=false
This option **might** help in your case.
Awesome. We'll see. Btw. I checked out the response header from https://upsource.jetbrains.com/ and it seems that you are also using Nginx (no version specified though). Do you have any idea why your deployed upsource works for me?
Correct, we are using nginx as a reverse proxy at upsource.jetbrains.com. And our configuration is almost the same as described in the doc (we have a more complicated proxy chain with a load-balancer and so on, but the basic nxing configuration is the same).
So! I did
but it still does not work. Well never mind, I got used to using Chrome anyway.
But thanks for your responses.
Hey, I've just tried Safari and the issue is still there. We are running 2017.3.2774.
I've mentioned though that the issue is more interesting, check out the network activity.
^^ while loading the page the browser loads a sequence of resources in an exact order repeatedly - after several repetitions (120 resources, 35MB of data downloaded) it fails.
I am using the very exact nginx configuration copy-pasted from your page.
Hello, It's an interesting thing. Looks like socket cannot be opened correctly and Upsouce reattempts to open it again and again.
Could you please enable all other columns in the Safari console and make one more screenshot?
And the same question I already asked you some time ago - Does https://upsource.jetbrains.com/ work for you?
Yup, it works...
The screenshot is here:
Problem solved by moving upsource from
https://our.domain/upsource
to
https://upsource.our.domain
^^
this might be worth reporting as a bug.
Thank you for the update.
What has led you to this configuration modification? I mean, if there were any obvious issues with non-root context (/upsource) it wouldn't work for all browsers. But for some reasons, it didn't work only in Safari.
That was the only difference I could come up with between the http://upsource.jetbrains.com and my instance. Also I liked the shorter URL better. ;-)