fix(members): show mobile badges and fresh profiles in lists (#3370)

This commit is contained in:
Hampus authored and GitHub committed 2026-10-10 17:00:30 +02:00
1 parent 0f0ff5f3df
commit c14b7d4cb3
13 files changed
+171 -10

No files matched your search

@@ -1486,6 +1486,35 @@ thread_member_list_follows_presence_changes_test() ->
?assertEqual(State, guild_thread_subscriptions:presence_changed(?A, State))
end).
thread_member_list_follows_member_updates_test() ->
with_guild(fun(State) ->
Subscribed = guild_thread_subscriptions:update(
<<"a">>, #{member_lists => [?T1]}, State
),
[_] = received(a, thread_member_list_update, drain()),
Update = fun(UserId, Nick) ->
#{
<<"user">> => #{<<"id">> => integer_to_binary(UserId)},
<<"roles">> => [],
<<"nick">> => Nick
}
end,
Changed = dispatch(guild_member_update, Update(?A, <<"renamed">>), Subscribed),
?assertEqual([], received(a, thread_member_list_update, drain())),
_ = guild_thread_subscriptions:handle_list_flush(Changed),
[#{<<"members">> := Members}] = received(a, thread_member_list_update, drain()),
?assertEqual(
[<<"renamed">>],
[
maps:get(<<"nick">>, Member)
|| #{<<"user_id">> := Id, <<"member">> := Member} <- Members,
Id =:= integer_to_binary(?A)
]
),
Unlisted = dispatch(guild_member_update, Update(?C, <<"other">>), Subscribed),
?assertNot(maps:is_key(thread_list_dirty, Unlisted))
end).
handoff_through_an_old_node_round_trips_test() ->
with_guild(fun(State) ->
Exported = guild_handoff:export_handoff_state(State),