chore: Delete database after failed to create

This commit is contained in:
krille-chan 2023-12-31 09:05:04 +01:00
parent ac5bd56c03
commit 4d7d5bf181
No known key found for this signature in database

View file

@ -18,16 +18,28 @@ import 'package:fluffychat/utils/matrix_sdk_extensions/flutter_hive_collections_
import 'package:fluffychat/utils/platform_infos.dart'; import 'package:fluffychat/utils/platform_infos.dart';
Future<DatabaseApi> flutterMatrixSdkDatabaseBuilder(Client client) async { Future<DatabaseApi> flutterMatrixSdkDatabaseBuilder(Client client) async {
MatrixSdkDatabase? database;
try { try {
final database = await _constructDatabase(client); database = await _constructDatabase(client);
await database.open(); await database.open();
return database; return database;
} catch (e) { } catch (e) {
// Try to delete database so that it can created again on next init:
database?.delete().catchError(
(e, s) => Logs().w(
'Unable to delete database, after failed construction',
e,
s,
),
);
// Send error notification:
final l10n = lookupL10n(PlatformDispatcher.instance.locale); final l10n = lookupL10n(PlatformDispatcher.instance.locale);
ClientManager.sendInitNotification( ClientManager.sendInitNotification(
l10n.initAppError, l10n.initAppError,
l10n.databaseBuildErrorBody(AppConfig.newIssueUrl.toString()), l10n.databaseBuildErrorBody(AppConfig.newIssueUrl.toString()),
); );
return FlutterHiveCollectionsDatabase.databaseBuilder(client); return FlutterHiveCollectionsDatabase.databaseBuilder(client);
} }
} }