Skip to content

Commit 9fb2ec7

Browse files
committed
Passing null payloads to control (if exists). Invoke notifyCompletedUploads after crud upload completes.
1 parent 0e012b8 commit 9fb2ec7

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

PowerSync/PowerSync.Common/Client/Sync/Bucket/SqliteBucketStorage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ public async Task<string> Control(string op, object? payload = null)
443443
{
444444
return await db.WriteTransaction(async tx =>
445445
{
446-
var result = await tx.Get<ControlResult>("SELECT powersync_control(?, ?) AS r", [op, payload ?? ""]);
446+
var result = await tx.Get<ControlResult>("SELECT powersync_control(?, ?) AS r", [op, payload]);
447447
return result.r!;
448448
});
449449
}

PowerSync/PowerSync.Common/Client/Sync/Stream/StreamingSyncImplementation.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ public class StreamingSyncImplementation : EventStream<StreamingSyncImplementati
141141
private Task? streamingSyncTask;
142142
public Action TriggerCrudUpload { get; }
143143
private CancellationTokenSource? crudUpdateCts;
144+
145+
private bool isUploadingCrud;
144146
private Action? notifyCompletedUploads; private readonly ILogger logger;
145147

146148
private readonly StreamingSyncLocks locks;
@@ -162,19 +164,24 @@ public StreamingSyncImplementation(StreamingSyncImplementationOptions options)
162164

163165
locks = new StreamingSyncLocks();
164166
logger = options.Logger ?? NullLogger.Instance;
167+
isUploadingCrud = false;
165168

166169
CancellationTokenSource = null;
167170

168171
TriggerCrudUpload = () =>
169172
{
170-
if (!SyncStatus.Connected)
173+
if (!SyncStatus.Connected || isUploadingCrud)
171174
{
172175
return;
173176
}
174177

175-
notifyCompletedUploads?.Invoke();
176-
177-
Task.Run(async () => await InternalUploadAllCrud());
178+
isUploadingCrud = true;
179+
Task.Run(async () =>
180+
{
181+
await InternalUploadAllCrud();
182+
notifyCompletedUploads?.Invoke();
183+
isUploadingCrud = false;
184+
});
178185
};
179186
}
180187

PowerSync/PowerSync.Common/DB/Crud/SyncStatus.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class SyncDataFlowStatus
3333

3434
public class SyncPriorityStatus
3535
{
36-
[JsonProperty("uploading")] public int Priority { get; set; }
36+
[JsonProperty("priority")] public int Priority { get; set; }
3737

3838
[JsonProperty("lastSyncedAt")] public DateTime? LastSyncedAt { get; set; }
3939

Tests/PowerSync/PowerSync.Common.IntegrationTests/SyncIntegrationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public async Task InitializeAsync()
4949
{
5050
await db.Connect(connector, new PowerSyncConnectionOptions
5151
{
52-
ClientImplementation = SyncClientImplementation.C_SHARP,
52+
ClientImplementation = SyncClientImplementation.RUST,
5353
});
5454
await db.WaitForFirstSync();
5555
}

0 commit comments

Comments
 (0)