From 451eb45d2b0f093046ca4342ee74bec19bd1d612 Mon Sep 17 00:00:00 2001 From: Radek Czemerys Date: Thu, 10 Sep 2020 17:13:04 +0200 Subject: [PATCH] feature: disable bugsnag network requests breadcrumbs --- .../java/com/standardnotes/MainApplication.java | 17 ++++++++++++++++- ios/StandardNotes/AppDelegate.m | 6 +++++- src/lib/SNReactNativeCrypto.ts | 4 ++-- src/screens/SideMenu/NoteSideMenu.tsx | 5 +++-- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/android/app/src/main/java/com/standardnotes/MainApplication.java b/android/app/src/main/java/com/standardnotes/MainApplication.java index ba3e0f7b..e27ad579 100644 --- a/android/app/src/main/java/com/standardnotes/MainApplication.java +++ b/android/app/src/main/java/com/standardnotes/MainApplication.java @@ -3,6 +3,9 @@ package com.standardnotes; import android.app.Application; import android.app.Activity; import android.content.Context; + +import com.bugsnag.android.BreadcrumbType; +import com.bugsnag.android.Configuration; import com.facebook.react.PackageList; import com.facebook.react.ReactApplication; import com.facebook.react.ReactInstanceManager; @@ -10,6 +13,7 @@ import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.soloader.SoLoader; import java.lang.reflect.InvocationTargetException; +import java.util.HashSet; import java.util.List; import com.bugsnag.android.Bugsnag; @@ -59,7 +63,18 @@ public class MainApplication extends Application implements ReactApplication { rebuildOkHtttp(); - Bugsnag.start(this /* app context */); + Configuration config = Configuration.load(this); + config.setEnabledBreadcrumbTypes(new HashSet() {{ + add(BreadcrumbType.NAVIGATION); + add(BreadcrumbType.STATE); + add(BreadcrumbType.PROCESS); + add(BreadcrumbType.MANUAL); + add(BreadcrumbType.USER); + add(BreadcrumbType.LOG); + add(BreadcrumbType.ERROR); + }}); + + Bugsnag.start(this, config); SoLoader.init(this, /* native exopackage */ false); diff --git a/ios/StandardNotes/AppDelegate.m b/ios/StandardNotes/AppDelegate.m index 3cef25ed..2360ff76 100644 --- a/ios/StandardNotes/AppDelegate.m +++ b/ios/StandardNotes/AppDelegate.m @@ -23,8 +23,12 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self initializeFlipper:application]; + + BugsnagConfiguration *config = [BugsnagConfiguration loadConfig]; + config.enabledBreadcrumbTypes = BSGEnabledBreadcrumbTypeNavigation | BSGEnabledBreadcrumbTypeLog + | BSGEnabledBreadcrumbTypeUser | BSGEnabledBreadcrumbTypeState | BSGEnabledBreadcrumbTypeNavigation | BSGEnabledBreadcrumbTypeProcess; - [Bugsnag start]; + [Bugsnag startWithConfiguration:config]; [self configurePinning]; diff --git a/src/lib/SNReactNativeCrypto.ts b/src/lib/SNReactNativeCrypto.ts index a08553c7..710fd80c 100644 --- a/src/lib/SNReactNativeCrypto.ts +++ b/src/lib/SNReactNativeCrypto.ts @@ -135,8 +135,8 @@ export class SNReactNativeCrypto implements SNPureCrypto { /** * Not implemented in SNReactNativeCrypto */ - public generateUUIDSync() { - return ''; + public generateUUIDSync(): never { + throw new Error('generateUUIDSync not implemented on mobile'); } public async generateUUID() { diff --git a/src/screens/SideMenu/NoteSideMenu.tsx b/src/screens/SideMenu/NoteSideMenu.tsx index f5c0ef8f..f80f9b83 100644 --- a/src/screens/SideMenu/NoteSideMenu.tsx +++ b/src/screens/SideMenu/NoteSideMenu.tsx @@ -557,10 +557,11 @@ export const NoteSideMenu = (props: Props) => { note, changeNote, leaveEditor, - application, - deleteNote, + editor?.isTemplateNote, props.drawerRef, navigation, + application, + deleteNote, ]); const onTagSelect = useCallback(