diff --git a/metadata/com.standardnotes.yml b/metadata/com.standardnotes.yml index 1a5f5cedbe..ac90c8aa9f 100644 --- a/metadata/com.standardnotes.yml +++ b/metadata/com.standardnotes.yml @@ -2750,6 +2750,8 @@ Builds: - cd ../.. - yarn cache clean snjs - npm_config_build_from_source=true yarn --force + patch: + - bugsnag-3.9.12.patch gradle: - prod srclibs: @@ -2766,10 +2768,8 @@ Builds: - $$SDK$$/tools/bin/sdkmanager 'cmake;3.10.2.4988404' > /dev/null - sed -i -e '/detox/Id' -e 's/versionName appVersionName/versionName "$$VERSION$$"/' -e 's/versionCode appVersionCode/versionCode $$VERCODE$$/' build.gradle - - sed -i -e "/bugsnag/d" ../../package.json build.gradle src/main/java/com/standardnotes/MainActivity.java - - sed -i -e '/Bugsnag/d' ../../src/App.tsx - - sed -i -e '/String bugsnagOptOut/,/^ }/d' -e '/Configuration config/,/^ }});/d' - -e '/bugsnag/Id' src/main/java/com/standardnotes/MainApplication.java + - sed -i -e "/bugsnag/d" build.gradle + - sed -i -e "/@bugsnag\/react-native/d" -e "/bugsnag-sourcemaps/d" ../../package.json scanignore: - android/build.gradle - node_modules/hermes-engine @@ -2810,6 +2810,8 @@ Builds: - cd ../.. - yarn cache clean snjs - npm_config_build_from_source=true yarn --force + patch: + - bugsnag-3.9.12.patch gradle: - prod srclibs: @@ -2826,10 +2828,8 @@ Builds: - $$SDK$$/tools/bin/sdkmanager 'cmake;3.10.2.4988404' > /dev/null - sed -i -e '/detox/Id' -e 's/versionName appVersionName/versionName "$$VERSION$$"/' -e 's/versionCode appVersionCode/versionCode $$VERCODE$$/' build.gradle - - sed -i -e "/bugsnag/d" ../../package.json build.gradle src/main/java/com/standardnotes/MainActivity.java - - sed -i -e '/Bugsnag/d' ../../src/App.tsx - - sed -i -e '/String bugsnagOptOut/,/^ }/d' -e '/Configuration config/,/^ }});/d' - -e '/bugsnag/Id' src/main/java/com/standardnotes/MainApplication.java + - sed -i -e "/bugsnag/d" build.gradle + - sed -i -e "/@bugsnag\/react-native/d" -e "/bugsnag-sourcemaps/d" ../../package.json scanignore: - android/build.gradle - node_modules/hermes-engine diff --git a/metadata/com.standardnotes/bugsnag-3.9.12.patch b/metadata/com.standardnotes/bugsnag-3.9.12.patch new file mode 100644 index 0000000000..766f56d1cc --- /dev/null +++ b/metadata/com.standardnotes/bugsnag-3.9.12.patch @@ -0,0 +1,84 @@ +diff --git a/android/app/src/main/java/com/standardnotes/MainActivity.java b/android/app/src/main/java/com/standardnotes/MainActivity.java +index a3577f8..64041a3 100644 +--- a/android/app/src/main/java/com/standardnotes/MainActivity.java ++++ b/android/app/src/main/java/com/standardnotes/MainActivity.java +@@ -28,7 +28,7 @@ public class MainActivity extends ReactActivity { + Bundle props = new Bundle(); + SharedPreferences settings = this.getContext().getSharedPreferences("react-native", Context.MODE_PRIVATE); + String bugsnagOptOut = settings.getString("bugsnagoptout", "true"); +- props.putBoolean("bugsnagOptOut", bugsnagOptOut.equals("true")); ++ props.putBoolean("bugsnagOptOut", true); + if (packageName.equals("com.standardnotes.dev")) { + props.putString("env", "dev"); + } else { +diff --git a/android/app/src/main/java/com/standardnotes/MainApplication.java b/android/app/src/main/java/com/standardnotes/MainApplication.java +index 69c4085..61d8b32 100644 +--- a/android/app/src/main/java/com/standardnotes/MainApplication.java ++++ b/android/app/src/main/java/com/standardnotes/MainApplication.java +@@ -5,8 +5,6 @@ import android.app.Activity; + import android.content.Context; + import android.webkit.WebView; + +-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; +@@ -19,7 +17,6 @@ import java.lang.reflect.InvocationTargetException; + import java.util.HashSet; + import java.util.List; + +-import com.bugsnag.android.Bugsnag; + import com.facebook.react.modules.network.OkHttpClientProvider; + + import android.annotation.SuppressLint; +@@ -74,23 +71,7 @@ public class MainApplication extends Application implements ReactApplication { + + rebuildOkHtttp(); + +- 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); +- }}); +- + SharedPreferences settings = getApplicationContext().getSharedPreferences("react-native", Context.MODE_PRIVATE); +- String bugsnagOptOut = settings.getString("bugsnagoptout", "true"); +- +- if (!bugsnagOptOut.equals("true")) { +- Bugsnag.start(this, config); +- } + + SoLoader.init(this, /* native exopackage */ false); + +diff --git a/src/App.tsx b/src/App.tsx +index a2906e9..c42c63a 100644 +--- a/src/App.tsx ++++ b/src/App.tsx +@@ -1,4 +1,3 @@ +-import Bugsnag from '@bugsnag/react-native'; + import { ActionSheetProvider } from '@expo/react-native-action-sheet'; + import { MobileApplication } from '@Lib/application'; + import { ApplicationGroup } from '@Lib/application_group'; +@@ -132,16 +131,6 @@ export const App = (props: { env: 'prod' | 'dev'; bugsnagOptOut: true }) => { + MobileApplication | undefined + >(); + +- useEffect(() => { +- if (!props.bugsnagOptOut) { +- try { +- Bugsnag.start(); +- } catch { +- console.error('Bugnsag failed to start'); +- } +- } +- }, [props.bugsnagOptOut]); +- + useEffect(() => { + const removeAppChangeObserver = applicationGroupRef.current.addApplicationChangeObserver( + () => {