fix state corruption in SessionManager
This commit is contained in:
parent
d873117a93
commit
a81c306107
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue