Fix bug where HTTP being disabled would cause stickiness

This commit is contained in:
Lucien Greathouse
2019-01-10 16:12:52 -08:00
parent 5bb70c2675
commit 5f91a8fdfe
5 changed files with 15 additions and 15 deletions

View File

@@ -97,10 +97,10 @@ function ApiContext:connect()
end
self.serverId = body.serverId
self.connected = true
self.partitionRoutes = body.partitions
self.rootInstanceId = body.rootInstanceId
self.instanceMetadataMap = body.instanceMetadataMap
self.connected = true
end)
end

View File

@@ -87,7 +87,7 @@ function App:render()
startSession = function(address, port)
Logging.trace("Starting new session")
self.currentSession = Session.new({
local success, session = Session.new({
address = address,
port = port,
onError = function()
@@ -100,9 +100,12 @@ function App:render()
end
})
self:setState({
sessionStatus = SessionStatus.Connected,
})
if success then
self.currentSession = session
self:setState({
sessionStatus = SessionStatus.Connected,
})
end
end,
cancel = function()
Logging.trace("Canceling session configuration")

View File

@@ -72,4 +72,4 @@ function Http.jsonDecode(source)
return HttpService:JSONDecode(source)
end
return Http
return Http

View File

@@ -1,6 +1,3 @@
local Selection = game:GetService("Selection")
local HttpService = game:GetService("HttpService")
local Logging = require(script.Parent.Logging)
local HttpError = {}
@@ -70,10 +67,6 @@ end
function HttpError:report()
Logging.warn(self.message)
if self.type == HttpError.Error.HttpNotEnabled then
Selection:Set(HttpService)
end
end
return HttpError
return HttpError

View File

@@ -10,6 +10,8 @@ function Session.new(config)
self.onError = config.onError
local hasErrors = false
local reconciler
local remoteUrl = ("http://%s:%s"):format(config.address, config.port)
@@ -36,6 +38,7 @@ function Session.new(config)
return reconciler:applyUpdate(requestedIds, response.instances)
end)
:catch(function(message)
hasErrors = true
Logging.warn("%s", tostring(message))
self.onError()
end)
@@ -52,11 +55,12 @@ function Session.new(config)
return api:retrieveMessages()
end)
:catch(function(message)
hasErrors = true
Logging.warn("%s", tostring(message))
self.onError()
end)
return setmetatable(self, Session)
return not hasErrors, setmetatable(self, Session)
end
return Session