summaryrefslogtreecommitdiffstats
path: root/web/react/utils/async_client.jsx
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2015-11-04 09:43:06 -0500
committerJoram Wilander <jwawilander@gmail.com>2015-11-04 09:43:06 -0500
commit559ca09f2ce72306ea33366f2972be6d22656fc7 (patch)
treebc88626a1c47b9821e576c42fcee3f89f83f3b6c /web/react/utils/async_client.jsx
parent56ce3bc99735fe7ef7d4bf5f783c3d6f01a3a878 (diff)
parentee66b089349d46695bbe652b381da4be2b67954b (diff)
downloadchat-559ca09f2ce72306ea33366f2972be6d22656fc7.tar.gz
chat-559ca09f2ce72306ea33366f2972be6d22656fc7.tar.bz2
chat-559ca09f2ce72306ea33366f2972be6d22656fc7.zip
Merge pull request #1289 from mattermost/plt-516-2
PLT-516 Part 1 of performance fixes for large teams
Diffstat (limited to 'web/react/utils/async_client.jsx')
-rw-r--r--web/react/utils/async_client.jsx18
1 files changed, 14 insertions, 4 deletions
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx
index 75dd35e3f..205c7461c 100644
--- a/web/react/utils/async_client.jsx
+++ b/web/react/utils/async_client.jsx
@@ -588,13 +588,23 @@ export function getMe() {
}
export function getStatuses() {
- if (isCallInProgress('getStatuses')) {
+ const directChannels = ChannelStore.getAll().filter((channel) => channel.type === Constants.DM_CHANNEL);
+
+ const teammateIds = [];
+ for (var i = 0; i < directChannels.length; i++) {
+ const teammate = utils.getDirectTeammate(directChannels[i].id);
+ if (teammate) {
+ teammateIds.push(teammate.id);
+ }
+ }
+
+ if (isCallInProgress('getStatuses') || teammateIds.length === 0) {
return;
}
callTracker.getStatuses = utils.getTimestamp();
- client.getStatuses(
- function getStatusesSuccess(data, textStatus, xhr) {
+ client.getStatuses(teammateIds,
+ (data, textStatus, xhr) => {
callTracker.getStatuses = 0;
if (xhr.status === 304 || !data) {
@@ -606,7 +616,7 @@ export function getStatuses() {
statuses: data
});
},
- function getStatusesFailure(err) {
+ (err) => {
callTracker.getStatuses = 0;
dispatchError(err, 'getStatuses');
}