pushwork 1.0.11 → 1.0.15

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":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EAGZ,cAAc,EACf,MAAM,SAAS,CAAC;AAwHjB;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,oBAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAiGf;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,oBAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgGf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,UAAU,oBAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,oBAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjE;AAED;;GAEG;AACH,wBAAsB,EAAE,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhE;AAED,wBAAsB,MAAM,CAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,cAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAsB,EAAE,CACtB,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAwIf"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EAGZ,cAAc,EACf,MAAM,SAAS,CAAC;AAwHjB;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,oBAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAiGf;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,UAAU,oBAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgGf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,UAAU,oBAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,oBAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAgEf;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjE;AAED;;GAEG;AACH,wBAAsB,EAAE,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhE;AAED,wBAAsB,MAAM,CAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,cAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;GAEG;AACH,wBAAsB,EAAE,CACtB,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,UAAU,GAAE,MAAY,EACxB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAwIf"}
package/dist/commands.js CHANGED
@@ -450,6 +450,13 @@ async function checkout(syncId, targetPath = ".", _options) {
450
450
  * Clone an existing synced directory from an AutomergeUrl
451
451
  */
452
452
  async function clone(rootUrl, targetPath, options) {
453
+ // Validate that rootUrl is actually an Automerge URL
454
+ if (!rootUrl.startsWith("automerge:")) {
455
+ output_1.out.error(`Invalid Automerge URL: ${rootUrl}\n` +
456
+ `Expected format: automerge:XXXXX\n` +
457
+ `Usage: pushwork clone <automerge-url> <path>`);
458
+ output_1.out.exit(1);
459
+ }
453
460
  const resolvedPath = path.resolve(targetPath);
454
461
  output_1.out.task(`Cloning ${rootUrl}`);
455
462
  // Check if directory exists and handle --force
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -110,10 +110,15 @@ export declare class SyncEngine {
110
110
  */
111
111
  private touchRootDirectory;
112
112
  /**
113
- * Sort tracked handles leaf-first (deepest paths first).
114
- * Returns handles in sorted order, logging URLs with heads for debugging.
113
+ * Group tracked handles by depth level, ordered leaf-first (deepest level first).
114
+ * Returns an array of arrays, where each inner array contains all handles at the
115
+ * same depth level. Levels are ordered from deepest to shallowest (root).
116
+ *
117
+ * This grouping enables level-by-level network sync: all documents at the deepest
118
+ * level sync in parallel first, then the next level up, etc. This ensures children
119
+ * are fully synced to the server before their parent directories.
115
120
  */
116
- private sortHandlesLeafFirst;
121
+ private groupHandlesByDepthLevel;
117
122
  /**
118
123
  * Update all URLs (files and directories) in directory documents with current heads.
119
124
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/core/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,EAIL,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAuBlB;;GAEG;AACH,qBAAa,UAAU;IAUnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,MAAM,CAAkB;gBAGtB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EACxB,MAAM,EAAE,eAAe;IAYzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;IAiExC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAiLjC;;OAEG;YACW,gBAAgB;IAoD9B;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;YACW,wBAAwB;IA6CtC;;OAEG;YACW,wBAAwB;IA8DtC;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;YACW,gBAAgB;IAuC9B;;OAEG;YACW,gBAAgB;IAwD9B;;OAEG;YACW,gBAAgB;IA0B9B;;OAEG;YACW,kBAAkB;IA8DhC;;;OAGG;YACW,uBAAuB;IAiIrC;;OAEG;YACW,uBAAuB;IA2ErC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;KACvB,CAAC;IAsBF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAkBF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;YACW,kBAAkB;IAoChC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;;;;;;;;;;;OAcG;YACW,4BAA4B;IAU1C;;OAEG;YACW,2BAA2B;IA+GzC;;;OAGG;YACW,sBAAsB;CAgHrC"}
1
+ {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/core/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,EAKL,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAuClB;;GAEG;AACH,qBAAa,UAAU;IAUnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,MAAM,CAAkB;gBAGtB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EACxB,MAAM,EAAE,eAAe;IAYzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;IAiExC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAsLjC;;OAEG;YACW,gBAAgB;IAoD9B;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;YACW,wBAAwB;IA6CtC;;OAEG;YACW,wBAAwB;IA8DtC;;OAEG;YACW,iBAAiB;IAoE/B;;OAEG;YACW,gBAAgB;IAuC9B;;OAEG;YACW,gBAAgB;IAwD9B;;OAEG;YACW,gBAAgB;IAoB9B;;OAEG;YACW,kBAAkB;IA8ChC;;;OAGG;YACW,uBAAuB;IAiIrC;;OAEG;YACW,uBAAuB;IA0DrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;KACvB,CAAC;IAsBF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAkBF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;YACW,kBAAkB;IA8BhC;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;;;;;;;;;;;;OAcG;YACW,4BAA4B;IAU1C;;OAEG;YACW,2BAA2B;IA0GzC;;;OAGG;YACW,sBAAsB;CAkGrC"}
@@ -44,6 +44,18 @@ const snapshot_1 = require("./snapshot");
44
44
  const change_detection_1 = require("./change-detection");
45
45
  const move_detection_1 = require("./move-detection");
46
46
  const output_1 = require("../utils/output");
47
+ /**
48
+ * Apply a change to a document handle, using changeAt when heads are available
49
+ * to branch from a known version, otherwise falling back to change.
50
+ */
51
+ function changeWithOptionalHeads(handle, heads, callback) {
52
+ if (heads && heads.length > 0) {
53
+ handle.changeAt(heads, callback);
54
+ }
55
+ else {
56
+ handle.change(callback);
57
+ }
58
+ }
47
59
  /**
48
60
  * Sync configuration constants
49
61
  */
@@ -195,9 +207,14 @@ class SyncEngine {
195
207
  this.handlesByPath.set("", rootHandle);
196
208
  }
197
209
  if (this.handlesByPath.size > 0) {
198
- // Sort handles leaf-first (deepest paths first, then shallower)
199
- const sortedHandles = this.sortHandlesLeafFirst();
200
- await (0, network_sync_1.waitForSync)(sortedHandles, this.config.sync_server_storage_id);
210
+ // Sync level-by-level: deepest paths first, then shallower.
211
+ // Within each level, documents sync in parallel. But we wait
212
+ // for each level to complete before starting the next, ensuring
213
+ // children are on the server before their parent directories.
214
+ const levels = this.groupHandlesByDepthLevel();
215
+ for (const handlesAtLevel of levels) {
216
+ await (0, network_sync_1.waitForSync)(handlesAtLevel, this.config.sync_server_storage_id);
217
+ }
201
218
  }
202
219
  // Wait for bidirectional sync to stabilize.
203
220
  // This polls document heads until they stop changing, which indicates
@@ -464,34 +481,18 @@ class SyncEngine {
464
481
  const handle = await this.repo.find((0, utils_1.getPlainUrl)(fromEntry.url));
465
482
  const heads = fromEntry.head;
466
483
  // Update both name and content (if content changed during move)
467
- if (heads && heads.length > 0) {
468
- handle.changeAt(heads, (doc) => {
469
- doc.name = toFileName;
470
- // If new content is provided, update it (handles move + modification case)
471
- if (move.newContent !== undefined) {
472
- if (typeof move.newContent === "string") {
473
- doc.content = new A.ImmutableString(move.newContent);
474
- }
475
- else {
476
- doc.content = move.newContent;
477
- }
484
+ changeWithOptionalHeads(handle, heads, (doc) => {
485
+ doc.name = toFileName;
486
+ // If new content is provided, update it (handles move + modification case)
487
+ if (move.newContent !== undefined) {
488
+ if (typeof move.newContent === "string") {
489
+ doc.content = new A.ImmutableString(move.newContent);
478
490
  }
479
- });
480
- }
481
- else {
482
- handle.change((doc) => {
483
- doc.name = toFileName;
484
- // If new content is provided, update it (handles move + modification case)
485
- if (move.newContent !== undefined) {
486
- if (typeof move.newContent === "string") {
487
- doc.content = new A.ImmutableString(move.newContent);
488
- }
489
- else {
490
- doc.content = move.newContent;
491
- }
491
+ else {
492
+ doc.content = move.newContent;
492
493
  }
493
- });
494
- }
494
+ }
495
+ });
495
496
  // Get versioned URL after changes (includes current heads)
496
497
  const versionedUrl = this.getVersionedUrl(handle);
497
498
  // 4) Add file entry to destination directory with versioned URL
@@ -606,16 +607,9 @@ class SyncEngine {
606
607
  if (snapshot && filePath) {
607
608
  heads = snapshot.files.get(filePath)?.head;
608
609
  }
609
- if (heads) {
610
- handle.changeAt(heads, (doc) => {
611
- doc.content = new A.ImmutableString("");
612
- });
613
- }
614
- else {
615
- handle.change((doc) => {
616
- doc.content = new A.ImmutableString("");
617
- });
618
- }
610
+ changeWithOptionalHeads(handle, heads, (doc) => {
611
+ doc.content = new A.ImmutableString("");
612
+ });
619
613
  }
620
614
  /**
621
615
  * Add file entry to appropriate directory document (maintains hierarchy)
@@ -633,32 +627,17 @@ class SyncEngine {
633
627
  let didChange = false;
634
628
  const snapshotEntry = snapshot.directories.get(directoryPath);
635
629
  const heads = snapshotEntry?.head;
636
- if (heads) {
637
- dirHandle.changeAt(heads, (doc) => {
638
- const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
639
- if (existingIndex === -1) {
640
- doc.docs.push({
641
- name: fileName,
642
- type: "file",
643
- url: fileUrl,
644
- });
645
- didChange = true;
646
- }
647
- });
648
- }
649
- else {
650
- dirHandle.change((doc) => {
651
- const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
652
- if (existingIndex === -1) {
653
- doc.docs.push({
654
- name: fileName,
655
- type: "file",
656
- url: fileUrl,
657
- });
658
- didChange = true;
659
- }
660
- });
661
- }
630
+ changeWithOptionalHeads(dirHandle, heads, (doc) => {
631
+ const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
632
+ if (existingIndex === -1) {
633
+ doc.docs.push({
634
+ name: fileName,
635
+ type: "file",
636
+ url: fileUrl,
637
+ });
638
+ didChange = true;
639
+ }
640
+ });
662
641
  // Always track the directory (even if unchanged) for proper leaf-first sync ordering
663
642
  this.handlesByPath.set(directoryPath, dirHandle);
664
643
  if (didChange && snapshotEntry) {
@@ -792,26 +771,14 @@ class SyncEngine {
792
771
  const snapshotEntry = snapshot.directories.get(directoryPath);
793
772
  const heads = snapshotEntry?.head;
794
773
  let didChange = false;
795
- if (heads) {
796
- dirHandle.changeAt(heads, (doc) => {
797
- const indexToRemove = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
798
- if (indexToRemove !== -1) {
799
- doc.docs.splice(indexToRemove, 1);
800
- didChange = true;
801
- output_1.out.taskLine(`Removed ${fileName} from ${(0, utils_1.formatRelativePath)(directoryPath) || "root"}`);
802
- }
803
- });
804
- }
805
- else {
806
- dirHandle.change((doc) => {
807
- const indexToRemove = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
808
- if (indexToRemove !== -1) {
809
- doc.docs.splice(indexToRemove, 1);
810
- didChange = true;
811
- output_1.out.taskLine(`Removed ${fileName} from ${(0, utils_1.formatRelativePath)(directoryPath) || "root"}`);
812
- }
813
- });
814
- }
774
+ changeWithOptionalHeads(dirHandle, heads, (doc) => {
775
+ const indexToRemove = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
776
+ if (indexToRemove !== -1) {
777
+ doc.docs.splice(indexToRemove, 1);
778
+ didChange = true;
779
+ output_1.out.taskLine(`Removed ${fileName} from ${(0, utils_1.formatRelativePath)(directoryPath) || "root"}`);
780
+ }
781
+ });
815
782
  if (didChange && snapshotEntry) {
816
783
  snapshotEntry.head = dirHandle.heads();
817
784
  }
@@ -908,16 +875,9 @@ class SyncEngine {
908
875
  const snapshotEntry = snapshot.directories.get("");
909
876
  const heads = snapshotEntry?.head;
910
877
  const timestamp = Date.now();
911
- if (heads) {
912
- rootHandle.changeAt(heads, (doc) => {
913
- doc.lastSyncAt = timestamp;
914
- });
915
- }
916
- else {
917
- rootHandle.change((doc) => {
918
- doc.lastSyncAt = timestamp;
919
- });
920
- }
878
+ changeWithOptionalHeads(rootHandle, heads, (doc) => {
879
+ doc.lastSyncAt = timestamp;
880
+ });
921
881
  // Track root directory for network sync
922
882
  this.handlesByPath.set("", rootHandle);
923
883
  if (snapshotEntry) {
@@ -929,30 +889,41 @@ class SyncEngine {
929
889
  }
930
890
  }
931
891
  /**
932
- * Sort tracked handles leaf-first (deepest paths first).
933
- * Returns handles in sorted order, logging URLs with heads for debugging.
892
+ * Group tracked handles by depth level, ordered leaf-first (deepest level first).
893
+ * Returns an array of arrays, where each inner array contains all handles at the
894
+ * same depth level. Levels are ordered from deepest to shallowest (root).
895
+ *
896
+ * This grouping enables level-by-level network sync: all documents at the deepest
897
+ * level sync in parallel first, then the next level up, etc. This ensures children
898
+ * are fully synced to the server before their parent directories.
934
899
  */
935
- sortHandlesLeafFirst() {
936
- // Sort paths by depth (descending - deepest first), then alphabetically
937
- const sortedPaths = Array.from(this.handlesByPath.keys()).sort((a, b) => {
938
- const depthA = a ? a.split("/").length : 0;
939
- const depthB = b ? b.split("/").length : 0;
940
- // Deepest first
941
- if (depthA !== depthB) {
942
- return depthB - depthA;
900
+ groupHandlesByDepthLevel() {
901
+ // Group paths by depth
902
+ const pathsByDepth = new Map();
903
+ for (const path of this.handlesByPath.keys()) {
904
+ const depth = path ? path.split("/").length : 0;
905
+ if (!pathsByDepth.has(depth)) {
906
+ pathsByDepth.set(depth, []);
943
907
  }
944
- // Alphabetically by path
945
- return a.localeCompare(b);
946
- });
947
- // Log the sync order with versioned URLs for debugging (keep on complete)
948
- const handles = [];
949
- for (const path of sortedPaths) {
950
- const handle = this.handlesByPath.get(path);
951
- const versionedUrl = this.getVersionedUrl(handle);
952
- output_1.out.taskLine(`Sync: ${path || "(root)"} -> ${versionedUrl}`, true);
953
- handles.push(handle);
908
+ pathsByDepth.get(depth).push(path);
909
+ }
910
+ // Sort depths descending (deepest first) to get leaf-first ordering
911
+ const sortedDepths = Array.from(pathsByDepth.keys()).sort((a, b) => b - a);
912
+ // Build level groups, logging sync order for debugging
913
+ const levels = [];
914
+ for (const depth of sortedDepths) {
915
+ const paths = pathsByDepth.get(depth);
916
+ paths.sort((a, b) => a.localeCompare(b)); // Alphabetical within level
917
+ const handlesAtLevel = [];
918
+ for (const path of paths) {
919
+ const handle = this.handlesByPath.get(path);
920
+ const versionedUrl = this.getVersionedUrl(handle);
921
+ output_1.out.taskLine(`Sync: ${path || "(root)"} -> ${versionedUrl}`, true);
922
+ handlesAtLevel.push(handle);
923
+ }
924
+ levels.push(handlesAtLevel);
954
925
  }
955
- return handles;
926
+ return levels;
956
927
  }
957
928
  /**
958
929
  * Update all URLs (files and directories) in directory documents with current heads.
@@ -990,8 +961,17 @@ class SyncEngine {
990
961
  }
991
962
  filesByDir.get(dirPath).push(filePath);
992
963
  }
993
- // Process each directory that has files
994
- for (const [dirPath, filePaths] of filesByDir.entries()) {
964
+ // Process directories leaf-first (deepest first) so children are
965
+ // up-to-date before their parents are processed
966
+ const sortedDirPaths = Array.from(filesByDir.keys()).sort((a, b) => {
967
+ const depthA = a ? a.split("/").length : 0;
968
+ const depthB = b ? b.split("/").length : 0;
969
+ if (depthA !== depthB)
970
+ return depthB - depthA;
971
+ return a.localeCompare(b);
972
+ });
973
+ for (const dirPath of sortedDirPaths) {
974
+ const filePaths = filesByDir.get(dirPath);
995
975
  try {
996
976
  // Get the directory URL
997
977
  let dirUrl;
@@ -1033,28 +1013,15 @@ class SyncEngine {
1033
1013
  }
1034
1014
  // Update all file entries in the directory document
1035
1015
  let didChange = false;
1036
- if (heads) {
1037
- dirHandle.changeAt(heads, (doc) => {
1038
- for (const [fileName, newUrl] of fileUrlUpdates) {
1039
- const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
1040
- if (existingIndex !== -1 && doc.docs[existingIndex].url !== newUrl) {
1041
- doc.docs[existingIndex].url = newUrl;
1042
- didChange = true;
1043
- }
1044
- }
1045
- });
1046
- }
1047
- else {
1048
- dirHandle.change((doc) => {
1049
- for (const [fileName, newUrl] of fileUrlUpdates) {
1050
- const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
1051
- if (existingIndex !== -1 && doc.docs[existingIndex].url !== newUrl) {
1052
- doc.docs[existingIndex].url = newUrl;
1053
- didChange = true;
1054
- }
1016
+ changeWithOptionalHeads(dirHandle, heads, (doc) => {
1017
+ for (const [fileName, newUrl] of fileUrlUpdates) {
1018
+ const existingIndex = doc.docs.findIndex((entry) => entry.name === fileName && entry.type === "file");
1019
+ if (existingIndex !== -1 && doc.docs[existingIndex].url !== newUrl) {
1020
+ doc.docs[existingIndex].url = newUrl;
1021
+ didChange = true;
1055
1022
  }
1056
- });
1057
- }
1023
+ }
1024
+ });
1058
1025
  // Track directory and update heads
1059
1026
  if (didChange) {
1060
1027
  this.handlesByPath.set(dirPath, dirHandle);
@@ -1130,26 +1097,13 @@ class SyncEngine {
1130
1097
  : snapshot.directories.get(parentPath);
1131
1098
  const parentHeads = parentSnapshotEntry?.head;
1132
1099
  let didChange = false;
1133
- if (parentHeads) {
1134
- parentHandle.changeAt(parentHeads, (doc) => {
1135
- const existingIndex = doc.docs.findIndex((entry) => entry.name === dirName && entry.type === "folder");
1136
- if (existingIndex !== -1) {
1137
- // Update the URL with current versioned URL
1138
- doc.docs[existingIndex].url = currentVersionedUrl;
1139
- didChange = true;
1140
- }
1141
- });
1142
- }
1143
- else {
1144
- parentHandle.change((doc) => {
1145
- const existingIndex = doc.docs.findIndex((entry) => entry.name === dirName && entry.type === "folder");
1146
- if (existingIndex !== -1) {
1147
- // Update the URL with current versioned URL
1148
- doc.docs[existingIndex].url = currentVersionedUrl;
1149
- didChange = true;
1150
- }
1151
- });
1152
- }
1100
+ changeWithOptionalHeads(parentHandle, parentHeads, (doc) => {
1101
+ const existingIndex = doc.docs.findIndex((entry) => entry.name === dirName && entry.type === "folder");
1102
+ if (existingIndex !== -1) {
1103
+ doc.docs[existingIndex].url = currentVersionedUrl;
1104
+ didChange = true;
1105
+ }
1106
+ });
1153
1107
  // Track parent for sync and update its heads in snapshot
1154
1108
  if (didChange) {
1155
1109
  this.handlesByPath.set(parentPath, parentHandle);