Commit 06717370 authored by JC Brand's avatar JC Brand

Provide a traceback when `waitUntil` times out

parent a1630b5c
......@@ -260,25 +260,17 @@ _converse.log = function (message, level, style='') {
message = message.outerHTML;
}
const prefix = style ? '%c' : '';
const logger = Object.assign({
'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'error': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'info': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'warn': _.get(console, 'log') ? console.log.bind(console) : _.noop
}, console);
if (level === Strophe.LogLevel.ERROR) {
logger.error(`${prefix} ERROR: ${message}`, style);
u.logger.error(`${prefix} ERROR: ${message}`, style);
} else if (level === Strophe.LogLevel.WARN) {
if (_converse.debug) {
logger.warn(`${prefix} ${(new Date()).toISOString()} WARNING: ${message}`, style);
}
u.logger.warn(`${prefix} ${(new Date()).toISOString()} WARNING: ${message}`, style);
} else if (level === Strophe.LogLevel.FATAL) {
logger.error(`${prefix} FATAL: ${message}`, style);
u.logger.error(`${prefix} FATAL: ${message}`, style);
} else if (_converse.debug) {
if (level === Strophe.LogLevel.DEBUG) {
logger.debug(`${prefix} ${(new Date()).toISOString()} DEBUG: ${message}`, style);
u.logger.debug(`${prefix} ${(new Date()).toISOString()} DEBUG: ${message}`, style);
} else {
logger.info(`${prefix} ${(new Date()).toISOString()} INFO: ${message}`, style);
u.logger.info(`${prefix} ${(new Date()).toISOString()} INFO: ${message}`, style);
}
}
};
......
......@@ -14,13 +14,19 @@ import sizzle from "sizzle";
const Strophe = strophe.default.Strophe;
/**
* The utils object
* @namespace u
*/
const u = {};
u.logger = Object.assign({
'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'error': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'info': _.get(console, 'log') ? console.log.bind(console) : _.noop,
'warn': _.get(console, 'log') ? console.log.bind(console) : _.noop
}, console);
u.isTagEqual = function (stanza, name) {
if (stanza.nodeTree) {
return u.isTagEqual(stanza.nodeTree, name);
......@@ -554,7 +560,9 @@ u.waitUntil = function (func, max_wait=300, check_delay=3) {
const interval = setInterval(checker, check_delay);
const max_wait_timeout = setTimeout(() => {
clearTimers(max_wait_timeout, interval);
promise.reject(new Error('Wait until promise timed out'));
const err_msg = 'Wait until promise timed out';
u.logger.error(err_msg);
promise.reject(new Error(err_msg));
}, max_wait);
return promise;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment