diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-05-06 08:06:34 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-06 08:06:34 -0400 |
commit | d75cb0294896e0e45f280cbccde8581376d501ce (patch) | |
tree | 0d82a1d959945aa2a2e73633233d9c681212f209 /webapp | |
parent | 4b2843ee9d513a6b464e1e581e9cee8baaaa4317 (diff) | |
download | chat-d75cb0294896e0e45f280cbccde8581376d501ce.tar.gz chat-d75cb0294896e0e45f280cbccde8581376d501ce.tar.bz2 chat-d75cb0294896e0e45f280cbccde8581376d501ce.zip |
Multiple cross-team functionality fixes (#2902)
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/action_creators/global_actions.jsx | 2 | ||||
-rw-r--r-- | webapp/components/posts_view.jsx | 13 | ||||
-rw-r--r-- | webapp/stores/notification_store.jsx | 2 | ||||
-rw-r--r-- | webapp/stores/user_store.jsx | 2 |
4 files changed, 14 insertions, 5 deletions
diff --git a/webapp/action_creators/global_actions.jsx b/webapp/action_creators/global_actions.jsx index 78c56dd12..c1bb4dbc8 100644 --- a/webapp/action_creators/global_actions.jsx +++ b/webapp/action_creators/global_actions.jsx @@ -234,7 +234,7 @@ export function emitPostRecievedEvent(post, msg) { } else { AsyncClient.getChannel(post.channel_id); } - } else if (msg && TeamStore.getCurrentId() === msg.team_id) { + } else if (msg && (TeamStore.getCurrentId() === msg.team_id || msg.props.channel_type === Constants.DM_CHANNEL)) { AsyncClient.getChannel(post.channel_id); } diff --git a/webapp/components/posts_view.jsx b/webapp/components/posts_view.jsx index 3cc0c1a92..4a81feba2 100644 --- a/webapp/components/posts_view.jsx +++ b/webapp/components/posts_view.jsx @@ -47,13 +47,18 @@ export default class PostsView extends React.Component { this.scrollStopAction = new DelayedAction(this.handleScrollStop); + let profiles = UserStore.getProfiles(); + if (props.channel.type === Constants.DM_CHANNEL) { + profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); + } + this.state = { displayNameType: PreferenceStore.get(Preferences.CATEGORY_DISPLAY_SETTINGS, 'name_format', 'false'), centerPosts: PreferenceStore.get(Preferences.CATEGORY_DISPLAY_SETTINGS, Preferences.CHANNEL_DISPLAY_MODE, Preferences.CHANNEL_DISPLAY_MODE_DEFAULT) === Preferences.CHANNEL_DISPLAY_MODE_CENTERED, isScrolling: false, topPostId: null, currentUser: UserStore.getCurrentUser(), - profiles: UserStore.getProfiles() + profiles }; } static get SCROLL_TYPE_FREE() { @@ -78,7 +83,11 @@ export default class PostsView extends React.Component { }); } onUserChange() { - this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(UserStore.getProfiles()))}); + let profiles = UserStore.getProfiles(); + if (this.props.channel.type === Constants.DM_CHANNEL) { + profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); + } + this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(profiles))}); } isAtBottom() { // consider the view to be at the bottom if it's within this many pixels of the bottom diff --git a/webapp/stores/notification_store.jsx b/webapp/stores/notification_store.jsx index 6722af281..7d7039780 100644 --- a/webapp/stores/notification_store.jsx +++ b/webapp/stores/notification_store.jsx @@ -43,7 +43,7 @@ class NotificationStoreClass extends EventEmitter { if (notifyLevel === 'none') { return; - } else if (notifyLevel === 'mention' && mentions.indexOf(user.id) === -1 && channel.type !== Constants.DM_CHANNEL) { + } else if (notifyLevel === 'mention' && mentions.indexOf(user.id) === -1 && msgProps.channel_type !== Constants.DM_CHANNEL) { return; } diff --git a/webapp/stores/user_store.jsx b/webapp/stores/user_store.jsx index 5a27d15ea..2d792fa17 100644 --- a/webapp/stores/user_store.jsx +++ b/webapp/stores/user_store.jsx @@ -111,7 +111,7 @@ class UserStoreClass extends EventEmitter { } hasProfile(userId) { - return this.getProfiles()[userId] != null; + return this.getProfile(userId) != null; } getProfile(userId) { |