pushwork 1.0.7 → 1.0.11
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/babel.config.js +5 -0
- package/dist/cli/commands.d.ts +61 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +661 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +19 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/output.d.ts +61 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +176 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/config/index.d.ts +71 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +314 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/change-detection.d.ts +5 -0
- package/dist/core/change-detection.d.ts.map +1 -1
- package/dist/core/change-detection.js +36 -8
- package/dist/core/change-detection.js.map +1 -1
- package/dist/core/sync-engine.d.ts +36 -1
- package/dist/core/sync-engine.d.ts.map +1 -1
- package/dist/core/sync-engine.js +350 -90
- package/dist/core/sync-engine.js.map +1 -1
- package/dist/utils/content-similarity.d.ts +53 -0
- package/dist/utils/content-similarity.d.ts.map +1 -0
- package/dist/utils/content-similarity.js +155 -0
- package/dist/utils/content-similarity.js.map +1 -0
- package/dist/utils/directory.d.ts +15 -1
- package/dist/utils/directory.d.ts.map +1 -1
- package/dist/utils/directory.js +22 -3
- package/dist/utils/directory.js.map +1 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +1 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/keyhive.d.ts +9 -0
- package/dist/utils/keyhive.d.ts.map +1 -0
- package/dist/utils/keyhive.js +26 -0
- package/dist/utils/keyhive.js.map +1 -0
- package/dist/utils/network-sync.d.ts +16 -1
- package/dist/utils/network-sync.d.ts.map +1 -1
- package/dist/utils/network-sync.js +103 -0
- package/dist/utils/network-sync.js.map +1 -1
- package/package.json +12 -2
- package/src/core/change-detection.ts +47 -9
- package/src/core/sync-engine.ts +440 -98
- package/src/utils/directory.ts +27 -4
- package/src/utils/fs.ts +1 -2
- package/src/utils/network-sync.ts +137 -1
- package/test/integration/in-memory-sync.test.ts +435 -0
- package/test/integration/init-sync.test.ts +89 -89
- package/dist/.pushwork/automerge/3P/Dm3ekE2pmjGnWvDaG3vSR7ww98/snapshot/aa2349c94955ea561f698720142f9d884a6872d9f82dc332d578c216beb0df0e +0 -0
- package/dist/.pushwork/automerge/st/orage-adapter-id +0 -1
- package/dist/.pushwork/config.json +0 -15
- package/dist/.pushwork/snapshot.json +0 -7
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ConfigManager = void 0;
|
|
37
|
+
const fs = __importStar(require("fs/promises"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const os = __importStar(require("os"));
|
|
40
|
+
const utils_1 = require("../utils");
|
|
41
|
+
/**
|
|
42
|
+
* Configuration manager for pushwork
|
|
43
|
+
*/
|
|
44
|
+
class ConfigManager {
|
|
45
|
+
constructor(workingDir) {
|
|
46
|
+
this.workingDir = workingDir;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get global configuration path
|
|
50
|
+
*/
|
|
51
|
+
getGlobalConfigPath() {
|
|
52
|
+
return path.join(os.homedir(), ConfigManager.GLOBAL_CONFIG_DIR, ConfigManager.CONFIG_FILENAME);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get local configuration path
|
|
56
|
+
*/
|
|
57
|
+
getLocalConfigPath() {
|
|
58
|
+
if (!this.workingDir) {
|
|
59
|
+
throw new Error("Working directory not set for local config");
|
|
60
|
+
}
|
|
61
|
+
return path.join(this.workingDir, ConfigManager.LOCAL_CONFIG_DIR, ConfigManager.CONFIG_FILENAME);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Load global configuration
|
|
65
|
+
*/
|
|
66
|
+
async loadGlobal() {
|
|
67
|
+
try {
|
|
68
|
+
const configPath = this.getGlobalConfigPath();
|
|
69
|
+
if (!(await (0, utils_1.pathExists)(configPath))) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
const content = await fs.readFile(configPath, "utf8");
|
|
73
|
+
return JSON.parse(content);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.warn(`Failed to load global config: ${error}`);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Save global configuration
|
|
82
|
+
*/
|
|
83
|
+
async saveGlobal(config) {
|
|
84
|
+
try {
|
|
85
|
+
const configPath = this.getGlobalConfigPath();
|
|
86
|
+
await (0, utils_1.ensureDirectoryExists)(path.dirname(configPath));
|
|
87
|
+
const content = JSON.stringify(config, null, 2);
|
|
88
|
+
await fs.writeFile(configPath, content, "utf8");
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
throw new Error(`Failed to save global config: ${error}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Load local/directory configuration
|
|
96
|
+
*/
|
|
97
|
+
async load() {
|
|
98
|
+
if (!this.workingDir) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const configPath = this.getLocalConfigPath();
|
|
103
|
+
if (!(await (0, utils_1.pathExists)(configPath))) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const content = await fs.readFile(configPath, "utf8");
|
|
107
|
+
return JSON.parse(content);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
console.warn(`Failed to load local config: ${error}`);
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Save local/directory configuration
|
|
116
|
+
*/
|
|
117
|
+
async save(config) {
|
|
118
|
+
if (!this.workingDir) {
|
|
119
|
+
throw new Error("Working directory not set for local config");
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
const configPath = this.getLocalConfigPath();
|
|
123
|
+
await (0, utils_1.ensureDirectoryExists)(path.dirname(configPath));
|
|
124
|
+
const content = JSON.stringify(config, null, 2);
|
|
125
|
+
await fs.writeFile(configPath, content, "utf8");
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
throw new Error(`Failed to save local config: ${error}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get merged configuration (global + local)
|
|
133
|
+
*/
|
|
134
|
+
async getMerged() {
|
|
135
|
+
const globalConfig = await this.loadGlobal();
|
|
136
|
+
const localConfig = await this.load();
|
|
137
|
+
// Create default configuration
|
|
138
|
+
const defaultConfig = {
|
|
139
|
+
sync_enabled: true,
|
|
140
|
+
sync_server_storage_id: "3760df37-a4c6-4f66-9ecd-732039a9385d",
|
|
141
|
+
defaults: {
|
|
142
|
+
exclude_patterns: [".git", "node_modules", "*.tmp", ".pushwork"],
|
|
143
|
+
large_file_threshold: "100MB",
|
|
144
|
+
},
|
|
145
|
+
diff: {
|
|
146
|
+
show_binary: false,
|
|
147
|
+
},
|
|
148
|
+
sync: {
|
|
149
|
+
move_detection_threshold: 0.8,
|
|
150
|
+
prompt_threshold: 0.5,
|
|
151
|
+
auto_sync: false,
|
|
152
|
+
parallel_operations: 4,
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
// Merge configurations: default < global < local
|
|
156
|
+
let merged = { ...defaultConfig };
|
|
157
|
+
if (globalConfig) {
|
|
158
|
+
merged = this.mergeConfigs(merged, globalConfig);
|
|
159
|
+
}
|
|
160
|
+
if (localConfig) {
|
|
161
|
+
merged = this.mergeConfigs(merged, localConfig);
|
|
162
|
+
}
|
|
163
|
+
return merged;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Merge two configuration objects
|
|
167
|
+
*/
|
|
168
|
+
mergeConfigs(base, override) {
|
|
169
|
+
const merged = { ...base };
|
|
170
|
+
if ("sync_server" in override && override.sync_server !== undefined) {
|
|
171
|
+
merged.sync_server = override.sync_server;
|
|
172
|
+
}
|
|
173
|
+
if ("sync_server_storage_id" in override &&
|
|
174
|
+
override.sync_server_storage_id !== undefined) {
|
|
175
|
+
merged.sync_server_storage_id = override.sync_server_storage_id;
|
|
176
|
+
}
|
|
177
|
+
if ("sync_enabled" in override && override.sync_enabled !== undefined) {
|
|
178
|
+
merged.sync_enabled = override.sync_enabled;
|
|
179
|
+
}
|
|
180
|
+
// Handle GlobalConfig structure
|
|
181
|
+
if ("exclude_patterns" in override && override.exclude_patterns) {
|
|
182
|
+
merged.defaults.exclude_patterns = override.exclude_patterns;
|
|
183
|
+
}
|
|
184
|
+
if ("large_file_threshold" in override && override.large_file_threshold) {
|
|
185
|
+
merged.defaults.large_file_threshold = override.large_file_threshold;
|
|
186
|
+
}
|
|
187
|
+
// Handle DirectoryConfig structure
|
|
188
|
+
if ("defaults" in override && override.defaults) {
|
|
189
|
+
merged.defaults = { ...merged.defaults, ...override.defaults };
|
|
190
|
+
}
|
|
191
|
+
if ("diff" in override && override.diff) {
|
|
192
|
+
// Merge diff settings, ensuring show_binary has a default
|
|
193
|
+
merged.diff = {
|
|
194
|
+
...merged.diff,
|
|
195
|
+
...override.diff,
|
|
196
|
+
show_binary: override.diff.show_binary ?? merged.diff.show_binary,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if ("sync" in override && override.sync) {
|
|
200
|
+
merged.sync = { ...merged.sync, ...override.sync };
|
|
201
|
+
}
|
|
202
|
+
return merged;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Create default global configuration
|
|
206
|
+
*/
|
|
207
|
+
async createDefaultGlobal() {
|
|
208
|
+
const defaultGlobal = {
|
|
209
|
+
exclude_patterns: [
|
|
210
|
+
".git",
|
|
211
|
+
"node_modules",
|
|
212
|
+
"*.tmp",
|
|
213
|
+
".DS_Store",
|
|
214
|
+
".pushwork",
|
|
215
|
+
],
|
|
216
|
+
large_file_threshold: "100MB",
|
|
217
|
+
sync_server: "wss://sync3.automerge.org",
|
|
218
|
+
sync_server_storage_id: "3760df37-a4c6-4f66-9ecd-732039a9385d",
|
|
219
|
+
diff: {
|
|
220
|
+
show_binary: false,
|
|
221
|
+
},
|
|
222
|
+
sync: {
|
|
223
|
+
move_detection_threshold: 0.8,
|
|
224
|
+
prompt_threshold: 0.5,
|
|
225
|
+
auto_sync: false,
|
|
226
|
+
parallel_operations: 4,
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
await this.saveGlobal(defaultGlobal);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Check if global configuration exists
|
|
233
|
+
*/
|
|
234
|
+
async globalConfigExists() {
|
|
235
|
+
return await (0, utils_1.pathExists)(this.getGlobalConfigPath());
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Check if local configuration exists
|
|
239
|
+
*/
|
|
240
|
+
async localConfigExists() {
|
|
241
|
+
if (!this.workingDir)
|
|
242
|
+
return false;
|
|
243
|
+
return await (0, utils_1.pathExists)(this.getLocalConfigPath());
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Get configuration value by path (e.g., 'sync.auto_sync')
|
|
247
|
+
*/
|
|
248
|
+
async getValue(keyPath) {
|
|
249
|
+
const config = await this.getMerged();
|
|
250
|
+
const keys = keyPath.split(".");
|
|
251
|
+
let value = config;
|
|
252
|
+
for (const key of keys) {
|
|
253
|
+
if (value && typeof value === "object" && key in value) {
|
|
254
|
+
value = value[key];
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return value;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Set configuration value by path
|
|
264
|
+
*/
|
|
265
|
+
async setValue(keyPath, value) {
|
|
266
|
+
const config = (await this.load()) || {};
|
|
267
|
+
const keys = keyPath.split(".");
|
|
268
|
+
let current = config;
|
|
269
|
+
// Navigate to the parent of the target key
|
|
270
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
271
|
+
const key = keys[i];
|
|
272
|
+
if (!(key in current) || typeof current[key] !== "object") {
|
|
273
|
+
current[key] = {};
|
|
274
|
+
}
|
|
275
|
+
current = current[key];
|
|
276
|
+
}
|
|
277
|
+
// Set the value
|
|
278
|
+
const finalKey = keys[keys.length - 1];
|
|
279
|
+
current[finalKey] = value;
|
|
280
|
+
await this.save(config);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Validate configuration
|
|
284
|
+
*/
|
|
285
|
+
validate(config) {
|
|
286
|
+
const errors = [];
|
|
287
|
+
if (config.sync?.move_detection_threshold !== undefined) {
|
|
288
|
+
if (config.sync.move_detection_threshold < 0 ||
|
|
289
|
+
config.sync.move_detection_threshold > 1) {
|
|
290
|
+
errors.push("move_detection_threshold must be between 0 and 1");
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
if (config.sync?.prompt_threshold !== undefined) {
|
|
294
|
+
if (config.sync.prompt_threshold < 0 ||
|
|
295
|
+
config.sync.prompt_threshold > 1) {
|
|
296
|
+
errors.push("prompt_threshold must be between 0 and 1");
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (config.sync?.parallel_operations !== undefined) {
|
|
300
|
+
if (config.sync.parallel_operations < 1) {
|
|
301
|
+
errors.push("parallel_operations must be at least 1");
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return {
|
|
305
|
+
valid: errors.length === 0,
|
|
306
|
+
errors,
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
exports.ConfigManager = ConfigManager;
|
|
311
|
+
ConfigManager.GLOBAL_CONFIG_DIR = ".pushwork";
|
|
312
|
+
ConfigManager.CONFIG_FILENAME = "config.json";
|
|
313
|
+
ConfigManager.LOCAL_CONFIG_DIR = ".pushwork";
|
|
314
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,11 @@ export declare class ChangeDetector {
|
|
|
45
45
|
* Get current content from Automerge document
|
|
46
46
|
*/
|
|
47
47
|
private getCurrentRemoteContent;
|
|
48
|
+
/**
|
|
49
|
+
* Wait for a document to be available, with retry logic.
|
|
50
|
+
* This is important during clone when documents are being fetched from the network.
|
|
51
|
+
*/
|
|
52
|
+
private waitForDocument;
|
|
48
53
|
/**
|
|
49
54
|
* Get current head of Automerge document
|
|
50
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-detection.d.ts","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAY,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EACL,UAAU,EAEV,YAAY,EAGZ,cAAc,EACf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"change-detection.d.ts","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAY,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EACL,UAAU,EAEV,YAAY,EAGZ,cAAc,EACf,MAAM,UAAU,CAAC;AAYlB;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBAFf,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,MAAM,EAAO;IAGxC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBtE;;OAEG;YACW,kBAAkB;IAyGhC;;OAEG;YACW,mBAAmB;IA0EjC;;;OAGG;YACW,wBAAwB;IAyBtC;;OAEG;YACW,gCAAgC;IAiF9C;;OAEG;YACW,yBAAyB;IA4CvC;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,gBAAgB;IAiB9B;;OAEG;YACW,uBAAuB;IA0BrC;;;OAGG;YACW,eAAe;IAsB7B;;OAEG;YACW,oBAAoB;IAOlC;;OAEG;YACW,sBAAsB;IAYpC;;OAEG;IACG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC;IAoCtB;;OAEG;YACW,2BAA2B;CAY1C"}
|
|
@@ -137,8 +137,7 @@ class ChangeDetector {
|
|
|
137
137
|
async detectRemoteChanges(snapshot) {
|
|
138
138
|
const changes = [];
|
|
139
139
|
await Promise.all(Array.from(snapshot.files.entries()).map(async ([relativePath, snapshotEntry]) => {
|
|
140
|
-
//
|
|
141
|
-
// Files can be removed from the directory without their document heads changing
|
|
140
|
+
// Check if file still exists in remote directory listing
|
|
142
141
|
const stillExistsInDirectory = await this.fileExistsInRemoteDirectory(snapshot.rootDirectoryUrl, relativePath);
|
|
143
142
|
if (!stillExistsInDirectory) {
|
|
144
143
|
// File was removed from remote directory listing
|
|
@@ -207,8 +206,11 @@ class ChangeDetector {
|
|
|
207
206
|
*/
|
|
208
207
|
async discoverRemoteDocumentsRecursive(directoryUrl, currentPath, snapshot, changes) {
|
|
209
208
|
try {
|
|
210
|
-
|
|
211
|
-
const
|
|
209
|
+
// Strip heads for current document state
|
|
210
|
+
const plainUrl = (0, utils_1.getPlainUrl)(directoryUrl);
|
|
211
|
+
const dirHandle = await this.repo.find(plainUrl);
|
|
212
|
+
// Wait for document to be available (important during clone when fetching from network)
|
|
213
|
+
const dirDoc = await this.waitForDocument(dirHandle);
|
|
212
214
|
if (!dirDoc) {
|
|
213
215
|
return;
|
|
214
216
|
}
|
|
@@ -315,7 +317,9 @@ class ChangeDetector {
|
|
|
315
317
|
* Get content from Automerge document at specific head
|
|
316
318
|
*/
|
|
317
319
|
async getContentAtHead(url, heads) {
|
|
318
|
-
|
|
320
|
+
// Strip heads for current document state
|
|
321
|
+
const plainUrl = (0, utils_1.getPlainUrl)(url);
|
|
322
|
+
const handle = await this.repo.find(plainUrl);
|
|
319
323
|
const doc = await handle.view(heads).doc();
|
|
320
324
|
const content = doc?.content;
|
|
321
325
|
// Convert ImmutableString to regular string
|
|
@@ -329,8 +333,11 @@ class ChangeDetector {
|
|
|
329
333
|
*/
|
|
330
334
|
async getCurrentRemoteContent(url) {
|
|
331
335
|
try {
|
|
332
|
-
|
|
333
|
-
const
|
|
336
|
+
// Strip heads for current document state
|
|
337
|
+
const plainUrl = (0, utils_1.getPlainUrl)(url);
|
|
338
|
+
const handle = await this.repo.find(plainUrl);
|
|
339
|
+
// Wait for document to be available (important during clone)
|
|
340
|
+
const doc = await this.waitForDocument(handle);
|
|
334
341
|
if (!doc)
|
|
335
342
|
return null;
|
|
336
343
|
const fileDoc = doc;
|
|
@@ -346,11 +353,32 @@ class ChangeDetector {
|
|
|
346
353
|
return null;
|
|
347
354
|
}
|
|
348
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Wait for a document to be available, with retry logic.
|
|
358
|
+
* This is important during clone when documents are being fetched from the network.
|
|
359
|
+
*/
|
|
360
|
+
async waitForDocument(handle, options = {}) {
|
|
361
|
+
const { maxRetries = 5, retryDelayMs = 100 } = options;
|
|
362
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
363
|
+
const doc = await handle.doc();
|
|
364
|
+
if (doc !== undefined) {
|
|
365
|
+
return doc;
|
|
366
|
+
}
|
|
367
|
+
// Wait before retrying
|
|
368
|
+
if (attempt < maxRetries - 1) {
|
|
369
|
+
await new Promise((r) => setTimeout(r, retryDelayMs));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// Return undefined if document never became available
|
|
373
|
+
return undefined;
|
|
374
|
+
}
|
|
349
375
|
/**
|
|
350
376
|
* Get current head of Automerge document
|
|
351
377
|
*/
|
|
352
378
|
async getCurrentRemoteHead(url) {
|
|
353
|
-
|
|
379
|
+
// Strip heads for current document state
|
|
380
|
+
const plainUrl = (0, utils_1.getPlainUrl)(url);
|
|
381
|
+
const handle = await this.repo.find(plainUrl);
|
|
354
382
|
return handle.heads();
|
|
355
383
|
}
|
|
356
384
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare class SyncEngine {
|
|
|
9
9
|
private snapshotManager;
|
|
10
10
|
private changeDetector;
|
|
11
11
|
private moveDetector;
|
|
12
|
-
private
|
|
12
|
+
private handlesByPath;
|
|
13
13
|
private config;
|
|
14
14
|
constructor(repo: Repo, rootPath: string, config: DirectoryConfig);
|
|
15
15
|
/**
|
|
@@ -18,6 +18,11 @@ export declare class SyncEngine {
|
|
|
18
18
|
* during reading with isEnhancedTextFile() which now has better dev file support.
|
|
19
19
|
*/
|
|
20
20
|
private isTextContent;
|
|
21
|
+
/**
|
|
22
|
+
* Get a versioned URL from a handle (includes current heads).
|
|
23
|
+
* This ensures clients can fetch the exact version of the document.
|
|
24
|
+
*/
|
|
25
|
+
private getVersionedUrl;
|
|
21
26
|
/**
|
|
22
27
|
* Set the root directory URL in the snapshot
|
|
23
28
|
*/
|
|
@@ -104,5 +109,35 @@ export declare class SyncEngine {
|
|
|
104
109
|
* Update the lastSyncAt timestamp on the root directory document
|
|
105
110
|
*/
|
|
106
111
|
private touchRootDirectory;
|
|
112
|
+
/**
|
|
113
|
+
* Sort tracked handles leaf-first (deepest paths first).
|
|
114
|
+
* Returns handles in sorted order, logging URLs with heads for debugging.
|
|
115
|
+
*/
|
|
116
|
+
private sortHandlesLeafFirst;
|
|
117
|
+
/**
|
|
118
|
+
* Update all URLs (files and directories) in directory documents with current heads.
|
|
119
|
+
*
|
|
120
|
+
* This MUST be called AFTER all changes are applied but BEFORE network sync.
|
|
121
|
+
* The problem it solves:
|
|
122
|
+
* 1. When we create/update a file or directory and store its URL, the URL captures
|
|
123
|
+
* the heads at that moment
|
|
124
|
+
* 2. Later operations may advance the document's heads
|
|
125
|
+
* 3. But the URL stored in the parent directory has stale heads
|
|
126
|
+
* 4. Clients reading the directory would get old views of entries
|
|
127
|
+
*
|
|
128
|
+
* The fix: walk leaf-first and update all entry URLs with current heads,
|
|
129
|
+
* AFTER all changes have been applied. This ensures clients get consistent,
|
|
130
|
+
* up-to-date versioned URLs.
|
|
131
|
+
*/
|
|
132
|
+
private updateDirectoryUrlsLeafFirst;
|
|
133
|
+
/**
|
|
134
|
+
* Update file URLs in directory documents with current heads.
|
|
135
|
+
*/
|
|
136
|
+
private updateFileUrlsInDirectories;
|
|
137
|
+
/**
|
|
138
|
+
* Update subdirectory URLs in parent directories with current heads.
|
|
139
|
+
* Processes leaf-first (deepest directories first).
|
|
140
|
+
*/
|
|
141
|
+
private updateSubdirectoryUrls;
|
|
107
142
|
}
|
|
108
143
|
//# sourceMappingURL=sync-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/core/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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"}
|