Adjust logging and error handling in the client

* HTTP responses in the error range (400+) now properly turn into errors
* ROJO_EPIPHANY_DEV_CREATE now creates more verbose configuration
* Default configuration values are now much more explicit
* Errors that cause session termination are labeled more clearly.
This commit is contained in:
Lucien Greathouse
2019-01-21 10:57:03 -08:00
parent 614f886008
commit fecb11cba4
5 changed files with 46 additions and 20 deletions

View File

@@ -1,12 +1,22 @@
local Config = require(script.Parent.Config)
local VALUES = {
LogLevel = {
type = "IntValue",
defaultUserValue = 2,
defaultDevValue = 3,
},
}
local CONTAINER_NAME = "RojoDevSettings" .. Config.codename
local function getValueContainer()
return game:FindFirstChild("RojoDev-" .. Config.codename)
return game:FindFirstChild(CONTAINER_NAME)
end
local valueContainer = getValueContainer()
local function getValue(name)
local function getStoredValue(name)
if valueContainer == nil then
return nil
end
@@ -20,7 +30,7 @@ local function getValue(name)
return valueObject.Value
end
local function setValue(name, kind, value)
local function setStoredValue(name, kind, value)
local object = valueContainer:FindFirstChild(name)
if object == nil then
@@ -37,11 +47,13 @@ local function createAllValues()
if valueContainer == nil then
valueContainer = Instance.new("Folder")
valueContainer.Name = "RojoDev-" .. Config.codename
valueContainer.Name = CONTAINER_NAME
valueContainer.Parent = game
end
setValue("LogLevel", "IntValue", getValue("LogLevel") or 2)
for name, value in pairs(VALUES) do
setStoredValue(name, value.type, value.defaultDevValue)
end
end
_G[("ROJO_%s_DEV_CREATE"):format(Config.codename:upper())] = createAllValues
@@ -53,7 +65,7 @@ function DevSettings:isEnabled()
end
function DevSettings:getLogLevel()
return getValue("LogLevel")
return getStoredValue("LogLevel") or VALUES.LogLevel.defaultUserValue
end
return DevSettings