Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #1840 from matrix-org/dbkr/fix_rageshake
Browse files Browse the repository at this point in the history
Fix rageshake
  • Loading branch information
lukebarnard1 committed Apr 23, 2018
2 parents 44d92bb + 3ea5fc9 commit fa318ef
Showing 1 changed file with 18 additions and 21 deletions.
39 changes: 18 additions & 21 deletions src/rageshake/rageshake.js
Original file line number Diff line number Diff line change
Expand Up @@ -395,9 +395,6 @@ function selectQuery(store, keyRange, resultMapper) {
}


let store = null;
let logger = null;
let initPromise = null;
module.exports = {

/**
Expand All @@ -406,11 +403,11 @@ module.exports = {
* @return {Promise} Resolves when set up.
*/
init: function() {
if (initPromise) {
return initPromise;
if (global.mx_rage_initPromise) {
return global.mx_rage_initPromise;
}
logger = new ConsoleLogger();
logger.monkeyPatch(window.console);
global.mx_rage_logger = new ConsoleLogger();
global.mx_rage_logger.monkeyPatch(window.console);

// just *accessing* indexedDB throws an exception in firefox with
// indexeddb disabled.
Expand All @@ -420,30 +417,30 @@ module.exports = {
} catch(e) {}

if (indexedDB) {
store = new IndexedDBLogStore(indexedDB, logger);
initPromise = store.connect();
return initPromise;
global.mx_rage_store = new IndexedDBLogStore(indexedDB, global.mx_rage_logger);
global.mx_rage_initPromise = global.mx_rage_store.connect();
return global.mx_rage_initPromise;
}
initPromise = Promise.resolve();
return initPromise;
global.mx_rage_initPromise = Promise.resolve();
return global.mx_rage_initPromise;
},

flush: function() {
if (!store) {
if (!global.mx_rage_store) {
return;
}
store.flush();
global.mx_rage_store.flush();
},

/**
* Clean up old logs.
* @return Promise Resolves if cleaned logs.
*/
cleanup: async function() {
if (!store) {
if (!global.mx_rage_store) {
return;
}
await store.consume();
await global.mx_rage_store.consume();
},

/**
Expand All @@ -452,21 +449,21 @@ module.exports = {
* @return {Array<{lines: string, id, string}>} list of log data
*/
getLogsForReport: async function() {
if (!logger) {
if (!global.mx_rage_logger) {
throw new Error(
"No console logger, did you forget to call init()?"
);
}
// If in incognito mode, store is null, but we still want bug report
// sending to work going off the in-memory console logs.
if (store) {
if (global.mx_rage_store) {
// flush most recent logs
await store.flush();
return await store.consume();
await global.mx_rage_store.flush();
return await global.mx_rage_store.consume();
}
else {
return [{
lines: logger.flush(true),
lines: global.mx_rage_logger.flush(true),
id: "-",
}];
}
Expand Down

0 comments on commit fa318ef

Please sign in to comment.