diff --git a/lib/main.dart b/lib/main.dart index a8d0064f4..af7bb9eff 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 { @@ -208,9 +209,14 @@ void _sendExceptionFile() async { void _onError(FlutterErrorDetails errorDetails) { _saveException(errorDetails.exception.toString(), errorDetails.stack); + if (hasError) { + return; + } + hasError = true; + 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; }, ); }