diff --git a/lib/reducers/user-reducer.js b/lib/reducers/user-reducer.js --- a/lib/reducers/user-reducer.js +++ b/lib/reducers/user-reducer.js @@ -545,12 +545,16 @@ return [state, [], []]; } - const userStoreOps: UserStoreOperation[] = []; - if (userInfos) { - for (const userInfo of userInfos) { - userStoreOps.push({ type: 'replace_user', payload: { ...userInfo } }); - } - } + const keyserverUserInfos = _keyBy(userInfo => userInfo.id)(userInfos); + const newUserInfos = discardKeyserverUsernames( + keyserverUserInfos, + state.userInfos, + ); + + const userStoreOps: UserStoreOperation[] = [ + ...convertUserInfosToReplaceUserOps(newUserInfos), + ]; + if (deleteUserInfoIDs) { userStoreOps.push({ type: 'remove_users',