summaryrefslogtreecommitdiffstats
path: root/webapp/actions
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-11-24 09:08:46 -0500
committerChristopher Speller <crspeller@gmail.com>2016-11-24 09:08:46 -0500
commitc96ecae6da31aceabf29586cde872876b81d11d9 (patch)
tree94df09df540da846bb4c6ed50e8bd7879cff63ba /webapp/actions
parentb212acf312ad640455fa715427ac19e6930dc61d (diff)
parent36f62c9e82350f58c902f64a5d3304872431ad41 (diff)
downloadchat-c96ecae6da31aceabf29586cde872876b81d11d9.tar.gz
chat-c96ecae6da31aceabf29586cde872876b81d11d9.tar.bz2
chat-c96ecae6da31aceabf29586cde872876b81d11d9.zip
Merge branch 'release-3.5'
Diffstat (limited to 'webapp/actions')
-rw-r--r--webapp/actions/user_actions.jsx1
-rw-r--r--webapp/actions/websocket_actions.jsx11
2 files changed, 11 insertions, 1 deletions
diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx
index 5d07bed14..fefca79f7 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) {
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx
index 8632f4135..bf56a148a 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]);
}
@@ -207,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();