summaryrefslogtreecommitdiffstats
path: root/webapp/actions/post_actions.jsx
diff options
context:
space:
mode:
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) {