feat: add error reporting
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user