From 6f35a63f102d50acb08b4c04e5e01a5d2f67d8dd Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Mon, 10 Feb 2025 10:29:25 +0100 Subject: [PATCH] Use regular http package on the web That package uses fetch since version 1.3.0, so there's no need for another dependency on the web. --- .../lib/src/database/web/web_powersync_database.dart | 4 ++-- packages/powersync_core/lib/src/web/sync_worker.dart | 6 +++--- packages/powersync_core/pubspec.yaml | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/powersync_core/lib/src/database/web/web_powersync_database.dart b/packages/powersync_core/lib/src/database/web/web_powersync_database.dart index b981319c..7c51c9d0 100644 --- a/packages/powersync_core/lib/src/database/web/web_powersync_database.dart +++ b/packages/powersync_core/lib/src/database/web/web_powersync_database.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'package:meta/meta.dart'; -import 'package:fetch_client/fetch_client.dart'; +import 'package:http/http.dart'; import 'package:logging/logging.dart'; import 'package:powersync_core/src/abort_controller.dart'; import 'package:powersync_core/src/bucket_storage.dart'; @@ -166,7 +166,7 @@ class PowerSyncDatabaseImpl uploadCrud: () => connector.uploadData(this), crudUpdateTriggerStream: crudStream, retryDelay: Duration(seconds: 3), - client: FetchClient(mode: RequestMode.cors), + client: Client(), syncParameters: params, // Only allows 1 sync implementation to run at a time per database // This should be global (across tabs) when using Navigator locks. diff --git a/packages/powersync_core/lib/src/web/sync_worker.dart b/packages/powersync_core/lib/src/web/sync_worker.dart index ebe6d586..6b6945ad 100644 --- a/packages/powersync_core/lib/src/web/sync_worker.dart +++ b/packages/powersync_core/lib/src/web/sync_worker.dart @@ -8,14 +8,14 @@ import 'dart:convert'; import 'dart:js_interop'; import 'package:async/async.dart'; -import 'package:fetch_client/fetch_client.dart'; +import 'package:http/http.dart'; import 'package:logging/logging.dart'; import 'package:powersync_core/powersync_core.dart'; import 'package:powersync_core/sqlite_async.dart'; import 'package:powersync_core/src/database/powersync_db_mixin.dart'; import 'package:powersync_core/src/streaming_sync.dart'; import 'package:sqlite_async/web.dart'; -import 'package:web/web.dart' hide RequestMode; +import 'package:web/web.dart' hide Client; import 'sync_worker_protocol.dart'; import 'web_bucket_storage.dart'; @@ -265,7 +265,7 @@ class _SyncRunner { uploadCrud: client.channel.uploadCrud, crudUpdateTriggerStream: crudStream, retryDelay: Duration(seconds: 3), - client: FetchClient(mode: RequestMode.cors), + client: Client(), identifier: identifier, syncParameters: syncParams); sync!.statusStream.listen((event) { diff --git a/packages/powersync_core/pubspec.yaml b/packages/powersync_core/pubspec.yaml index 41ff0733..55eb28c4 100644 --- a/packages/powersync_core/pubspec.yaml +++ b/packages/powersync_core/pubspec.yaml @@ -16,12 +16,11 @@ dependencies: sqlite3_web: ^0.3.0 universal_io: ^2.0.0 meta: ^1.0.0 - http: ^1.1.0 + http: ^1.3.0 uuid: ^4.2.0 async: ^2.10.0 logging: ^1.1.1 collection: ^1.17.0 - fetch_client: ^1.1.2 web: ^1.0.0 # Only used internally to download WASM / worker files.