diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2eed149..85df9ca 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -47,9 +47,6 @@ PODS: - FirebaseAnalytics (~> 11.4.0) - Firebase/CoreOnly (11.4.0): - FirebaseCore (= 11.4.0) - - Firebase/Crashlytics (11.4.0): - - Firebase/CoreOnly - - FirebaseCrashlytics (~> 11.4.0) - Firebase/Messaging (11.4.0): - Firebase/CoreOnly - FirebaseMessaging (~> 11.4.0) @@ -60,10 +57,6 @@ PODS: - firebase_core (3.8.0): - Firebase/CoreOnly (= 11.4.0) - Flutter - - firebase_crashlytics (4.1.5): - - Firebase/Crashlytics (= 11.4.0) - - firebase_core - - Flutter - firebase_messaging (15.1.5): - Firebase/Messaging (= 11.4.0) - firebase_core @@ -90,19 +83,8 @@ PODS: - FirebaseCoreInternal (~> 11.0) - GoogleUtilities/Environment (~> 8.0) - GoogleUtilities/Logger (~> 8.0) - - FirebaseCoreExtension (11.4.1): - - FirebaseCore (~> 11.0) - FirebaseCoreInternal (11.5.0): - "GoogleUtilities/NSData+zlib (~> 8.0)" - - FirebaseCrashlytics (11.4.0): - - FirebaseCore (~> 11.4) - - FirebaseInstallations (~> 11.0) - - FirebaseRemoteConfigInterop (~> 11.0) - - FirebaseSessions (~> 11.0) - - GoogleDataTransport (~> 10.0) - - GoogleUtilities/Environment (~> 8.0) - - nanopb (~> 3.30910.0) - - PromisesObjC (~> 2.4) - FirebaseInstallations (11.4.0): - FirebaseCore (~> 11.0) - GoogleUtilities/Environment (~> 8.0) @@ -117,16 +99,6 @@ PODS: - GoogleUtilities/Reachability (~> 8.0) - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - - FirebaseRemoteConfigInterop (11.5.0) - - FirebaseSessions (11.4.0): - - FirebaseCore (~> 11.4) - - FirebaseCoreExtension (~> 11.4) - - FirebaseInstallations (~> 11.0) - - GoogleDataTransport (~> 10.0) - - GoogleUtilities/Environment (~> 8.0) - - GoogleUtilities/UserDefaults (~> 8.0) - - nanopb (~> 3.30910.0) - - PromisesSwift (~> 2.1) - Flutter (1.0.0) - flutter_native_splash (2.4.3): - Flutter @@ -208,14 +180,17 @@ PODS: - Flutter - FlutterMacOS - PromisesObjC (2.4.0) - - PromisesSwift (2.4.0): - - PromisesObjC (= 2.4.0) - SAMKeychain (1.5.3) - screen_brightness_ios (0.1.0): - Flutter - SDWebImage (5.19.7): - SDWebImage/Core (= 5.19.7) - SDWebImage/Core (5.19.7) + - Sentry/HybridSDK (8.40.1) + - sentry_flutter (8.10.1): + - Flutter + - FlutterMacOS + - Sentry/HybridSDK (= 8.40.1) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -237,7 +212,6 @@ DEPENDENCIES: - file_picker (from `.symlinks/plugins/file_picker/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) @@ -252,6 +226,7 @@ DEPENDENCIES: - pasteboard (from `.symlinks/plugins/pasteboard/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`) + - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) @@ -265,21 +240,17 @@ SPEC REPOS: - Firebase - FirebaseAnalytics - FirebaseCore - - FirebaseCoreExtension - FirebaseCoreInternal - - FirebaseCrashlytics - FirebaseInstallations - FirebaseMessaging - - FirebaseRemoteConfigInterop - - FirebaseSessions - GoogleAppMeasurement - GoogleDataTransport - GoogleUtilities - nanopb - PromisesObjC - - PromisesSwift - SAMKeychain - SDWebImage + - Sentry - SwiftyGif EXTERNAL SOURCES: @@ -295,8 +266,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_analytics/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" - firebase_crashlytics: - :path: ".symlinks/plugins/firebase_crashlytics/ios" firebase_messaging: :path: ".symlinks/plugins/firebase_messaging/ios" Flutter: @@ -325,6 +294,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider_foundation/darwin" screen_brightness_ios: :path: ".symlinks/plugins/screen_brightness_ios/ios" + sentry_flutter: + :path: ".symlinks/plugins/sentry_flutter/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite_darwin: @@ -346,17 +317,12 @@ SPEC CHECKSUMS: Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 firebase_analytics: fa7e5b20c2b58042e3301f5112a473d365bd490c firebase_core: 9efc3ecf689cdbc90f13f4dc58108c83ea46b266 - firebase_crashlytics: 72a8b504422ba8bb435a7a0c0a9341320cbcbe29 firebase_messaging: 6bf60adb4b33a848d135e16bc363fb4924f98fba FirebaseAnalytics: 3feef9ae8733c567866342a1000691baaa7cad49 FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 - FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604 - FirebaseCrashlytics: 41bbdd2b514a8523cede0c217aee6ef7ecf38401 FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 FirebaseMessaging: f8a160d99c2c2e5babbbcc90c4a3e15db036aee2 - FirebaseRemoteConfigInterop: 7a7aebb9342d53913a5c890efa88e289d9e5c1bc - FirebaseSessions: 3f56f177d9e53a85021d16b31f9a111849d1dd8b Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_native_splash: e8a1e01082d97a8099d973f919f57904c925008a flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 @@ -374,10 +340,11 @@ SPEC CHECKSUMS: pasteboard: 982969ebaa7c78af3e6cc7761e8f5e77565d9ce0 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c screen_brightness_ios: 715ca807df953bf676d339f11464e438143ee625 SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3 + Sentry: e9215d7b17f7902692b4f8700e061e4f853e3521 + sentry_flutter: 927eed60d66951d1b0f1db37fe94ff5cb7c80231 shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 diff --git a/lib/main.dart b/lib/main.dart index 6b03209..cfeeb25 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,13 +2,13 @@ import 'package:croppy/croppy.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization_loader/easy_localization_loader.dart'; import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:provider/provider.dart'; import 'package:relative_time/relative_time.dart'; import 'package:responsive_framework/responsive_framework.dart'; +import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:surface/firebase_options.dart'; import 'package:surface/providers/channel.dart'; import 'package:surface/providers/navigation.dart'; @@ -41,13 +41,15 @@ void main() async { debugInvertOversizedImages = true; } - FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; - PlatformDispatcher.instance.onError = (error, stack) { - FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); - return true; - }; - - runApp(const SolianApp()); + await SentryFlutter.init( + (options) { + options.dsn = + 'https://c218d44126d59d69301e730498494def@o4506965897117696.ingest.us.sentry.io/4508346768228352'; + options.tracesSampleRate = 1.0; + options.profilesSampleRate = 1.0; + }, + appRunner: () => runApp(const SolianApp()), + ); } class SolianApp extends StatelessWidget { diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 2a32591..a6f6671 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -13,6 +13,7 @@ #include #include #include +#include #include void fl_register_plugins(FlPluginRegistry* registry) { @@ -37,6 +38,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) pasteboard_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "PasteboardPlugin"); pasteboard_plugin_register_with_registrar(pasteboard_registrar); + g_autoptr(FlPluginRegistrar) sentry_flutter_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "SentryFlutterPlugin"); + sentry_flutter_plugin_register_with_registrar(sentry_flutter_registrar); g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 86ef1cf..5a108eb 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -10,6 +10,7 @@ list(APPEND FLUTTER_PLUGIN_LIST media_kit_libs_linux media_kit_video pasteboard + sentry_flutter url_launcher_linux ) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index c569e94..e85a9e7 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -9,7 +9,6 @@ import connectivity_plus import file_selector_macos import firebase_analytics import firebase_core -import firebase_crashlytics import firebase_messaging import flutter_secure_storage_macos import flutter_udid @@ -20,6 +19,7 @@ import package_info_plus import pasteboard import path_provider_foundation import screen_brightness_macos +import sentry_flutter import shared_preferences_foundation import sqflite_darwin import url_launcher_macos @@ -30,7 +30,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FLTFirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAnalyticsPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) - FLTFirebaseCrashlyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCrashlyticsPlugin")) FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterUdidPlugin.register(with: registry.registrar(forPlugin: "FlutterUdidPlugin")) @@ -41,6 +40,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) ScreenBrightnessMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenBrightnessMacosPlugin")) + SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 022e8ef..e1d2e08 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -386,10 +386,10 @@ packages: dependency: transitive description: name: equatable - sha256: b35578f687b79243d39008c44d638474d93e9091e578c970efef41ce0c3fa000 + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" url: "https://pub.dev" source: hosted - version: "2.0.6" + version: "2.0.7" fake_async: dependency: transitive description: @@ -502,22 +502,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.18.1" - firebase_crashlytics: - dependency: "direct main" - description: - name: firebase_crashlytics - sha256: "4e80ef22428dfecf609df8049419c7446c6e1d797d7f307cad3c7ab70e72ddc5" - url: "https://pub.dev" - source: hosted - version: "4.1.5" - firebase_crashlytics_platform_interface: - dependency: transitive - description: - name: firebase_crashlytics_platform_interface - sha256: "1104f428ec5249fff62016985719bb232ca91c4bde0d1a033af9b7d8b7451d70" - url: "https://pub.dev" - source: hosted - version: "3.6.46" firebase_messaging: dependency: "direct main" description: @@ -559,10 +543,10 @@ packages: dependency: "direct main" description: name: flutter_animate - sha256: "7c8a6594a9252dad30cc2ef16e33270b6248c4dedc3b3d06c86c4f3f4dc05ae5" + sha256: "5fc5bb5486624a9ed2d3d9a04a9f7a6a92511f36a030531e092ce819ab3091af" url: "https://pub.dev" source: hosted - version: "4.5.0" + version: "4.5.1" flutter_cache_manager: dependency: transitive description: @@ -742,10 +726,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: "8ae664a70174163b9f65ea68dd8673e29db8f9095de7b5cd00e167c621f4fef5" + sha256: "8660b74171fafae4aa8202100fa2e55349e078281dadc73a241eb8e758534d9d" url: "https://pub.dev" source: hosted - version: "14.6.0" + version: "14.6.1" google_fonts: dependency: "direct main" description: @@ -1410,6 +1394,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.3" + sentry: + dependency: transitive + description: + name: sentry + sha256: "2440763ae96fa8fd1bcdfc224f5232e1b7a09af76a72f4e626ee313a261faf6f" + url: "https://pub.dev" + source: hosted + version: "8.10.1" + sentry_flutter: + dependency: "direct main" + description: + name: sentry_flutter + sha256: "3b30038b3b9303540a8b2c8b1c8f0bb93a207f8e4b25691c59d969ddeb4734fd" + url: "https://pub.dev" + source: hosted + version: "8.10.1" shared_preferences: dependency: "direct main" description: @@ -1478,10 +1478,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.1" sky_engine: dependency: transitive description: flutter @@ -1767,6 +1767,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.0" + visibility_detector: + dependency: transitive + description: + name: visibility_detector + sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420 + url: "https://pub.dev" + source: hosted + version: "0.4.0+2" vm_service: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d9ebe11..38db34e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 2.0.0+6 +version: 2.0.0+7 environment: sdk: ^3.5.4 @@ -82,12 +82,12 @@ dependencies: firebase_core: ^3.8.0 firebase_messaging: ^15.1.5 firebase_analytics: ^11.3.5 - firebase_crashlytics: ^4.1.5 flutter_udid: ^3.0.0 media_kit: ^1.1.11 media_kit_video: ^1.2.5 media_kit_libs_video: ^1.0.5 pasteboard: ^0.3.0 + sentry_flutter: ^8.10.1 dev_dependencies: flutter_test: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 933b9fd..3d874c9 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -16,6 +16,7 @@ #include #include #include +#include #include void RegisterPlugins(flutter::PluginRegistry* registry) { @@ -39,6 +40,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("PasteboardPlugin")); ScreenBrightnessWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenBrightnessWindowsPlugin")); + SentryFlutterPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SentryFlutterPlugin")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 17c314a..b714b75 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -13,6 +13,7 @@ list(APPEND FLUTTER_PLUGIN_LIST media_kit_video pasteboard screen_brightness_windows + sentry_flutter url_launcher_windows )