summaryrefslogtreecommitdiffstats
path: root/webapp
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-05-06 08:06:34 -0400
committerChristopher Speller <crspeller@gmail.com>2016-05-06 08:06:34 -0400
commitd75cb0294896e0e45f280cbccde8581376d501ce (patch)
tree0d82a1d959945aa2a2e73633233d9c681212f209 /webapp
parent4b2843ee9d513a6b464e1e581e9cee8baaaa4317 (diff)
downloadchat-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.jsx2
-rw-r--r--webapp/components/posts_view.jsx13
-rw-r--r--webapp/stores/notification_store.jsx2
-rw-r--r--webapp/stores/user_store.jsx2
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) {