What is the problem?
The Please reload - message appears much too often. During running prints and days after the last time I installed any sort of update. When I change from firefox on the (linux) desktop to the (osx) laptop I almost expect to see it. But it pops up as well when Octoprint is in just one browser and nothing changed since I strted the print . Well, nothing that I know off.
It's not a show stopper. Behind the semi transparent background I see the the dashboard, the graphs updating, but it's not usable for the text box is seriously in the way. I can (and have to) swallow it and hit reload and wait until the interface rebuilds and finally, after too many seconds, the message is gone and everything else looks like it did before.
"There is a new version of the server active now" - what does that actually tell me, in the midth of a print?
I just wonder what is the use of that event. What sort of bad does it help avoid? What triggers that message and is there a way to tune the triggers sensitivity a bit down? Or give the message a [Later, ok?] - option.
Again, no big problem but it's gnawing on my nerves.
Or, to put it less subjective, it looks like something isn't working right with that message.
oh, I might add that this is not a new phenomenon, it's been around for a number of versions and no, I cannot say when it all started. I always wanted to post the question but was running octoprint in my local language and now finally came to switch the ui language so I can copy/paste the message...
There's a number of variables that are tracked by the server, and all computed whenever the tab disconnects & reconnects (say, after you put the PC to sleep and came back later). If the client is out of sync with the server, then you have to reload the interface.
Why? I can see the information behind it? LET ME IN TO MY UI!
This stops you clicking on buttons that send outdated information back to the server, viewing things that may be outdated, or in the case of installing plugins/updates etc. then there are things that simply don't exist anymore. So instead of doing some actions and nothing happening, reload the UI to get everything back in sync. Sometimes the differences are small, and you might not notice them. Some differences can also be introduced by plugins you are using.
If you are finding long load times, make sure you are not using lots of unnecessary plugins, since everything you add to the UI will slow it down. On my install, I can load the UI in ~5 seconds, which does not seem too long to me.
I don't feel this addresses the problem. Every time my system (PC or tablet or smartphone) went to sleep or otherwise "disconnected" (ex. on a tablet just switching away from the browser app to another), when coming back you can see that all widgets on the dashboard (yes, also a plugin) get nicely updated, but then you can't get to it because a popup stating the "a new version of the server" was deployed and you need to reload, which depending on the connection (ex. remotely from a smartphone through a proxy) can take way longer than 5s.
Why can the UI not just correctly refresh all data and that way avoid "sending outdated information back"? Having to reload everything - even if the server code did not change - sounds like the dirty work-around which should not be needed if things were programmed correctly ...
Because plugins are able to do things to the UI that are completely outside of the control of OctoPrint (as they happen 100% in plain JS), because that enables them to do a ton of things than I could ever envision. Because even small config changes can cause UI changes, OctoPrint can't know which ones do and some plugins abuse the config for data storage that needs constant updates. If you have a suggestion on how to make this better without crippling plugins and/or become backwards incompatible, the dev discussions are always open.