summaryrefslogtreecommitdiffstats
path: root/webapp/actions
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-11-01 11:13:33 -0400
committerGitHub <noreply@github.com>2016-11-01 11:13:33 -0400
commit92642bab6852d02e6b58f881ac909788299d0c5c (patch)
tree9c54d4c54bc29a488a34e659a3b75b3d2105ce03 /webapp/actions
parent9bae1f7e9308be8c7084f73e6b897dde24aad717 (diff)
downloadchat-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.jsx5
-rw-r--r--webapp/actions/global_actions.jsx7
-rw-r--r--webapp/actions/websocket_actions.jsx8
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) {