mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-06-21 00:22:56 +00:00
Fix Can't connect to compute local on some computers
Chicken and egg problem we try to connect to compute before http was available. I rewrote the code to prevent erase of settings and rollback the beta4 code for init. Fix #946
This commit is contained in:
@ -103,7 +103,15 @@ class ServerHandler:
|
||||
description="Retrieve gui settings from the server. Temporary will we removed in later release")
|
||||
def read_settings(request, response):
|
||||
|
||||
response.json(Controller.instance().settings)
|
||||
settings = None
|
||||
while True:
|
||||
# The init of the server could take some times
|
||||
# we ensure settings are loaded before returning them
|
||||
settings = Controller.instance().settings
|
||||
if settings is not None:
|
||||
break
|
||||
yield from asyncio.sleep(0.5)
|
||||
response.json(settings)
|
||||
|
||||
@Route.post(
|
||||
r"/settings",
|
||||
@ -113,6 +121,8 @@ class ServerHandler:
|
||||
})
|
||||
def write_settings(request, response):
|
||||
controller = Controller.instance()
|
||||
if controller.settings is None: # Server is not loaded ignore settings update to prevent buggy client sync issue
|
||||
return
|
||||
controller.settings = request.json
|
||||
try:
|
||||
controller.save()
|
||||
|
Reference in New Issue
Block a user