diff --git a/lib/main.dart b/lib/main.dart index a8d0064f4..0dcbe6b6d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -50,6 +50,7 @@ import 'package:cake_wallet/wallet_type_utils.dart'; final navigatorKey = GlobalKey(); final rootKey = GlobalKey(); final RouteObserver routeObserver = RouteObserver(); +bool hasError = false; Future main() async { @@ -206,11 +207,16 @@ void _sendExceptionFile() async { } void _onError(FlutterErrorDetails errorDetails) { + if (hasError) { + return; + } + + hasError = true; _saveException(errorDetails.exception.toString(), errorDetails.stack); WidgetsBinding.instance.addPostFrameCallback( - (timeStamp) { - showPopUp( + (timeStamp) async { + await showPopUp( context: navigatorKey.currentContext!, builder: (context) { return AlertWithTwoActions( @@ -229,6 +235,8 @@ void _onError(FlutterErrorDetails errorDetails) { ); }, ); + + hasError = false; }, ); }