diff options
-rw-r--r-- | api/channel.go | 4 | ||||
-rw-r--r-- | model/message.go | 1 | ||||
-rw-r--r-- | web/react/components/sidebar.jsx | 4 |
3 files changed, 9 insertions, 0 deletions
diff --git a/api/channel.go b/api/channel.go index 8264b3e74..88db27def 100644 --- a/api/channel.go +++ b/api/channel.go @@ -655,6 +655,10 @@ func addChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { c.LogAudit("name=" + channel.Name + " user_id=" + userId) + message := model.NewMessage(c.Session.TeamId, "", userId, model.ACTION_USER_ADDED) + + store.PublishAndForget(message) + <-Srv.Store.Channel().UpdateLastViewedAt(id, oUser.Id) w.Write([]byte(cm.ToJson())) } diff --git a/model/message.go b/model/message.go index 47f598af8..52ee69e8f 100644 --- a/model/message.go +++ b/model/message.go @@ -15,6 +15,7 @@ const ( ACTION_POST_DELETED = "post_deleted" ACTION_VIEWED = "viewed" ACTION_NEW_USER = "new_user" + ACTION_USER_ADDED = "user_added" ) type Message struct { diff --git a/web/react/components/sidebar.jsx b/web/react/components/sidebar.jsx index 0e4d38fe0..2095978e8 100644 --- a/web/react/components/sidebar.jsx +++ b/web/react/components/sidebar.jsx @@ -263,6 +263,10 @@ var SidebarLoggedIn = React.createClass({ if (ChannelStore.getCurrentId() != msg.channel_id) { AsyncClient.getChannels(true); } + } else if (msg.action == "user_added") { + if (UserStore.getCurrentId() === msg.user_id) { + AsyncClient.getChannels(true); + } } }, updateTitle: function() { |