I think I’ve nailed it to the web server.
Everything works when the app or webpage is open. If I leave the app running in the background and client and server maintain contact everything works.
If there’s a loss of contact between client and server It fails to start or finish
Everything is being run on the client side except the saving the settings.
Server side would be better as the client would simply update the server.
Client outages wouldn’t matter.