diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-03-08 04:13:16 -0500 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2017-03-08 09:13:16 +0000 |
commit | db7540b111f8b9f983adcfc73fd897e5d83c2fef (patch) | |
tree | c26c39b4e7063dda503bd55dd75360c135145ae4 /webapp/actions/websocket_actions.jsx | |
parent | 2bea17251ef90ab62381ebecaa97fc41c2c94f99 (diff) | |
download | chat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.tar.gz chat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.tar.bz2 chat-db7540b111f8b9f983adcfc73fd897e5d83c2fef.zip |
Add sync logic for DMs/GMs when network reconnects (#5676)
Diffstat (limited to 'webapp/actions/websocket_actions.jsx')
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index 913a89221..e36d11fde 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -89,6 +89,26 @@ export function reconnect(includeWebSocket = true) { ErrorStore.emitChange(); } +let intervalId = ''; +const SYNC_INTERVAL_MILLISECONDS = 1000 * 60 * 15; // 15 minutes + +export function startPeriodicSync() { + clearInterval(intervalId); + + intervalId = setInterval( + () => { + if (UserStore.getCurrentUser() != null) { + reconnect(false); + } + }, + SYNC_INTERVAL_MILLISECONDS + ); +} + +export function stopPeriodicSync() { + clearInterval(intervalId); +} + function handleFirstConnect() { ErrorStore.clearLastError(); ErrorStore.emitChange(); |