diff --git a/packages/powersync_core/lib/src/web/sync_controller.dart b/packages/powersync_core/lib/src/web/sync_controller.dart index a24ba578..334281a1 100644 --- a/packages/powersync_core/lib/src/web/sync_controller.dart +++ b/packages/powersync_core/lib/src/web/sync_controller.dart @@ -29,6 +29,7 @@ class SyncWorkerHandle implements StreamingSync { _channel = WorkerCommunicationChannel( port: sendToWorker, errors: EventStreamProviders.errorEvent.forTarget(worker), + logger: database.logger, requestHandler: (type, payload) async { switch (type) { case SyncWorkerMessageType.requestEndpoint: @@ -84,12 +85,13 @@ class SyncWorkerHandle implements StreamingSync { Map? syncParams}) async { final worker = SharedWorker(workerUri.toString().toJS); final handle = SyncWorkerHandle._( - database: database, - connector: connector, - crudThrottleTimeMs: crudThrottleTimeMs, - sendToWorker: worker.port, - worker: worker, - syncParams: syncParams); + database: database, + connector: connector, + crudThrottleTimeMs: crudThrottleTimeMs, + sendToWorker: worker.port, + worker: worker, + syncParams: syncParams, + ); // Make sure that the worker is working, or throw immediately. await handle._channel.ping(); diff --git a/packages/powersync_core/lib/src/web/sync_worker_protocol.dart b/packages/powersync_core/lib/src/web/sync_worker_protocol.dart index f23a18bc..9d8b8484 100644 --- a/packages/powersync_core/lib/src/web/sync_worker_protocol.dart +++ b/packages/powersync_core/lib/src/web/sync_worker_protocol.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:js_interop'; +import 'package:logging/logging.dart'; import 'package:web/web.dart'; import '../connector.dart'; @@ -197,8 +198,6 @@ extension type SerializedSyncStatus._(JSObject _) implements JSObject { } final class WorkerCommunicationChannel { - static final _logger = autoLogger; - final Map> _pendingRequests = {}; int _nextRequestId = 0; bool _hasError = false; @@ -210,6 +209,7 @@ final class WorkerCommunicationChannel { requestHandler; final StreamController<(SyncWorkerMessageType, JSAny)> _events = StreamController(); + final Logger _logger; Stream<(SyncWorkerMessageType, JSAny)> get events => _events.stream; @@ -217,7 +217,8 @@ final class WorkerCommunicationChannel { required this.port, required this.requestHandler, Stream? errors, - }) { + Logger? logger, + }) : _logger = logger ?? autoLogger { port.start(); _incomingErrors = errors?.listen((event) { _hasError = true;