fix state corruption in SessionManager

This commit is contained in:
Alain Zscheile 2022-11-26 01:46:34 +01:00
parent d873117a93
commit a81c306107

View file

@ -91,12 +91,13 @@ defmodule Floof.SessionManager do
end
def get(key, subkey) do
Agent.get(__MODULE__, fn state ->
case Map.get(state, key) do
Agent.get(
__MODULE__,
&case Map.get(&1, key) do
nil -> nil
{_, m} -> Map.get(m, subkey)
end
end)
)
end
def delete(key, subkey) do
@ -138,7 +139,7 @@ defmodule Floof.SessionManager do
case {sub, handler.(m)} do
{nil, %{}} -> :pop
x -> x
x -> {nil, x}
end
end)