You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cryptpad/www/common/common-realtime.js

67 lines
2.1 KiB
JavaScript

8 years ago
define([
//'/customize/application_config.js',
//'/customize/messages.js',
//'/common/common-interface.js',
], function (/*AppConfig, Messages, UI*/) {
8 years ago
var common = {};
//common.infiniteSpinnerDetected = false;
//var BAD_STATE_TIMEOUT = typeof(AppConfig.badStateTimeout) === 'number'?
// AppConfig.badStateTimeout: 30000;
8 years ago
//var connected = false;
//var intr;
//var infiniteSpinnerHandlers = [];
8 years ago
/*
TODO make this not blow up when disconnected or lagging...
*/
common.whenRealtimeSyncs = function (realtime, cb) {
if (typeof(realtime.getAuthDoc) !== 'function') {
return void console.error('improper use of this function');
}
self.setTimeout(function () {
8 years ago
if (realtime.getAuthDoc() === realtime.getUserDoc()) {
return void cb();
} else {
realtime.onSettle(cb);
8 years ago
}
}, 0);
};
/*
common.beginDetectingInfiniteSpinner = function (realtime) {
if (intr) { return; }
intr = window.setInterval(function () {
var l;
try {
l = realtime.getLag();
} catch (e) {
throw new Error("ChainPad.getLag() does not exist, please `bower update`");
}
if (l.lag < BAD_STATE_TIMEOUT || !connected) { return; }
realtime.abort();
// don't launch more than one popup
if (common.infiniteSpinnerDetected) { return; }
infiniteSpinnerHandlers.forEach(function (ish) { ish(); });
// inform the user their session is in a bad state
UI.confirm(Messages.realtime_unrecoverableError, function (yes) {
if (!yes) { return; }
window.parent.location.reload();
});
common.infiniteSpinnerDetected = true;
}, 2000);
};
*/
//common.onInfiniteSpinner = function (f) { infiniteSpinnerHandlers.push(f); };
/*common.setConnectionState = function (bool) {
if (typeof(bool) !== 'boolean') { return; }
connected = bool;
};*/
8 years ago
return common;
});