summaryrefslogtreecommitdiffstats
path: root/webapp/utils
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-08 04:13:16 -0500
committerGeorge Goldberg <george@gberg.me>2017-03-08 09:13:16 +0000
commitdb7540b111f8b9f983adcfc73fd897e5d83c2fef (patch)
treec26c39b4e7063dda503bd55dd75360c135145ae4 /webapp/utils
parent2bea17251ef90ab62381ebecaa97fc41c2c94f99 (diff)
downloadchat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.tar.gz
chat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.tar.bz2
chat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.zip
Add sync logic for DMs/GMs when network reconnects (#5676)
Diffstat (limited to 'webapp/utils')
-rw-r--r--webapp/utils/async_client.jsx41
1 files changed, 23 insertions, 18 deletions
diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx
index e1449e3c5..9ba853238 100644
--- a/webapp/utils/async_client.jsx
+++ b/webapp/utils/async_client.jsx
@@ -64,26 +64,31 @@ export function checkVersion() {
}
export function getChannels() {
- if (isCallInProgress('getChannels')) {
- return null;
- }
+ return new Promise((resolve, reject) => {
+ if (isCallInProgress('getChannels')) {
+ resolve();
+ return;
+ }
- callTracker.getChannels = utils.getTimestamp();
+ callTracker.getChannels = utils.getTimestamp();
- return Client.getChannels(
- (data) => {
- callTracker.getChannels = 0;
+ Client.getChannels(
+ (data) => {
+ callTracker.getChannels = 0;
- AppDispatcher.handleServerAction({
- type: ActionTypes.RECEIVED_CHANNELS,
- channels: data
- });
- },
- (err) => {
- callTracker.getChannels = 0;
- dispatchError(err, 'getChannels');
- }
- );
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECEIVED_CHANNELS,
+ channels: data
+ });
+ resolve();
+ },
+ (err) => {
+ callTracker.getChannels = 0;
+ dispatchError(err, 'getChannels');
+ reject();
+ }
+ );
+ });
}
export function getChannel(id) {
@@ -130,7 +135,7 @@ export function getMyChannelMembers() {
resolve();
},
(err) => {
- callTracker.getChannelsUnread = 0;
+ callTracker.getMyChannelMembers = 0;
dispatchError(err, 'getMyChannelMembers');
reject();
}