notifyAboutRecoveryFromUnexpectedError = (recovery, context, error) => {
    if (!isHooked) {
        throw error;
    }
    console.error('Recovered from unexpected error', {recovery, context, error});

    let location = error.stack || "unknown";
    let msg = [
        recovery,
        '',
        'URL',
        document.location,
        '',
        'BROWSER',
        window.navigator.userAgent,
        window.navigator.appName,
        window.navigator.appVersion,
        '',
        'RECOVERY DETAILS',
        describe(context),
        '',
        'ERROR OBJECT',
        describe(error),
        '',
        'ERROR LOCATION',
         simplifySrcUrls(location)
    ].join('\n');

    showErrorDiv(
        'Recovered from an error. :(',
        recovery + ' (' + (error.message || '') + ')',
        msg,
        "(Recovered) " + recovery + " @ " + location.substr(0, 200) + "[...]");
}
@param {!string} recovery A short description of what happened and how it was recovered from.
@param {*} context Details about what caused the error and how we recovered.
@param {*} error The exception object.