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.
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +7 -0
- package/dist/commands.js.map +1 -1
- package/dist/core/sync-engine.d.ts +8 -3
- package/dist/core/sync-engine.d.ts.map +1 -1
- package/dist/core/sync-engine.js +113 -159
- package/dist/core/sync-engine.js.map +1 -1
- package/dist/utils/network-sync.d.ts.map +1 -1
- package/dist/utils/network-sync.js +1 -1
- package/dist/utils/network-sync.js.map +1 -1
- package/dist/utils/text-diff.d.ts +37 -0
- package/dist/utils/text-diff.d.ts.map +1 -0
- package/dist/utils/text-diff.js +131 -0
- package/dist/utils/text-diff.js.map +1 -0
- package/package.json +1 -1
- package/src/commands.ts +11 -0
- package/src/core/sync-engine.ts +134 -180
- package/src/utils/network-sync.ts +15 -10
package/dist/commands.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/commands.js.map
CHANGED
|
@@ -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
|
-
*
|
|
114
|
-
* Returns
|
|
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
|
|
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,
|
|
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"}
|
package/dist/core/sync-engine.js
CHANGED
|
@@ -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
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
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
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
if (move.newContent
|
|
472
|
-
|
|
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
|
-
|
|
610
|
-
|
|
611
|
-
|
|
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
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
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
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
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
|
-
|
|
912
|
-
|
|
913
|
-
|
|
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
|
-
*
|
|
933
|
-
* Returns
|
|
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
|
-
|
|
936
|
-
//
|
|
937
|
-
const
|
|
938
|
-
|
|
939
|
-
const
|
|
940
|
-
|
|
941
|
-
|
|
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
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
const
|
|
952
|
-
|
|
953
|
-
|
|
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
|
|
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
|
|
994
|
-
|
|
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
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
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
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
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);
|