From 99d79eee56a1b5a27f18fffd90545b4aef191bba Mon Sep 17 00:00:00 2001
From: Florian Orben <florian.orben@gmail.com>
Date: Fri, 4 Dec 2015 20:18:49 +0100
Subject: add helper method to add ephemeral messages; also switch 'delete
 message' to this new method

---
 web/react/utils/async_client.jsx | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

(limited to 'web/react/utils/async_client.jsx')

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;
-- 
cgit v1.2.3-1-g7c22

