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 @@ -23,7 +23,6 @@ setUserSettingsActionTypes, updateUserAvatarActionTypes, } from '../actions/user-actions.js'; -import bots from '../facts/bots.js'; import { extractKeyserverIDFromID } from '../keyserver-conn/keyserver-call-utils.js'; import { setNewSessionActionType } from '../keyserver-conn/keyserver-conn-types.js'; import { @@ -225,33 +224,6 @@ .flat(); } -function discardKeyserverUsernames( - newUserInfos: UserInfos, - stateUserInfos: UserInfos, -): UserInfos { - let result: UserInfos = {}; - for (const id in newUserInfos) { - if (id === bots.commbot.userID) { - result = { - ...result, - [id]: { - ...newUserInfos[id], - }, - }; - } else { - const username = stateUserInfos[id] ? stateUserInfos[id].username : null; - result = { - ...result, - [id]: { - ...newUserInfos[id], - username, - }, - }; - } - } - return result; -} - type ReduceUserInfosResult = [ UserStore, $ReadOnlyArray, @@ -268,11 +240,7 @@ if (payload.keyserverID !== authoritativeKeyserverID()) { return [state, [], []]; } - const keyserverUserInfos = _keyBy(userInfo => userInfo.id)(payload.userInfos); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); + const newUserInfos = _keyBy(userInfo => userInfo.id)(payload.userInfos); const userStoreOps: $ReadOnlyArray = [ ...convertUserInfosToReplaceUserOps(newUserInfos), @@ -347,15 +315,10 @@ if (keyserverID !== authoritativeKeyserverID()) { return [state, [], []]; } - const keyserverUserInfos: UserInfos = _keyBy(userInfo => userInfo.id)( + const newUserInfos: UserInfos = _keyBy(userInfo => userInfo.id)( action.payload.userInfos, ); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); - const userStoreOps: $ReadOnlyArray = convertUserInfosToReplaceUserOps(newUserInfos); const processedUserInfos: UserInfos = processUserStoreOps( @@ -435,13 +398,9 @@ if (action.payload.keyserverID !== authoritativeKeyserverID()) { return [state, [], []]; } - const keyserverUserInfos = _keyBy(userInfo => userInfo.id)( + const newUserInfos = _keyBy(userInfo => userInfo.id)( action.payload.userInfos, ); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); const userStoreOps: $ReadOnlyArray = [ { type: 'remove_all_users' }, ...convertUserInfosToReplaceUserOps(newUserInfos), @@ -488,13 +447,9 @@ action.type === keyserverAuthActionTypes.success && relyingOnAuthoritativeKeyserver ) { - const keyserverUserInfos = _keyBy(userInfo => userInfo.id)( + const newUserInfos = _keyBy(userInfo => userInfo.id)( action.payload.userInfos, ); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); const userStoreOps: $ReadOnlyArray = convertUserInfosToReplaceUserOps(newUserInfos); @@ -545,15 +500,12 @@ return [state, [], []]; } - const keyserverUserInfos = _keyBy(userInfo => userInfo.id)(userInfos); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); - - const userStoreOps: UserStoreOperation[] = [ - ...convertUserInfosToReplaceUserOps(newUserInfos), - ]; + const userStoreOps: UserStoreOperation[] = []; + if (userInfos) { + for (const userInfo of userInfos) { + userStoreOps.push({ type: 'replace_user', payload: { ...userInfo } }); + } + } if (deleteUserInfoIDs) { userStoreOps.push({ @@ -580,13 +532,9 @@ userStoreOps, ]; } else if (action.type === updateUserAvatarActionTypes.success) { - const keyserverUserInfos = _keyBy(userInfo => userInfo.id)( + const newUserInfos = _keyBy(userInfo => userInfo.id)( action.payload.updates.userInfos, ); - const newUserInfos = discardKeyserverUsernames( - keyserverUserInfos, - state.userInfos, - ); const userStoreOps: $ReadOnlyArray = convertUserInfosToReplaceUserOps(newUserInfos); const processedUserInfos: UserInfos = processUserStoreOps(