Hi Everyone,
I’m recently joined the Voyager club and successfully run two first nights with it and i just amazed how smart and intuitive Voyager is.
With that being said, I could not notice this dashboard disconnecting issue and i did some further investigation. I just surprised that not many users chimed in, as this issue should be more global, as everyone using browser. So contacting directly at least 5 people, friends and other users on forum, it’s became obviously that everyone having the same issue. I will explain with the workaround to solve it for time being.
Now, this is not Voyager problem and it seems Voyager can’t do anything about it right now, because browser tab being a “sandbox”.
You may notice, that after minimizing or switching tab in browser, after about 5 minutes websocket will drop the connection, causing Dashboard to disconnect.
That is due to a recent changes in Chrome, as of July 2020 they introduced a new feature with intention to save battery life: “Intensive throttling of Javascript timer wake ups”. You can read about it here: Intensive throttling of Javascript timer wake ups - Chrome Platform Status
This means, that when Javascript timer throttled at a 1 minute intervals, web client will not be able to send “keepalive” messages within deafult 30 seconds inactivity timeout.
So the solution for now is this:
open your Chrome browser and type in: chrome://flags
Scroll down and look for Throttle Java script timers in background.
Set it to Disabled and restart the Chrome.
I have tested it for at least 48 hours with Laptops with Internet and without Internet activity, minimizing, switching tabs and Dashboard stayed connected no matter what. Tested with latest Chrome only.
This is not perfect, as people who experiencing the same issue will need to find this post to solve it. And as i mentioned before, browser tab being “sandbox” it seems that there is nothing Voyager cant do about it. But maybe with some time and creative thinking there still might be some trick applied to it.
Maybe its possible to do something with this in future? : Window setTimeout() Method As this is already exists in Chrome.
Anyway, thank you for your time and hope this workaround will fix your problems for now.
Just a note, this fix will not work with Phone, even if you keep Chrome app alive all the time, as soon as screen goes off, after 5 minutes Dash will drop its connection. But it definitely solved it for desktop.
Thank you.