summaryrefslogtreecommitdiffstats
path: root/webapp/actions/post_actions.jsx
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-04-03 13:36:47 -0400
committerCorey Hulen <corey@hulen.com>2017-04-03 10:36:47 -0700
commit68bb5a2ec85a6d34726a137bad65157d0ff65247 (patch)
treeecad4a9c6601eb9651678668b3e3c3bfe51ed8db /webapp/actions/post_actions.jsx
parent997eacd4b635a2a7a86eadeeb2b229f153c52626 (diff)
downloadchat-68bb5a2ec85a6d34726a137bad65157d0ff65247.tar.gz
chat-68bb5a2ec85a6d34726a137bad65157d0ff65247.tar.bz2
chat-68bb5a2ec85a6d34726a137bad65157d0ff65247.zip
Replace initial load of user's channel members for all teams with a lazy load (#5942)
Diffstat (limited to 'webapp/actions/post_actions.jsx')
-rw-r--r--webapp/actions/post_actions.jsx13
1 files changed, 13 insertions, 0 deletions
diff --git a/webapp/actions/post_actions.jsx b/webapp/actions/post_actions.jsx
index 63c4eb017..c0abbd1c3 100644
--- a/webapp/actions/post_actions.jsx
+++ b/webapp/actions/post_actions.jsx
@@ -10,6 +10,7 @@ import UserStore from 'stores/user_store.jsx';
import {loadStatusesForChannel} from 'actions/status_actions.jsx';
import {loadNewDMIfNeeded, loadNewGMIfNeeded} from 'actions/user_actions.jsx';
import {trackEvent} from 'actions/diagnostics_actions.jsx';
+import {sendDesktopNotification} from 'actions/notification_actions.jsx';
import Client from 'client/web_client.jsx';
import * as AsyncClient from 'utils/async_client.jsx';
@@ -32,6 +33,14 @@ export function handleNewPost(post, msg) {
}
}
+ if (ChannelStore.getMyMember(post.channel_id)) {
+ completePostReceive(post, websocketMessageProps);
+ } else {
+ AsyncClient.getChannelMember(post.channel_id, UserStore.getCurrentId()).then(() => completePostReceive(post, websocketMessageProps));
+ }
+}
+
+function completePostReceive(post, websocketMessageProps) {
if (post.root_id && PostStore.getPost(post.channel_id, post.root_id) == null) {
Client.getPost(
post.channel_id,
@@ -51,6 +60,8 @@ export function handleNewPost(post, msg) {
websocketMessageProps
});
+ sendDesktopNotification(post, websocketMessageProps);
+
loadProfilesForPosts(data.posts);
},
(err) => {
@@ -66,6 +77,8 @@ export function handleNewPost(post, msg) {
post,
websocketMessageProps
});
+
+ sendDesktopNotification(post, websocketMessageProps);
}
export function pinPost(channelId, postId) {