FoldingAtHome / fah-web-client-bastet

Folding@home client frontend
GNU General Public License v3.0
20 stars 7 forks source link

Slow to reconnect after long local client disconnection. #214

Open jcoffland opened 3 days ago

jcoffland commented 3 days ago

See original issue https://github.com/FoldingAtHome/fah-client-bastet/issues/287.

If Web Control is open for some time and the local client is not running it will keep attempting to connect and keep failing. Each time the the connection fails it increases the error count in the browser for that connect. This causes the browser to delay the connections longer and longer. Then if the local client does restart, it can take a long time for Web Control to connect to it.

This can get much worse if the user is impatient and tries reloading Web Control, restarting the local client or even reinstalling. Leading to more and more user frustration. If left calmly alone Web Control and the local client will eventually start talking again.

This issue was noticed very early on. Web Control tries to mitigate this problem by canceling connection attempts early. The idea is that if the connection is cancelled then the browser may not consider it a failed connection and may not increase the delay. This seems to help somewhat but the browser's algorithm for backing of failed connection attempts is opaque and out of our control. Also, killing the connection too early might make things worse.

On possible solution to try is to have the client open multiple ports. Then Web Control could cycle through these ports one at a time.

muziqaz commented 2 days ago

Seems that node1.foldingathome.org was down. I only noticed it because systray icon had exclamation mark. So I launched web ui through systray, which opened in Firefox, and this was the screen: FF Note that Web UI in FF has been closed for the whole day, this was the first time I opened it. So I launched Edge browser, typed in v8-4 URL, and this is what I got: edge I see why exclamation mark was shown in systray, but edge had no issues seeing local client. I closed web ui, only kept Edge tab open. As I am writing this server is back up, and Edge loaded all the remote clients alongside the local one. So I opened Web UI on Firefox, and still am seeing nothing. Well, seems that node1 is down again. Edge is back to local client :(