mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 05:25:40 +09:00
fix(gateway): keep the replay buffer across a session transfer (#2276)
This commit is contained in:
1 parent
0f6b118921
commit
04e150e4bf
2 files changed
+33
-1
No files matched your search
@@ -552,6 +552,10 @@ serialize_transfer_identity(State) ->
|
||||
debounce_reactions => maps:get(debounce_reactions, State, false)
|
||||
}.
|
||||
|
||||
-spec transfer_buffer(eqwalizer:dynamic(limited_deque:deque() | [map()])) -> [term()].
|
||||
transfer_buffer(Buffer) when is_list(Buffer) -> Buffer;
|
||||
transfer_buffer(Buffer) -> limited_deque:to_list(Buffer).
|
||||
|
||||
-spec serialize_transfer_runtime(session_state()) -> map().
|
||||
serialize_transfer_runtime(State) ->
|
||||
#{
|
||||
@@ -559,7 +563,7 @@ serialize_transfer_runtime(State) ->
|
||||
relationships => maps:get(relationships, State, #{}),
|
||||
seq => maps:get(seq, State, 0),
|
||||
ack_seq => maps:get(ack_seq, State, 0),
|
||||
buffer => maps:get(buffer, State, []),
|
||||
buffer => transfer_buffer(maps:get(buffer, State, [])),
|
||||
collected_guild_states => maps:get(collected_guild_states, State, []),
|
||||
collected_sessions => maps:get(collected_sessions, State, []),
|
||||
collected_presences => maps:get(collected_presences, State, []),
|
||||
|
||||
Reference in new issue
Block a user