improve error handling (#1451)

Omar Hatem committed May 14, 2024 at 04:27 UTC c12b4f5ff611810edf8e3668c0c26b25049ecada
4 files changed +37 -32
lib/main.dart
+25 -20
@@ -47,6 +47,7 @@ final rootKey = GlobalKey<RootState>();
47 final RouteObserver<PageRoute<dynamic>> routeObserver = RouteObserver<PageRoute<dynamic>>();
48
49 Future<void> main() async {
50 + bool isAppRunning = false;
51 await runZonedGuarded(() async {
52 WidgetsFlutterBinding.ensureInitialized();
53
@@ -67,31 +68,35 @@ Future<void> main() async {
68 await initializeAppConfigs();
69
70 runApp(App());
71 +
72 + isAppRunning = true;
73 }, (error, stackTrace) async {
71 - runApp(
72 - MaterialApp(
73 - debugShowCheckedModeBanner: false,
74 - home: Scaffold(
75 - body: SingleChildScrollView(
76 - child: Container(
77 - margin: EdgeInsets.only(top: 50, left: 20, right: 20, bottom: 20),
78 - child: Column(
79 - children: [
80 - Text(
81 - 'Error:\n${error.toString()}',
82 - style: TextStyle(fontSize: 22),
83 - ),
84 - Text(
85 - 'Stack trace:\n${stackTrace.toString()}',
86 - style: TextStyle(fontSize: 16),
87 - ),
88 - ],
74 + if (!isAppRunning) {
75 + runApp(
76 + MaterialApp(
77 + debugShowCheckedModeBanner: false,
78 + home: Scaffold(
79 + body: SingleChildScrollView(
80 + child: Container(
81 + margin: EdgeInsets.only(top: 50, left: 20, right: 20, bottom: 20),
82 + child: Column(
83 + children: [
84 + Text(
85 + 'Error:\n${error.toString()}',
86 + style: TextStyle(fontSize: 22),
87 + ),
88 + Text(
89 + 'Stack trace:\n${stackTrace.toString()}',
90 + style: TextStyle(fontSize: 16),
91 + ),
92 + ],
93 + ),
94 ),
95 ),
96 ),
97 ),
93 - ),
94 - );
98 + );
99 + }
100
101 ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stackTrace));
102 });
scripts/android/app_env.sh
+4 -4
@@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
15 APP_ANDROID_TYPE=$1
16
17 MONERO_COM_NAME="Monero.com"
18 -MONERO_COM_VERSION="1.13.1"
19 -MONERO_COM_BUILD_NUMBER=87
18 +MONERO_COM_VERSION="1.13.2"
19 +MONERO_COM_BUILD_NUMBER=88
20 MONERO_COM_BUNDLE_ID="com.monero.app"
21 MONERO_COM_PACKAGE="com.monero.app"
22 MONERO_COM_SCHEME="monero.com"
23
24 CAKEWALLET_NAME="Cake Wallet"
25 -CAKEWALLET_VERSION="4.16.1"
26 -CAKEWALLET_BUILD_NUMBER=211
25 +CAKEWALLET_VERSION="4.16.2"
26 +CAKEWALLET_BUILD_NUMBER=212
27 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29 CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4 -4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13 APP_IOS_TYPE=$1
14
15 MONERO_COM_NAME="Monero.com"
16 -MONERO_COM_VERSION="1.13.1"
17 -MONERO_COM_BUILD_NUMBER=85
16 +MONERO_COM_VERSION="1.13.2"
17 +MONERO_COM_BUILD_NUMBER=86
18 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20 CAKEWALLET_NAME="Cake Wallet"
21 -CAKEWALLET_VERSION="4.16.1"
22 -CAKEWALLET_BUILD_NUMBER=239
21 +CAKEWALLET_VERSION="4.16.2"
22 +CAKEWALLET_BUILD_NUMBER=240
23 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25 HAVEN_NAME="Haven"
scripts/macos/app_env.sh
+4 -4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16 fi
17
18 MONERO_COM_NAME="Monero.com"
19 -MONERO_COM_VERSION="1.3.1"
20 -MONERO_COM_BUILD_NUMBER=18
19 +MONERO_COM_VERSION="1.3.2"
20 +MONERO_COM_BUILD_NUMBER=19
21 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23 CAKEWALLET_NAME="Cake Wallet"
24 -CAKEWALLET_VERSION="1.9.1"
25 -CAKEWALLET_BUILD_NUMBER=72
24 +CAKEWALLET_VERSION="1.9.2"
25 +CAKEWALLET_BUILD_NUMBER=73
26 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then