diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-04-03 13:36:47 -0400 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-04-03 10:36:47 -0700 |
commit | 68bb5a2ec85a6d34726a137bad65157d0ff65247 (patch) | |
tree | ecad4a9c6601eb9651678668b3e3c3bfe51ed8db /webapp/actions/post_actions.jsx | |
parent | 997eacd4b635a2a7a86eadeeb2b229f153c52626 (diff) | |
download | chat-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.jsx | 13 |
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) { |