diff --git a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart index 8521b1ffc..a2df2558d 100644 --- a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart +++ b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart @@ -8,7 +8,6 @@ import 'package:path_provider/path_provider.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:universal_html/html.dart' as html; -import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/utils/client_manager.dart'; import 'package:fluffychat/utils/platform_infos.dart'; @@ -25,6 +24,18 @@ Future flutterMatrixSdkDatabaseBuilder(String clientName) async { return database; } catch (e, s) { Logs().wtf('Unable to construct database!', e, s); + + try { + // Send error notification: + final l10n = await lookupL10n(PlatformDispatcher.instance.locale); + ClientManager.sendInitNotification( + l10n.initAppError, + e.toString(), + ); + } catch (e, s) { + Logs().e('Unable to send error notification', e, s); + } + // Try to delete database so that it can created again on next init: database?.delete().catchError( (e, s) => Logs().wtf( @@ -35,25 +46,11 @@ Future flutterMatrixSdkDatabaseBuilder(String clientName) async { ); // Delete database file: - if (database == null && !kIsWeb) { + if (!kIsWeb) { final dbFile = File(await _getDatabasePath(clientName)); if (await dbFile.exists()) await dbFile.delete(); } - try { - // Send error notification: - final l10n = await lookupL10n(PlatformDispatcher.instance.locale); - ClientManager.sendInitNotification( - l10n.initAppError, - l10n.databaseBuildErrorBody( - AppConfig.newIssueUrl.toString(), - e.toString(), - ), - ); - } catch (e, s) { - Logs().e('Unable to send error notification', e, s); - } - rethrow; } }