@peers-app/peers-device 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-group.js","sourceRoot":"","sources":["../src/sync-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-group.js","sourceRoot":"","sources":["../src/sync-group.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,11 @@ export declare class TrackedDataSource<T extends {
36
36
  private applyChangesPromise;
37
37
  applyChanges(changes: IChangeRecord[]): Promise<void>;
38
38
  private _applyChanges;
39
+ /**
40
+ * Fallback method for applying changes without transactions.
41
+ * Used when the database doesn't support transactions or when a transaction fails.
42
+ */
43
+ private _applyChangesNonTransactional;
39
44
  get(id: string): Promise<T | undefined>;
40
45
  list(filter?: DataFilter<T>, opts?: IDataQueryParams<T>): Promise<T[]>;
41
46
  count(filter?: DataFilter<T>): Promise<number>;
@@ -263,27 +263,21 @@ class TrackedDataSource {
263
263
  const allChanges = (0, lodash_1.chain)([...activeExistingChanges, ...newChanges])
264
264
  .uniqBy("changeId")
265
265
  .value();
266
- // write superseded changes to db (if preserving history)
266
+ // Collect superseded changes for later processing (if preserving history)
267
267
  const newSupersededChanges = newChanges.filter(c => c.supersededAt);
268
- if (this.preserveHistory && newSupersededChanges.length) {
269
- for (const newSupersededChange of newSupersededChanges) {
270
- try {
271
- await this.changeTrackingTable.insert(newSupersededChange);
272
- }
273
- catch (e) {
274
- console.warn(`Skipping invalid superseded change for recordId: ${newSupersededChange.recordId}, changeId: ${newSupersededChange.changeId}`, e);
275
- }
276
- }
277
- }
278
268
  const newActiveChanges = newChanges.filter(c => !c.supersededAt);
279
- if (newActiveChanges.length === 0) {
280
- // No new active changes to apply
269
+ if (newActiveChanges.length === 0 && !(this.preserveHistory && newSupersededChanges.length)) {
270
+ // No new active changes to apply and no superseded changes to preserve
281
271
  return;
282
272
  }
283
273
  const allActiveChanges = allChanges.filter(c => !c.supersededAt);
284
274
  const batchTimestamp = (0, peers_sdk_1.getTimestamp)();
285
275
  const groupedActiveChanges = (0, lodash_1.groupBy)(allActiveChanges, "recordId");
286
276
  const supersededChanges = [];
277
+ // Collect all write operations to execute in a transaction
278
+ const recordsToSave = [];
279
+ const recordsToDelete = [];
280
+ const changesToEmit = [];
287
281
  for (const recordId of Object.keys(groupedActiveChanges)) {
288
282
  // changes for this record sorted in reverse order (newest first) for superseding logic
289
283
  const recordChangesActiveReverse = (0, lodash_1.sortBy)(groupedActiveChanges[recordId], ['createdAt', 'changeId']).reverse();
@@ -304,7 +298,7 @@ class TrackedDataSource {
304
298
  }
305
299
  if (newActiveChanges.includes(lastFullWrite)) {
306
300
  // if this delete is a new change, we need to apply it to the data source
307
- await this.dataSource.delete(recordId);
301
+ recordsToDelete.push(recordId);
308
302
  }
309
303
  continue;
310
304
  }
@@ -362,25 +356,145 @@ class TrackedDataSource {
362
356
  console.error(`Failed to apply changes for recordId: ${recordId}, skipping`);
363
357
  continue;
364
358
  }
365
- // Save the final record state first to ensure the underlying dataSource accepts it
366
- // TODO if an error is thrown we shouldn't save the changes or update superseded status
359
+ // Queue the record for saving
360
+ recordsToSave.push(finalRecord);
361
+ }
362
+ // Set appliedAt timestamp for all new active changes
363
+ for (const change of newActiveChanges) {
364
+ change.appliedAt = batchTimestamp;
365
+ if (!supersededChanges.includes(change)) {
366
+ changesToEmit.push(change);
367
+ }
368
+ }
369
+ // Check if we can use transactions (database supports it)
370
+ const db = this.changeTrackingTable.db;
371
+ const supportsTransactions = typeof db.runInTransaction === 'function';
372
+ // Get the underlying SQLDataSource for sync operations if available
373
+ let underlyingDataSource = null;
374
+ let ds = this.dataSource;
375
+ while (ds) {
376
+ if (ds instanceof peers_sdk_1.SQLDataSource) {
377
+ underlyingDataSource = ds;
378
+ break;
379
+ }
380
+ ds = ds.dataSource;
381
+ }
382
+ if (supportsTransactions && underlyingDataSource) {
383
+ // Execute all writes in a single transaction for performance
367
384
  try {
368
- await this.dataSource.save(finalRecord);
385
+ // Ensure tables are initialized before transaction (async operations)
386
+ await this.changeTrackingTable.initTable();
387
+ await underlyingDataSource.initTable();
388
+ db.runInTransaction(() => {
389
+ // Save all records
390
+ for (const record of recordsToSave) {
391
+ try {
392
+ underlyingDataSource.saveSync(record);
393
+ }
394
+ catch (e) {
395
+ console.warn(`Failed to save record in transaction: ${record[this.primaryKeyName]}`, e);
396
+ }
397
+ }
398
+ // Delete all records marked for deletion
399
+ for (const recordId of recordsToDelete) {
400
+ try {
401
+ underlyingDataSource.deleteSync(recordId);
402
+ }
403
+ catch (e) {
404
+ console.warn(`Failed to delete record in transaction: ${recordId}`, e);
405
+ }
406
+ }
407
+ // Insert superseded changes if preserving history
408
+ if (this.preserveHistory && newSupersededChanges.length) {
409
+ for (const change of newSupersededChanges) {
410
+ try {
411
+ this.changeTrackingTable.insertSync(change);
412
+ }
413
+ catch (e) {
414
+ // Silently skip - these are optional historical records
415
+ }
416
+ }
417
+ }
418
+ // Insert all new active changes
419
+ for (const change of newActiveChanges) {
420
+ try {
421
+ this.changeTrackingTable.insertSync(change);
422
+ }
423
+ catch (e) {
424
+ if (e.code === 'SQLITE_CONSTRAINT_PRIMARYKEY') {
425
+ console.warn(`Change already exists: ${change.changeId}`);
426
+ }
427
+ else {
428
+ throw e;
429
+ }
430
+ }
431
+ }
432
+ // Handle superseded changes
433
+ if (supersededChanges.length > 0) {
434
+ if (this.preserveHistory) {
435
+ this.changeTrackingTable.batchMarkSupersededSync(supersededChanges.map(change => ({
436
+ changeId: change.changeId,
437
+ supersededAt: change.supersededAt || batchTimestamp,
438
+ })));
439
+ }
440
+ else {
441
+ this.changeTrackingTable.deleteChangesSync(supersededChanges.map(change => change.changeId));
442
+ this.changeTrackingTable.deleteSupersededChangesOlderThanSync(this.tableName, batchTimestamp);
443
+ }
444
+ }
445
+ });
369
446
  }
370
447
  catch (e) {
371
- // TODO we could improve this by trying to find which change caused the failure and just skip that one
372
- console.warn(`Failed to save final record for recordId: ${recordId}, skipping changes`, e);
373
- for (const change of writtenChanges) {
374
- if (newActiveChanges.includes(change)) {
375
- newActiveChanges.splice(newActiveChanges.indexOf(change), 1);
376
- }
448
+ console.error(`Transaction failed in applyChanges, falling back to individual operations`, e);
449
+ // Fall through to non-transactional path
450
+ await this._applyChangesNonTransactional(recordsToSave, recordsToDelete, newSupersededChanges, newActiveChanges, supersededChanges, batchTimestamp);
451
+ }
452
+ }
453
+ else {
454
+ // Fallback: execute writes individually (original behavior)
455
+ await this._applyChangesNonTransactional(recordsToSave, recordsToDelete, newSupersededChanges, newActiveChanges, supersededChanges, batchTimestamp);
456
+ }
457
+ // Emit change events (always done after writes complete)
458
+ for (const change of changesToEmit) {
459
+ this.changeTrackingTable.dataChangedEmitter.emit(change);
460
+ }
461
+ }
462
+ /**
463
+ * Fallback method for applying changes without transactions.
464
+ * Used when the database doesn't support transactions or when a transaction fails.
465
+ */
466
+ async _applyChangesNonTransactional(recordsToSave, recordsToDelete, newSupersededChanges, newActiveChanges, supersededChanges, batchTimestamp) {
467
+ // Save all records
468
+ for (const record of recordsToSave) {
469
+ try {
470
+ await this.dataSource.save(record);
471
+ }
472
+ catch (e) {
473
+ console.warn(`Failed to save final record for recordId: ${record[this.primaryKeyName]}, skipping changes`, e);
474
+ }
475
+ }
476
+ // Delete all records marked for deletion
477
+ for (const recordId of recordsToDelete) {
478
+ try {
479
+ await this.dataSource.delete(recordId);
480
+ }
481
+ catch (e) {
482
+ console.warn(`Failed to delete record: ${recordId}`, e);
483
+ }
484
+ }
485
+ // Insert superseded changes if preserving history
486
+ if (this.preserveHistory && newSupersededChanges.length) {
487
+ for (const newSupersededChange of newSupersededChanges) {
488
+ try {
489
+ await this.changeTrackingTable.insert(newSupersededChange);
490
+ }
491
+ catch (e) {
492
+ console.warn(`Skipping invalid superseded change for recordId: ${newSupersededChange.recordId}, changeId: ${newSupersededChange.changeId}`, e);
377
493
  }
378
494
  }
379
495
  }
380
- // Now save all new changes and mark superseded changes
381
- // TODO: make this a bulk insert
496
+ // Insert all new active changes
382
497
  for (const change of newActiveChanges) {
383
- change.appliedAt = batchTimestamp;
384
498
  await this.changeTrackingTable.insert(change).catch(e => {
385
499
  if (e.code === 'SQLITE_CONSTRAINT_PRIMARYKEY') {
386
500
  console.warn(`Attempted to insert a change that already exists for recordId: ${change.recordId}, changeId: ${change.changeId}`);
@@ -388,22 +502,16 @@ class TrackedDataSource {
388
502
  }
389
503
  throw new Error(`Failed to save change for recordId: ${change.recordId}, changeId: ${change.changeId}, state corrupted: ${e.message}`, { cause: e });
390
504
  });
391
- if (!supersededChanges.includes(change)) {
392
- this.changeTrackingTable.dataChangedEmitter.emit(change);
393
- }
394
505
  }
395
- // NOTE: if something interrupts this, it will will just do it the next time applyChanges is called
396
- // because the superseding flag is just an optimization
506
+ // Handle superseded changes
397
507
  if (supersededChanges.length > 0) {
398
508
  if (this.preserveHistory) {
399
- // update superseded changes in place
400
509
  await this.changeTrackingTable.batchMarkSuperseded(supersededChanges.map(change => ({
401
510
  changeId: change.changeId,
402
511
  supersededAt: change.supersededAt || batchTimestamp,
403
512
  })));
404
513
  }
405
514
  else {
406
- // delete superseded changes
407
515
  await this.changeTrackingTable.deleteChanges(supersededChanges.map(change => change.changeId));
408
516
  await this.changeTrackingTable.deleteSupersededChangesOlderThan(this.tableName, batchTimestamp);
409
517
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tracked-data-source.js","sourceRoot":"","sources":["../src/tracked-data-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked-data-source.js","sourceRoot":"","sources":["../src/tracked-data-source.ts"],"names":[],"mappings":"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"}
@@ -865,5 +865,164 @@ describe('TrackedDataSource', () => {
865
865
  expect(arrayChange.value).toEqual([[{ b: 2 }, { c: 2 }, 2], 3]);
866
866
  });
867
867
  });
868
+ describe('Transaction Support', () => {
869
+ it('should support runInTransaction on DBLocal', async () => {
870
+ // Verify that DBLocal supports transactions
871
+ expect(typeof db.runInTransaction).toBe('function');
872
+ });
873
+ it('should apply multiple changes in a single transaction via applyChanges', async () => {
874
+ // Create a separate "remote" data source to generate changes
875
+ const [changeTrackingTableRemote, trackedTableRemote] = await dataSourceFactory();
876
+ // Insert multiple records on the remote
877
+ const records = [];
878
+ for (let i = 0; i < 10; i++) {
879
+ const note = await trackedTableRemote.insert({
880
+ noteId: (0, peers_sdk_1.newid)(),
881
+ title: `note ${i}`,
882
+ completed: false
883
+ });
884
+ records.push(note);
885
+ }
886
+ // Get all changes from remote
887
+ const remoteChanges = await changeTrackingTableRemote.list({});
888
+ // Apply all changes to local - this should use transaction batching
889
+ await trackedTable.applyChanges(remoteChanges);
890
+ // Verify all records were applied
891
+ for (const record of records) {
892
+ const localRecord = await trackedTable.get(record.noteId);
893
+ expect(localRecord).toEqual(record);
894
+ }
895
+ // Verify all changes were recorded
896
+ const localChanges = await changeTrackingTable.list({});
897
+ expect(localChanges.length).toBe(remoteChanges.length);
898
+ });
899
+ it('should handle large batches of changes efficiently', async () => {
900
+ // Create a separate "remote" data source
901
+ const [changeTrackingTableRemote, trackedTableRemote] = await dataSourceFactory();
902
+ // Insert many records
903
+ const recordCount = 50;
904
+ const records = [];
905
+ for (let i = 0; i < recordCount; i++) {
906
+ const note = await trackedTableRemote.insert({
907
+ noteId: (0, peers_sdk_1.newid)(),
908
+ title: `note ${i}`,
909
+ completed: i % 2 === 0,
910
+ count: i,
911
+ });
912
+ records.push(note);
913
+ }
914
+ // Update some of them
915
+ for (let i = 0; i < 10; i++) {
916
+ records[i].title = `updated note ${i}`;
917
+ await trackedTableRemote.update(records[i]);
918
+ }
919
+ // Get all changes from remote
920
+ const remoteChanges = await changeTrackingTableRemote.list({});
921
+ // Measure time to apply all changes
922
+ const startTime = Date.now();
923
+ await trackedTable.applyChanges(remoteChanges);
924
+ const endTime = Date.now();
925
+ // Verify all records were applied correctly
926
+ for (const record of records) {
927
+ const localRecord = await trackedTable.get(record.noteId);
928
+ expect(localRecord?.title).toBe(record.title);
929
+ }
930
+ // Log performance (informational)
931
+ console.log(`Applied ${remoteChanges.length} changes in ${endTime - startTime}ms`);
932
+ });
933
+ it('should bulk insert changes correctly', async () => {
934
+ const changes = [];
935
+ for (let i = 0; i < 5; i++) {
936
+ const noteId = (0, peers_sdk_1.newid)();
937
+ changes.push({
938
+ changeId: (0, peers_sdk_1.newid)(),
939
+ tableName: 'notes',
940
+ recordId: noteId,
941
+ op: 'set',
942
+ path: '/',
943
+ value: { noteId, title: `bulk note ${i}`, completed: false },
944
+ createdAt: (0, peers_sdk_1.getTimestamp)(),
945
+ appliedAt: (0, peers_sdk_1.getTimestamp)(),
946
+ });
947
+ }
948
+ // Use bulkInsert directly on change tracking table
949
+ await changeTrackingTable.bulkInsert(changes);
950
+ // Verify all changes were inserted
951
+ const insertedChanges = await changeTrackingTable.list({});
952
+ expect(insertedChanges.length).toBeGreaterThanOrEqual(5);
953
+ for (const change of changes) {
954
+ const found = insertedChanges.find(c => c.changeId === change.changeId);
955
+ expect(found).toBeDefined();
956
+ expect(found?.tableName).toBe('notes');
957
+ }
958
+ });
959
+ it('should handle mixed insert/update/delete in applyChanges transaction', async () => {
960
+ // Create a separate "remote" data source
961
+ const [changeTrackingTableRemote, trackedTableRemote] = await dataSourceFactory();
962
+ // Insert some records
963
+ const note1 = await trackedTableRemote.insert({ noteId: (0, peers_sdk_1.newid)(), title: 'note 1' });
964
+ const note2 = await trackedTableRemote.insert({ noteId: (0, peers_sdk_1.newid)(), title: 'note 2' });
965
+ const note3 = await trackedTableRemote.insert({ noteId: (0, peers_sdk_1.newid)(), title: 'note 3' });
966
+ // Update one
967
+ note1.title = 'updated note 1';
968
+ await trackedTableRemote.update(note1);
969
+ // Delete one
970
+ await trackedTableRemote.delete(note2.noteId);
971
+ // Get all changes
972
+ const remoteChanges = await changeTrackingTableRemote.list({});
973
+ // Apply to local
974
+ await trackedTable.applyChanges(remoteChanges);
975
+ // Verify results
976
+ const localNote1 = await trackedTable.get(note1.noteId);
977
+ expect(localNote1?.title).toBe('updated note 1');
978
+ const localNote2 = await trackedTable.get(note2.noteId);
979
+ expect(localNote2).toBeUndefined();
980
+ const localNote3 = await trackedTable.get(note3.noteId);
981
+ expect(localNote3?.title).toBe('note 3');
982
+ });
983
+ it('should support sync methods on SQLDataSource', async () => {
984
+ // Test sync methods directly on sqlDataSource
985
+ await sqlDataSource.initTable();
986
+ // Test insertSync via bulkInsert
987
+ const records = [
988
+ { noteId: (0, peers_sdk_1.newid)(), title: 'sync test 1' },
989
+ { noteId: (0, peers_sdk_1.newid)(), title: 'sync test 2' },
990
+ ];
991
+ const inserted = await sqlDataSource.bulkInsert(records);
992
+ expect(inserted.length).toBe(2);
993
+ // Verify records exist
994
+ for (const record of inserted) {
995
+ const found = await sqlDataSource.get(record.noteId);
996
+ expect(found?.title).toBe(record.title);
997
+ }
998
+ // Test bulkDelete
999
+ await sqlDataSource.bulkDelete(inserted.map(r => r.noteId));
1000
+ // Verify records are deleted
1001
+ for (const record of inserted) {
1002
+ const found = await sqlDataSource.get(record.noteId);
1003
+ expect(found).toBeUndefined();
1004
+ }
1005
+ });
1006
+ it('should support bulkSave on SQLDataSource', async () => {
1007
+ await sqlDataSource.initTable();
1008
+ // Insert some records
1009
+ const records = [
1010
+ { noteId: (0, peers_sdk_1.newid)(), title: 'bulk save 1' },
1011
+ { noteId: (0, peers_sdk_1.newid)(), title: 'bulk save 2' },
1012
+ ];
1013
+ // First bulkSave should insert
1014
+ const inserted = await sqlDataSource.bulkSave(records);
1015
+ expect(inserted.length).toBe(2);
1016
+ // Modify and bulkSave again should update
1017
+ inserted[0].title = 'updated bulk save 1';
1018
+ inserted[1].completed = true;
1019
+ const updated = await sqlDataSource.bulkSave(inserted);
1020
+ // Verify updates
1021
+ const found1 = await sqlDataSource.get(inserted[0].noteId);
1022
+ expect(found1?.title).toBe('updated bulk save 1');
1023
+ const found2 = await sqlDataSource.get(inserted[1].noteId);
1024
+ expect(found2?.completed).toBe(true);
1025
+ });
1026
+ });
868
1027
  });
869
1028
  //# sourceMappingURL=tracked-data-source.test.js.map