lichess-org / lichobile

lichess.org mobile application
https://lichess.org/mobile
GNU General Public License v3.0
2.04k stars 318 forks source link

can't play online since updating to v6.0.3 #862

Closed szamanr closed 6 years ago

szamanr commented 6 years ago

Bug report

Current behavior:

ever since upgrading to v6.0.3, when i try to start a game by tapping any of the available time controls, the app is stuck waiting for an opponent forever. i do not get paired up. i do not have any problems with my internet connection and there are plenty of available players online. nothing changed recently in my internet configuration or phone settings. pings reported by the app are normal. this happens with every time control.

if i create a custom game instead (even with a standard time control like 5+0), i do get paired up, but it seems like there is no connection between me and my opponent - the app is showing a loading icon on top, and my opponent doesn't make a move / my move does not appear to be sent.

Expected behavior:

i should be able to start a game, just like before the update.

Environment information version: v6.0.3 HUAWEI LUA-L21 android 5.1 kernel 3.10.65

veloce commented 6 years ago

Are you willing to help me debug this? For this, you just need to know how to remote debug in chrome and send me javascript logs (and hopefully relevant javascript error). There is a tutorial here: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

If you are OK to help me, you can find a debug APK here: https://www.dropbox.com/s/o1xzts3x9cts3w4/app-debug-6.0.3.apk?dl=0

since you can't debug with the release app (you'll need to desintall it). Thanks.

natale-p commented 6 years ago

Hi,

I've followed your advice. I have the same problem as him. My full report is attached (I hope there aren't passwords there), while the most important thing (at least, from my perspective) is that when it seems there's no connection between me and my opponent, I see the following:


socketWorker.js:203 [game eqqoz44war] connection attempt to wss://socket.lichess.org/kuI7dLhQPhxn/socket/v3?sri=eqqoz44war&mobile=1
socketWorker.js:55 WebSocket connection to 'wss://socket.lichess.org/kuI7dLhQPhxn/socket/v3?sri=eqqoz44war&mobile=1' failed: HTTP Authentication failed; no valid credentials available
socketWorker.js:203 [game eqqoz44war] error: {"isTrusted":true}
socketWorker.js:203 [game eqqoz44war] connection closed
socketWorker.js:203 [game eqqoz44war] Will autoreconnect in 3000
socketWorker.js:203 [game eqqoz44war] connection attempt to wss://socket.lichess.org/kuI7dLhQPhxn/socket/v3?sri=eqqoz44war&mobile=1
socketWorker.js:55 WebSocket connection to 'wss://socket.lichess.org/kuI7dLhQPhxn/socket/v3?sri=eqqoz44war&mobile=1' failed: HTTP Authentication failed; no valid credentials available
socketWorker.js:203 [game eqqoz44war] error: {"isTrusted":true}

total_log_lichess.txt

veloce commented 6 years ago

Many thanks for that! I'll look into it.

veloce commented 6 years ago

side question @natale-p : when you recorded that log, were you logged in to lichess, or anonymous?

natale-p commented 6 years ago

I was logged; I did not have any problem when I'm anonymous (I can join any game, and play them).

Would you like to have the logs in different conditions?

veloce commented 6 years ago

@natale-p no I'm good, these logs are already useful. And now I can repro on one of my emulators.

Can you send me your android phone and version, and also, can you enter this command in the chrome debugger console: navigator.userAgent and paste here the result? That'd be useful for me to know. Thanks!

natale-p commented 6 years ago

Nexus 5, Pure Nexus ROM (Android version: 7.1.2)

navigator.userAgent is

"Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5 Build/NJH47B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Mobile Safari/537.36"

Thanks for the support!

veloce commented 6 years ago

It confirms my findings. Chrome version 52 has a bug regarding cookies and websockets; we are working on a solution. In the meantime, upgrading your chrome application will fix your issue (on android 7.x and above the webview used by lichess app is synced with chrome that's why).

natale-p commented 6 years ago

I don't have chrome installed, I'm using Firefox. But I imagine there's some Chrome instance deep inside the entire Android framework: after installing a copy from the play store, I can play online again logged in with my account.

natale-p commented 6 years ago

If there are other tests I could do, please let me know.

veloce commented 6 years ago

great to see it works for you with updated chrome! system webview is actually chrome on android >=7 so yeah you can't completely remove it. Having a recent version of chrome is useful for any app that uses webview, not just lichess.

natale-p commented 6 years ago

That would be a nice thing to point out in the app description or in the website... Thanks!

veloce commented 6 years ago

I'm thinking of making a prompt inviting user to upgrade chrome, that would fire on every new app update.

veloce commented 6 years ago

Closing since it's fixed on master now.

antalaszek commented 6 years ago

Hi in my case installing chrome didn't work. I have all same issues and no idea what to do

szamanr commented 6 years ago

for me, the issue was happening in v6.0.3 but went away when i installed v6.0.2. no changes to the chrome app in the meantime. so i'm also not sure if the problem is with chrome in my case.

veloce commented 6 years ago

@antalaszek : try upgrade Android System Webview app from the play store.

antalaszek commented 6 years ago

@veloce also didnt work :disappointed:

antalaszek commented 6 years ago

@rrrafalsz thanx! It works