diff --git a/.github/workflows/debug-build.yml b/.github/workflows/debug-build.yml index 172fb880..c7dccdc0 100644 --- a/.github/workflows/debug-build.yml +++ b/.github/workflows/debug-build.yml @@ -19,6 +19,10 @@ jobs: - uses: subosito/flutter-action@v1 with: channel: 'stable' + - name: Set environment variables + run: echo $SECRETS | base64 -d > lib/utils/environment.dart + env: + SECRETS: ${{ secrets.SECRETS }} - name: Set up Flutter run: flutter pub get - name: Generate files with Builder diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index ae0d280c..db0f1ae9 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -19,6 +19,10 @@ jobs: - uses: subosito/flutter-action@v1 with: channel: 'stable' + - name: Set environment variables + run: echo $SECRETS | base64 -d > lib/utils/environment.dart + env: + SECRETS: ${{ secrets.SECRETS }} - name: Set up Flutter run: flutter pub get - name: Generate files with Builder diff --git a/.gitignore b/.gitignore index 09936788..ebfa321c 100644 --- a/.gitignore +++ b/.gitignore @@ -135,5 +135,4 @@ app.*.map.json !/dev/ci/**/Gemfile.lock Firebase related -.firebase -/lib/utils/environment.dart \ No newline at end of file +.firebase \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index fd2b20b2..8039daa4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,6 +9,7 @@ import 'package:revanced_manager/services/patcher_api.dart'; import 'package:revanced_manager/services/revanced_api.dart'; import 'package:revanced_manager/ui/theme/dynamic_theme_builder.dart'; import 'package:revanced_manager/ui/views/navigation/navigation_view.dart'; +import 'package:revanced_manager/utils/environment.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:stacked_themes/stacked_themes.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; @@ -23,35 +24,34 @@ Future main() async { String apiUrl = locator().getApiUrl(); await locator().initialize(apiUrl); await locator().initialize(); - // bool isSentryEnabled = locator().isSentryEnabled(); + bool isSentryEnabled = locator().isSentryEnabled(); locator().initialize(); await locator().initialize(); tz.initializeTimeZones(); prefs = await SharedPreferences.getInstance(); - // Remove this section if you are building from source and don't have sentry configured - // await SentryFlutter.init( - // (options) { - // options - // ..dsn = isSentryEnabled ? '' : '' - // ..environment = 'alpha' - // ..release = '0.1' - // ..tracesSampleRate = 1.0 - // ..anrEnabled = true - // ..enableOutOfMemoryTracking = true - // ..sampleRate = isSentryEnabled ? 1.0 : 0.0 - // ..beforeSend = (event, hint) { - // if (isSentryEnabled) { - // return event; - // } else { - // return null; - // } - // } as BeforeSendCallback?; - // }, - // appRunner: () { - // runApp(const MyApp()); - // }, - // ); + await SentryFlutter.init( + (options) { + options + ..dsn = isSentryEnabled ? Environment.sentryDSN : '' + ..environment = 'alpha' + ..release = '0.1' + ..tracesSampleRate = 1.0 + ..anrEnabled = true + ..enableOutOfMemoryTracking = true + ..sampleRate = isSentryEnabled ? 1.0 : 0.0 + ..beforeSend = (event, hint) { + if (isSentryEnabled) { + return event; + } else { + return null; + } + } as BeforeSendCallback?; + }, + appRunner: () { + runApp(const MyApp()); + }, + ); runApp(const MyApp()); } diff --git a/lib/utils/environment.dart b/lib/utils/environment.dart new file mode 100644 index 00000000..31e48775 --- /dev/null +++ b/lib/utils/environment.dart @@ -0,0 +1,5 @@ +// Dummy environment variables used for building the app locally. These automatically get set with correct values during workflow builds. +class Environment { + static const sentryDSN = ''; + static const crowdinKEY = ''; +} \ No newline at end of file