Skip to content

Commit

Permalink
Merge pull request #231 from powersync-ja/fix/sync-worker-logs
Browse files Browse the repository at this point in the history
Use database logger for sync protocol
  • Loading branch information
simolus3 authored Jan 27, 2025
2 parents 52dc8ef + eab1c26 commit 05e0526
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
14 changes: 8 additions & 6 deletions packages/powersync_core/lib/src/web/sync_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -84,12 +85,13 @@ class SyncWorkerHandle implements StreamingSync {
Map<String, dynamic>? 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();
Expand Down
7 changes: 4 additions & 3 deletions packages/powersync_core/lib/src/web/sync_worker_protocol.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -197,8 +198,6 @@ extension type SerializedSyncStatus._(JSObject _) implements JSObject {
}

final class WorkerCommunicationChannel {
static final _logger = autoLogger;

final Map<int, Completer<JSAny?>> _pendingRequests = {};
int _nextRequestId = 0;
bool _hasError = false;
Expand All @@ -210,14 +209,16 @@ final class WorkerCommunicationChannel {
requestHandler;
final StreamController<(SyncWorkerMessageType, JSAny)> _events =
StreamController();
final Logger _logger;

Stream<(SyncWorkerMessageType, JSAny)> get events => _events.stream;

WorkerCommunicationChannel({
required this.port,
required this.requestHandler,
Stream<Event>? errors,
}) {
Logger? logger,
}) : _logger = logger ?? autoLogger {
port.start();
_incomingErrors = errors?.listen((event) {
_hasError = true;
Expand Down

0 comments on commit 05e0526

Please sign in to comment.