From 605b03bfbd36e41819000ee0aed80df3c767b069 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Tue, 25 Nov 2025 09:27:51 +0100 Subject: fix login dialog and logout --- src/routes/api/session/root.zig | 4 ++-- src/storage/session-manager/root.zig | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/routes/api/session/root.zig b/src/routes/api/session/root.zig index c8c2223..a889869 100644 --- a/src/routes/api/session/root.zig +++ b/src/routes/api/session/root.zig @@ -1,7 +1,7 @@ const HandlerInfo = @import("../../handler-info.zig"); pub const current: HandlerInfo = .from_type(@import("current.zig")); -pub const drop: HandlerInfo = .from_type(@import("renew.zig")); -pub const renew: HandlerInfo = .from_type(@import("drop.zig")); +pub const drop: HandlerInfo = .from_type(@import("drop.zig")); +pub const renew: HandlerInfo = .from_type(@import("renew.zig")); pub const @"is-valid": HandlerInfo = .from_type(@import("is-valid.zig")); pub const @"is-online": HandlerInfo = .from_type(@import("is-online.zig")); diff --git a/src/storage/session-manager/root.zig b/src/storage/session-manager/root.zig index 8a59f21..db95629 100644 --- a/src/storage/session-manager/root.zig +++ b/src/storage/session-manager/root.zig @@ -46,13 +46,13 @@ pub fn renew(self: *Self, storage: *Storage, fingerprint: []const u8) !*Session pub fn remove(self: *Self, storage: *Storage, fingerprint: []const u8) void { self.rw_lock.lockShared(); - if (self.cache.getPtr(fingerprint)) |session| { + if (self.cache.contains(fingerprint)) { self.rw_lock.unlockShared(); self.rw_lock.lock(); defer self.rw_lock.unlock(); - session.deinit(storage.allocator); - _ = self.cache.remove(fingerprint); + const kv = self.cache.fetchRemove(fingerprint) orelse return; + kv.value.deinit(storage.allocator); } else { self.rw_lock.unlockShared(); } -- cgit v1.2.3-70-g09d2