From aee637241c260be4e1c0ffb2573c9fee6478a714 Mon Sep 17 00:00:00 2001 From: Mugi Khan Date: Thu, 19 Sep 2024 16:25:15 +0200 Subject: [PATCH 1/4] Handle `PowersyncNotReadyException` printing the message for the user - Remove unused imports --- .../lib/src/database/powersync_db_mixin.dart | 5 +---- .../native/native_open_factory.dart | 21 ++++++++++++------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/powersync/lib/src/database/powersync_db_mixin.dart b/packages/powersync/lib/src/database/powersync_db_mixin.dart index 7f66cf5f..49bbfa27 100644 --- a/packages/powersync/lib/src/database/powersync_db_mixin.dart +++ b/packages/powersync/lib/src/database/powersync_db_mixin.dart @@ -2,15 +2,12 @@ import 'dart:async'; import 'package:logging/logging.dart'; import 'package:meta/meta.dart'; +import 'package:powersync/powersync.dart'; import 'package:powersync/sqlite3_common.dart'; import 'package:powersync/sqlite_async.dart'; import 'package:powersync/src/abort_controller.dart'; -import 'package:powersync/src/connector.dart'; -import 'package:powersync/src/crud.dart'; import 'package:powersync/src/powersync_update_notification.dart'; -import 'package:powersync/src/schema.dart'; import 'package:powersync/src/schema_logic.dart'; -import 'package:powersync/src/sync_status.dart'; mixin PowerSyncDatabaseMixin implements SqliteConnection { /// Schema used for the local database. diff --git a/packages/powersync/lib/src/open_factory/native/native_open_factory.dart b/packages/powersync/lib/src/open_factory/native/native_open_factory.dart index ef40398c..1fada3b2 100644 --- a/packages/powersync/lib/src/open_factory/native/native_open_factory.dart +++ b/packages/powersync/lib/src/open_factory/native/native_open_factory.dart @@ -13,13 +13,14 @@ class PowerSyncOpenFactory extends AbstractPowerSyncOpenFactory { @Deprecated('Override PowerSyncOpenFactory instead.') final SqliteConnectionSetup? _sqliteSetup; - PowerSyncOpenFactory( - {required super.path, - super.sqliteOptions, - @Deprecated('Override PowerSyncOpenFactory instead.') - SqliteConnectionSetup? sqliteSetup}) - // ignore: deprecated_member_use_from_same_package - : _sqliteSetup = sqliteSetup; + PowerSyncOpenFactory({ + required super.path, + super.sqliteOptions, + @Deprecated('Override PowerSyncOpenFactory instead.') + SqliteConnectionSetup? sqliteSetup, + }) + // ignore: deprecated_member_use_from_same_package + : _sqliteSetup = sqliteSetup; @override void enableExtension() { @@ -66,7 +67,11 @@ class PowerSyncOpenFactory extends AbstractPowerSyncOpenFactory { // ignore: deprecated_member_use_from_same_package _sqliteSetup?.setup(); - enableExtension(); + try { + enableExtension(); + } on PowersyncNotReadyException catch (e) { + autoLogger.severe(e.message); + } var db = super.open(options); db.execute('PRAGMA recursive_triggers = TRUE'); From 8e926d6958386bee2750e739e0ab056c984c7105 Mon Sep 17 00:00:00 2001 From: Mugi Khan Date: Thu, 19 Sep 2024 18:37:22 +0200 Subject: [PATCH 2/4] Rethrow exception --- .../lib/src/open_factory/native/native_open_factory.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/powersync/lib/src/open_factory/native/native_open_factory.dart b/packages/powersync/lib/src/open_factory/native/native_open_factory.dart index 1fada3b2..e2cbd575 100644 --- a/packages/powersync/lib/src/open_factory/native/native_open_factory.dart +++ b/packages/powersync/lib/src/open_factory/native/native_open_factory.dart @@ -71,6 +71,7 @@ class PowerSyncOpenFactory extends AbstractPowerSyncOpenFactory { enableExtension(); } on PowersyncNotReadyException catch (e) { autoLogger.severe(e.message); + rethrow; } var db = super.open(options); From dc05062113f1425f0a2c9c488256722d3c620cb9 Mon Sep 17 00:00:00 2001 From: Mugi Khan Date: Thu, 19 Sep 2024 18:41:37 +0200 Subject: [PATCH 3/4] Revert imports --- packages/powersync/lib/src/database/powersync_db_mixin.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/powersync/lib/src/database/powersync_db_mixin.dart b/packages/powersync/lib/src/database/powersync_db_mixin.dart index 49bbfa27..ef2f8e83 100644 --- a/packages/powersync/lib/src/database/powersync_db_mixin.dart +++ b/packages/powersync/lib/src/database/powersync_db_mixin.dart @@ -2,12 +2,15 @@ import 'dart:async'; import 'package:logging/logging.dart'; import 'package:meta/meta.dart'; -import 'package:powersync/powersync.dart'; +import 'package:powersync/src/connector.dart'; +import 'package:powersync/src/crud.dart'; import 'package:powersync/sqlite3_common.dart'; import 'package:powersync/sqlite_async.dart'; import 'package:powersync/src/abort_controller.dart'; import 'package:powersync/src/powersync_update_notification.dart'; +import 'package:powersync/src/schema.dart'; import 'package:powersync/src/schema_logic.dart'; +import 'package:powersync/src/sync_status.dart'; mixin PowerSyncDatabaseMixin implements SqliteConnection { /// Schema used for the local database. From 6f9f2b85a60ceb9b9c508fc55ba4a7f254a5f346 Mon Sep 17 00:00:00 2001 From: Mugi Khan Date: Thu, 19 Sep 2024 18:42:16 +0200 Subject: [PATCH 4/4] Fix imports --- packages/powersync/lib/src/database/powersync_db_mixin.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/powersync/lib/src/database/powersync_db_mixin.dart b/packages/powersync/lib/src/database/powersync_db_mixin.dart index ef2f8e83..7f66cf5f 100644 --- a/packages/powersync/lib/src/database/powersync_db_mixin.dart +++ b/packages/powersync/lib/src/database/powersync_db_mixin.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:logging/logging.dart'; import 'package:meta/meta.dart'; -import 'package:powersync/src/connector.dart'; -import 'package:powersync/src/crud.dart'; import 'package:powersync/sqlite3_common.dart'; import 'package:powersync/sqlite_async.dart'; import 'package:powersync/src/abort_controller.dart'; +import 'package:powersync/src/connector.dart'; +import 'package:powersync/src/crud.dart'; import 'package:powersync/src/powersync_update_notification.dart'; import 'package:powersync/src/schema.dart'; import 'package:powersync/src/schema_logic.dart';