diff options
Diffstat (limited to 'webapp/stores/channel_store.jsx')
-rw-r--r-- | webapp/stores/channel_store.jsx | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/webapp/stores/channel_store.jsx b/webapp/stores/channel_store.jsx index db1bead46..58a7dfb78 100644 --- a/webapp/stores/channel_store.jsx +++ b/webapp/stores/channel_store.jsx @@ -20,6 +20,7 @@ const LAST_VIEVED_EVENT = 'last_viewed'; import store from 'stores/redux_store.jsx'; import * as Selectors from 'mattermost-redux/selectors/entities/channels'; import {ChannelTypes, UserTypes} from 'mattermost-redux/action_types'; +import {batchActions} from 'redux-batched-actions'; class ChannelStoreClass extends EventEmitter { constructor(props) { @@ -456,16 +457,22 @@ class ChannelStoreClass extends EventEmitter { const channel = {...this.get(id)}; channel.total_msg_count++; - store.dispatch({ - type: ChannelTypes.RECEIVED_CHANNEL, - data: channel - }); + const actions = []; if (markRead) { - this.resetCounts([id]); - } else { - this.unreadCounts[id].msgs++; + actions.push({ + type: ChannelTypes.RECEIVED_MY_CHANNEL_MEMBER, + data: {...member, msg_count: channel.total_msg_count} + }); } + + actions.push( + { + type: ChannelTypes.RECEIVED_CHANNEL, + data: channel + } + ); + store.dispatch(batchActions(actions)); } incrementMentionsIfNeeded(id, msgProps) { |