From 50ab9626eb61dbb73b89f3435acd900a6e7921bb Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Mon, 21 Nov 2016 12:17:21 -0500 Subject: Properly load profile for new posts that have unloaded users (#4578) --- webapp/actions/websocket_actions.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'webapp/actions') diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index 36c6cbdc9..b61d039af 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -18,7 +18,7 @@ import * as Utils from 'utils/utils.jsx'; import * as AsyncClient from 'utils/async_client.jsx'; import * as GlobalActions from 'actions/global_actions.jsx'; -import {handleNewPost, loadPosts} from 'actions/post_actions.jsx'; +import {handleNewPost, loadPosts, loadProfilesForPosts} from 'actions/post_actions.jsx'; import {loadProfilesAndTeamMembersForDMSidebar} from 'actions/user_actions.jsx'; import {loadChannelsForCurrentUser} from 'actions/channel_actions.jsx'; import * as StatusActions from 'actions/status_actions.jsx'; @@ -172,6 +172,10 @@ function handleNewPostEvent(msg) { const post = JSON.parse(msg.data.post); handleNewPost(post, msg); + const posts = {}; + posts[post.id] = post; + loadProfilesForPosts(posts); + if (UserStore.getStatus(post.user_id) !== UserStatuses.ONLINE) { StatusActions.loadStatusesByIds([post.user_id]); } -- cgit v1.2.3-1-g7c22 From a9824a3653a30779f7fd0cc62e329c988f02b519 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Mon, 21 Nov 2016 12:17:46 -0500 Subject: Hotfix: PLT-4779 Fixing scrolling on loading a channel and missing DM channel headers (#4584) * Added all parameters to call tracker ids when getting profiles * Changed channel header rendering to not depend on knowing all users in a DM channel * Added comment about a race condition in UserActions.populateDMChannelsWithProfiles * Added a fixed-height placeholder for the ChannelHeader when its state isn't valid for rendering --- webapp/actions/user_actions.jsx | 1 + 1 file changed, 1 insertion(+) (limited to 'webapp/actions') diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx index 304d36a62..9b5bc985c 100644 --- a/webapp/actions/user_actions.jsx +++ b/webapp/actions/user_actions.jsx @@ -135,6 +135,7 @@ function populateDMChannelsWithProfiles(userIds) { const currentUserId = UserStore.getCurrentId(); for (let i = 0; i < userIds.length; i++) { + // TODO There's a race condition here for DM channels if those channels aren't loaded yet const channelName = getDirectChannelName(currentUserId, userIds[i]); const channel = ChannelStore.getByName(channelName); if (channel) { -- cgit v1.2.3-1-g7c22 From fd019eefbb7c2130d711718bda5efb3e3d4ce8aa Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Mon, 21 Nov 2016 16:48:27 -0500 Subject: Fixed error logged when joining a team from another tab (#4620) --- webapp/actions/websocket_actions.jsx | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'webapp/actions') diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index b61d039af..60ed44fc9 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -211,6 +211,11 @@ function handleNewUserEvent(msg) { return; } + if (msg.data.user_id === UserStore.getCurrentId()) { + // We should already have ourselves + return; + } + AsyncClient.getUser(msg.data.user_id); AsyncClient.getChannelStats(); loadProfilesAndTeamMembersForDMSidebar(); -- cgit v1.2.3-1-g7c22