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 @@ -231,8 +231,7 @@ ]; } else if ( action.type === joinThreadActionTypes.success || - action.type === newThreadActionTypes.success || - action.type === findUserIdentitiesActionTypes.success + action.type === newThreadActionTypes.success ) { const newUserInfos: UserInfos = _keyBy(userInfo => userInfo.id)( action.payload.userInfos, @@ -245,6 +244,35 @@ userStoreOps, ); + if (!_isEqual(state.userInfos)(processedUserInfos)) { + return [ + { + ...state, + userInfos: processedUserInfos, + }, + [], + userStoreOps, + ]; + } + } else if (action.type === findUserIdentitiesActionTypes.success) { + const newUserInfos = action.payload.userInfos.reduce( + (acc, userInfo) => ({ + ...acc, + [userInfo.id]: { + ...state.userInfos[userInfo.id], + username: userInfo.username, + }, + }), + {}, + ); + + const userStoreOps: $ReadOnlyArray = + convertUserInfosToReplaceUserOps(newUserInfos); + const processedUserInfos: UserInfos = processUserStoreOps( + state.userInfos, + userStoreOps, + ); + if (!_isEqual(state.userInfos)(processedUserInfos)) { return [ {