import misago from 'misago/index'; import { patch } from 'misago/reducers/auth'; import ajax from 'misago/services/ajax'; import snackbar from 'misago/services/snackbar'; import store from 'misago/services/store'; const AUTH_SYNC_RATE = 45; // sync user with backend every 45 seconds export default function initializer(context) { if (context.get('isAuthenticated')) { window.setInterval(function() { ajax.get(context.get('AUTH_API')).then(function(data) { store.dispatch(patch(data)); }, function(rejection) { snackbar.apiError(rejection); }); }, AUTH_SYNC_RATE * 1000); } } misago.addInitializer({ name: 'auth-sync', initializer: initializer, after: 'auth' });