Minor fixes.

This commit is contained in:
2026-09-24 16:45:18 +01:00
parent cefa98cdec
commit 1e27d7629f
7 changed files with 41 additions and 39 deletions
+6 -19
View File
@@ -21,7 +21,6 @@ class Sessions
end
def login(username, pass)
Logman.log "Logging in: #{username} & #{pass} #{ENV_HASH["SALT"]}"
player = Players.authorized?(username, pass)
if player
code = Array.new(24) { ALPHANUM.sample }.join
@@ -40,11 +39,8 @@ class Sessions
end
end
# TODO: Use .all here
def []=(key, val)
session = @request.cookies["session"]
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
session = JSON.parse(session)
session = all
session[key] = val
Logman.log "Updated: #{key} to #{val}"
compressed = Zlib::Deflate.deflate(JSON.generate(session))
@@ -58,16 +54,12 @@ class Sessions
samesite: :strict)
uid = session["user"]
DB["UPDATE SignedInUsers SET last_used_at = CURRENT_TIMESTAMP WHERE code = ?", uid].update if uid
rescue JSON::ParserError, Zlib::Error
@response.delete_cookie("session")
rescue Sequel::Error => e
Logman.log "DB Error: #{e.message} when updating last_used_at for #{uid}"
end
def [](key)
session = @request.cookies["session"]
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
session = JSON.parse(session)
session = all
begin
uid = session["user"]
DB["UPDATE SignedInUsers SET last_used_at = CURRENT_TIMESTAMP WHERE code = ?", uid].update if uid
@@ -75,9 +67,6 @@ class Sessions
Logman.log "DB Error: #{e.message} when updating last_used_at for #{uid}"
end
session[key]
rescue JSON::ParserError, Zlib::Error
@response.delete_cookie("session")
""
end
def message=(val)
@@ -85,7 +74,7 @@ class Sessions
value: val,
path: "/",
expires: Time.now + 360 * 24 * 60 * 60,
secure: ENV_HASH["ENV"] == "prod",
secure: ENV["ENV"] == "prod",
samesite: :strict)
end
@@ -107,9 +96,7 @@ class Sessions
end
def delete(key)
session = @request.cookies["session"]
session = session.nil? ? "{}" : Zlib::Inflate.inflate(Base64.decode64(session))
session = JSON.parse(session)
session = all
session.delete(key)
Logman.log "Deleted: #{key}"
Logman.log session.inspect
@@ -120,7 +107,7 @@ class Sessions
path: "/",
expires: Time.now + 360 * 24 * 60 * 60,
httponly: true,
secure: ENV_HASH["ENV"] == "prod",
secure: ENV["ENV"] == "prod",
samesite: :strict)
rescue JSON::ParserError, Zlib::Error
@response.delete_cookie("session")
@@ -140,7 +127,7 @@ class Sessions
Logman.log "Thread DB error: #{e.message} on #{session[:code]} for #{session[:player]}"
end
$active_users.delete(session[:code])
puts "Auto-logged out: #{session[:player]} (expired session)"
Logman.log "Auto-logged out: #{session[:player]} (expired session)"
end
rescue StandardError => e
Logman.log "Thread error: #{e.message}"