diff --git a/packages/common/src/client/AbstractPowerSyncDatabase.ts b/packages/common/src/client/AbstractPowerSyncDatabase.ts index 33cdeafef..24b35a123 100644 --- a/packages/common/src/client/AbstractPowerSyncDatabase.ts +++ b/packages/common/src/client/AbstractPowerSyncDatabase.ts @@ -352,7 +352,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver s.priority <= priority); + const priorityStates = this.syncStatus.priorityStatusEntries.filter((s) => s.priority <= priority); priorityStates.push({ priority, lastSyncedAt: new Date(), @@ -619,7 +619,7 @@ The next upload iteration will be delayed.`); this.updateSyncStatus({ connected: true, - priorityStatuses: priorityStates + priorityStatusEntries: priorityStates }); } } else if (isStreamingSyncCheckpointDiff(line)) { @@ -688,7 +688,7 @@ The next upload iteration will be delayed.`); this.updateSyncStatus({ connected: true, lastSyncedAt: new Date(), - priorityStatuses: [] + priorityStatusEntries: [] }); } else if (validatedCheckpoint === targetCheckpoint) { const result = await this.options.adapter.syncLocalDatabase(targetCheckpoint!); @@ -705,7 +705,7 @@ The next upload iteration will be delayed.`); this.updateSyncStatus({ connected: true, lastSyncedAt: new Date(), - priorityStatuses: [], + priorityStatusEntries: [], dataFlow: { downloading: false } @@ -730,7 +730,7 @@ The next upload iteration will be delayed.`); ...this.syncStatus.dataFlowStatus, ...options.dataFlow }, - priorityStatuses: options.priorityStatuses ?? this.syncStatus.priorityStatuses + priorityStatusEntries: options.priorityStatusEntries ?? this.syncStatus.priorityStatusEntries }); if (!this.syncStatus.isEqual(updatedStatus)) { diff --git a/packages/common/src/db/crud/SyncStatus.ts b/packages/common/src/db/crud/SyncStatus.ts index cbfa1b0a1..07517f124 100644 --- a/packages/common/src/db/crud/SyncStatus.ts +++ b/packages/common/src/db/crud/SyncStatus.ts @@ -15,7 +15,7 @@ export type SyncStatusOptions = { dataFlow?: SyncDataFlowStatus; lastSyncedAt?: Date; hasSynced?: boolean; - priorityStatuses?: SyncPriorityStatus[]; + priorityStatusEntries?: SyncPriorityStatus[]; }; export class SyncStatus { @@ -70,8 +70,8 @@ export class SyncStatus { /** * Partial sync status for involved bucket priorities. */ - get priorityStatuses() { - return (this.options.priorityStatuses ?? []).toSorted(SyncStatus.comparePriorities); + get priorityStatusEntries() { + return (this.options.priorityStatusEntries ?? []).toSorted(SyncStatus.comparePriorities); } /** @@ -90,8 +90,8 @@ export class SyncStatus { * @param priority The bucket priority for which the status should be reported. */ statusForPriority(priority: number): SyncPriorityStatus { - // priorityStatuses are sorted by ascending priorities (so higher numbers to lower numbers). - for (const known of this.priorityStatuses) { + // priorityStatusEntries are sorted by ascending priorities (so higher numbers to lower numbers). + for (const known of this.priorityStatusEntries) { // We look for the first entry that doesn't have a higher priority. if (known.priority >= priority) { return known; @@ -122,7 +122,7 @@ export class SyncStatus { dataFlow: this.dataFlowStatus, lastSyncedAt: this.lastSyncedAt, hasSynced: this.hasSynced, - priorityStatuses: this.priorityStatuses + priorityStatusEntries: this.priorityStatusEntries }; } diff --git a/packages/web/tests/stream.test.ts b/packages/web/tests/stream.test.ts index 108e41a80..52989c7e7 100644 --- a/packages/web/tests/stream.test.ts +++ b/packages/web/tests/stream.test.ts @@ -249,7 +249,7 @@ describe( }); await another.init(); - expect(another.currentStatus.priorityStatuses).toHaveLength(1); + expect(another.currentStatus.priorityStatusEntries).toHaveLength(1); expect(another.currentStatus.statusForPriority(0).hasSynced).toBeTruthy(); await another.waitForFirstSync({ priority: 0 }); });