diff options
Diffstat (limited to 'web/react/utils/async_client.jsx')
-rw-r--r-- | web/react/utils/async_client.jsx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx index 88b5aa739..9cdbd73a4 100644 --- a/web/react/utils/async_client.jsx +++ b/web/react/utils/async_client.jsx @@ -82,7 +82,7 @@ export function getChannels(checkVersion) { ); } -export function getChannel(id) { +export function getChannelAndAddUnreadMessages(id, unreadCount) { if (isCallInProgress('getChannel' + id)) { return; } @@ -97,6 +97,7 @@ export function getChannel(id) { return; } + data.channel.total_msg_count += (unreadCount || 0); AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_CHANNEL, channel: data.channel, @@ -110,6 +111,10 @@ export function getChannel(id) { ); } +export function getChannel(id) { + getChannelAndAddUnreadMessages(id, 0); +} + export function updateLastViewedAt(id) { let channelId; if (id) { @@ -131,6 +136,14 @@ export function updateLastViewedAt(id) { channelId, () => { callTracker.updateLastViewed = 0; + + var channel = ChannelStore.get(channelId); + var member = ChannelStore.getMember(channelId); + if (channel && member) { + member.msg_count = channel.total_msg_count; + member.last_viewed_at = utils.getTimestamp(); + ChannelStore.setChannelMember(member); + } }, (err) => { callTracker.updateLastViewed = 0; |