feat: add error reporting

This commit is contained in:
Baptiste Grob
2020-11-03 18:55:25 +01:00
parent 0e9cdba215
commit 6cd4b8707a
8 changed files with 63 additions and 8 deletions

View File

@@ -1,14 +1,16 @@
import { SNLog } from 'snjs';
import { isDesktopApplication, isDev } from '@/utils';
import { storage, StorageKey } from './localStorage';
import Bugsnag from '@bugsnag/js';
declare const __VERSION__: string;
export async function startErrorReporting() {
if (storage.get(StorageKey.DisableErrorReporting)) {
SNLog.onError = console.error;
return;
}
try {
const { default: Bugsnag } = await import('@bugsnag/js');
Bugsnag.start({
apiKey: (window as any)._bugsnag_api_key,
appType: isDesktopApplication() ? 'desktop' : 'web',
@@ -17,6 +19,13 @@ export async function startErrorReporting() {
autoTrackSessions: false,
releaseStage: isDev ? 'development' : undefined
});
if (isDev) {
SNLog.onError = console.error;
} else {
SNLog.onError = (error) => {
Bugsnag.notify(error);
}
}
} catch (error) {
console.error('Failed to start Bugsnag.', error);
}