diff --git a/addons/dexie-cloud/src/sync/listSyncifiedChanges.ts b/addons/dexie-cloud/src/sync/listSyncifiedChanges.ts index 150643e68..46696af97 100644 --- a/addons/dexie-cloud/src/sync/listSyncifiedChanges.ts +++ b/addons/dexie-cloud/src/sync/listSyncifiedChanges.ts @@ -32,7 +32,7 @@ export async function listSyncifiedChanges( return ( !ignoredRealms.has(item.realmId || '') && //(id[0] !== '#' || !!item.$ts) && // Private obj need no sync if not changed - isValidSyncableID(id) + isValidAtID(extractKey(item), dexieCloudTableSchema?.idPrefix) ); }) : table.filter((item) => { @@ -41,7 +41,7 @@ export async function listSyncifiedChanges( return ( !ignoredRealms.has(item.realmId || '') && //(id[0] !== '#' || !!item.$ts) && // Private obj need no sync if not changed - isValidAtID(extractKey(item), dexieCloudTableSchema?.idPrefix) + isValidSyncableID(id) ); }); const unsyncedObjects = await query.toArray(); diff --git a/addons/dexie-cloud/src/sync/sync.ts b/addons/dexie-cloud/src/sync/sync.ts index 1b8bd8171..3b5fee10f 100644 --- a/addons/dexie-cloud/src/sync/sync.ts +++ b/addons/dexie-cloud/src/sync/sync.ts @@ -144,10 +144,10 @@ async function _sync( // Prepare for syncification by modifying locally unauthorized objects: // const persistedSyncState = await db.getPersistedSyncState(); - const tablesToSyncify = - !isInitialSync && currentUser.isLoggedIn - ? getTablesToSyncify(db, persistedSyncState) - : []; + const readyForSyncification = !isInitialSync && currentUser.isLoggedIn; + const tablesToSyncify = readyForSyncification + ? getTablesToSyncify(db, persistedSyncState) + : []; throwIfCancelled(cancelToken); const doSyncify = tablesToSyncify.length > 0; @@ -327,9 +327,11 @@ async function _sync( inviteRealms: [], clientIdentity, }; - newSyncState.syncedTables = tablesToSync - .map((tbl) => tbl.name) - .concat(tablesToSyncify.map((tbl) => tbl.name)); + if (readyForSyncification) { + newSyncState.syncedTables = tablesToSync + .map((tbl) => tbl.name) + .concat(tablesToSyncify.map((tbl) => tbl.name)); + } newSyncState.latestRevisions = latestRevisions; newSyncState.remoteDbId = res.dbId; newSyncState.initiallySynced = true;