diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-11-01 11:13:33 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-01 11:13:33 -0400 |
commit | 92642bab6852d02e6b58f881ac909788299d0c5c (patch) | |
tree | 9c54d4c54bc29a488a34e659a3b75b3d2105ce03 /webapp/actions | |
parent | 9bae1f7e9308be8c7084f73e6b897dde24aad717 (diff) | |
download | chat-92642bab6852d02e6b58f881ac909788299d0c5c.tar.gz chat-92642bab6852d02e6b58f881ac909788299d0c5c.tar.bz2 chat-92642bab6852d02e6b58f881ac909788299d0c5c.zip |
Load channel members with channels to make sure we have latest unread counts (#4389)
Diffstat (limited to 'webapp/actions')
-rw-r--r-- | webapp/actions/channel_actions.jsx | 5 | ||||
-rw-r--r-- | webapp/actions/global_actions.jsx | 7 | ||||
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 8 |
3 files changed, 13 insertions, 7 deletions
diff --git a/webapp/actions/channel_actions.jsx b/webapp/actions/channel_actions.jsx index c9c4e6883..5003d6530 100644 --- a/webapp/actions/channel_actions.jsx +++ b/webapp/actions/channel_actions.jsx @@ -186,3 +186,8 @@ export function unmarkFavorite(channelId) { AsyncClient.deletePreferences([pref]); } + +export function loadChannelsForCurrentUser() { + AsyncClient.getChannels(); + AsyncClient.getMyChannelMembers(); +} diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index a2c7c341d..6a63b5630 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -14,6 +14,7 @@ import SearchStore from 'stores/search_store.jsx'; import {handleNewPost, loadPosts, loadPostsBefore, loadPostsAfter} from 'actions/post_actions.jsx'; import {loadProfilesAndTeamMembersForDMSidebar} from 'actions/user_actions.jsx'; +import {loadChannelsForCurrentUser} from 'actions/channel_actions.jsx'; import Constants from 'utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; @@ -42,7 +43,7 @@ export function emitChannelClickEvent(channel) { ); } function switchToChannel(chan) { - AsyncClient.getChannelStats(chan.id); + AsyncClient.getChannelStats(chan.id, true); AsyncClient.updateLastViewedAt(chan.id); loadPosts(chan.id); trackPage(); @@ -140,7 +141,7 @@ export function doFocusPost(channelId, postId, data) { channelId, post_list: data }); - AsyncClient.getChannels(true); + loadChannelsForCurrentUser(); AsyncClient.getMoreChannels(true); AsyncClient.getChannelStats(channelId); loadPostsBefore(postId, 0, Constants.POST_FOCUS_CONTEXT_RADIUS, true); @@ -148,7 +149,7 @@ export function doFocusPost(channelId, postId, data) { } export function emitPostFocusEvent(postId, onSuccess) { - AsyncClient.getChannels(true); + loadChannelsForCurrentUser(); Client.getPermalinkTmp( postId, (data) => { diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index e58bded0d..55df5105f 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -20,6 +20,7 @@ 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 {loadProfilesAndTeamMembersForDMSidebar} from 'actions/user_actions.jsx'; +import {loadChannelsForCurrentUser} from 'actions/channel_actions.jsx'; import * as StatusActions from 'actions/status_actions.jsx'; import {Constants, SocketEvents, UserStatuses} from 'utils/constants.jsx'; @@ -75,8 +76,7 @@ function handleFirstConnect() { function handleReconnect() { if (Client.teamId) { - AsyncClient.getChannels(); - AsyncClient.getMyChannelMembers(); + loadChannelsForCurrentUser(); loadPosts(ChannelStore.getCurrentId()); } @@ -234,7 +234,7 @@ function handleUserAddedEvent(msg) { function handleUserRemovedEvent(msg) { if (UserStore.getCurrentId() === msg.broadcast.user_id) { - AsyncClient.getChannels(); + loadChannelsForCurrentUser(); if (msg.data.remover_id !== msg.broadcast.user_id && msg.data.channel_id === ChannelStore.getCurrentId() && @@ -273,7 +273,7 @@ function handleChannelDeletedEvent(msg) { const teamUrl = TeamStore.getCurrentTeamRelativeUrl(); browserHistory.push(teamUrl + '/channels/' + Constants.DEFAULT_CHANNEL); } - AsyncClient.getChannels(); + loadChannelsForCurrentUser(); } function handlePreferenceChangedEvent(msg) { |