@filen/sync 0.1.33 → 0.1.35
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/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/deltas.js +25 -5
- package/dist/lib/deltas.js.map +1 -1
- package/dist/lib/filesystems/local.d.ts +1 -0
- package/dist/lib/filesystems/local.js +20 -11
- package/dist/lib/filesystems/local.js.map +1 -1
- package/dist/lib/filesystems/remote.js +27 -13
- package/dist/lib/filesystems/remote.js.map +1 -1
- package/dist/lib/lock.d.ts +3 -3
- package/dist/lib/lock.js +18 -18
- package/dist/lib/lock.js.map +1 -1
- package/dist/lib/state.js +13 -7
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/sync.js +175 -112
- package/dist/lib/sync.js.map +1 -1
- package/dist/lib/tasks.d.ts +10 -3
- package/dist/lib/tasks.js +44 -15
- package/dist/lib/tasks.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/package.json +3 -2
package/dist/lib/sync.js
CHANGED
|
@@ -16,6 +16,7 @@ const utils_1 = require("../utils");
|
|
|
16
16
|
const lock_1 = __importDefault(require("./lock"));
|
|
17
17
|
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
19
|
+
const uuid_1 = require("uuid");
|
|
19
20
|
/**
|
|
20
21
|
* Sync
|
|
21
22
|
*
|
|
@@ -123,6 +124,7 @@ class Sync {
|
|
|
123
124
|
}
|
|
124
125
|
catch (e) {
|
|
125
126
|
this.worker.logger.log("error", e, "sync.cleanupLocalTrash");
|
|
127
|
+
this.worker.logger.log("error", e);
|
|
126
128
|
}
|
|
127
129
|
finally {
|
|
128
130
|
this.cleaningLocalTrash = false;
|
|
@@ -142,6 +144,7 @@ class Sync {
|
|
|
142
144
|
}
|
|
143
145
|
catch (e) {
|
|
144
146
|
this.worker.logger.log("error", e, "sync.initialize");
|
|
147
|
+
this.worker.logger.log("error", e);
|
|
145
148
|
this.isInitialized = false;
|
|
146
149
|
throw e;
|
|
147
150
|
}
|
|
@@ -211,162 +214,222 @@ class Sync {
|
|
|
211
214
|
type: "cycleStarted",
|
|
212
215
|
syncPair: this.syncPair
|
|
213
216
|
});
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
syncPair: this.syncPair
|
|
223
|
-
});
|
|
224
|
-
// eslint-disable-next-line prefer-const
|
|
225
|
-
let [currentLocalTree, currentRemoteTree] = await Promise.all([
|
|
226
|
-
this.localFileSystem.getDirectoryTree(),
|
|
227
|
-
this.remoteFileSystem.getDirectoryTree()
|
|
228
|
-
]);
|
|
217
|
+
const acquireLockMessageTimeout = setTimeout(() => {
|
|
218
|
+
(0, ipc_1.postMessageToMain)({
|
|
219
|
+
type: "cycleAcquiringLockStarted",
|
|
220
|
+
syncPair: this.syncPair
|
|
221
|
+
});
|
|
222
|
+
}, 3000);
|
|
223
|
+
await this.lock.acquire();
|
|
224
|
+
clearTimeout(acquireLockMessageTimeout);
|
|
229
225
|
(0, ipc_1.postMessageToMain)({
|
|
230
|
-
type: "
|
|
226
|
+
type: "cycleAcquiringLockDone",
|
|
231
227
|
syncPair: this.syncPair
|
|
232
228
|
});
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
229
|
+
try {
|
|
230
|
+
await this.smokeTest();
|
|
231
|
+
await this.localFileSystem.waitForLocalDirectoryChanges();
|
|
232
|
+
(0, ipc_1.postMessageToMain)({
|
|
233
|
+
type: "cycleWaitingForLocalDirectoryChangesDone",
|
|
234
|
+
syncPair: this.syncPair
|
|
235
|
+
});
|
|
236
|
+
const gettingTreesMessageTimeout = setTimeout(() => {
|
|
237
|
+
(0, ipc_1.postMessageToMain)({
|
|
238
|
+
type: "cycleGettingTreesStarted",
|
|
239
|
+
syncPair: this.syncPair
|
|
240
|
+
});
|
|
241
|
+
}, 1000);
|
|
242
|
+
// eslint-disable-next-line prefer-const
|
|
243
|
+
let [currentLocalTree, currentRemoteTree] = await Promise.all([
|
|
244
|
+
this.localFileSystem.getDirectoryTree(),
|
|
245
|
+
this.remoteFileSystem.getDirectoryTree()
|
|
246
|
+
]);
|
|
247
|
+
clearTimeout(gettingTreesMessageTimeout);
|
|
243
248
|
(0, ipc_1.postMessageToMain)({
|
|
244
|
-
type: "
|
|
249
|
+
type: "cycleGettingTreesDone",
|
|
250
|
+
syncPair: this.syncPair
|
|
251
|
+
});
|
|
252
|
+
(0, ipc_1.postMessageToMain)({
|
|
253
|
+
type: "localTreeErrors",
|
|
245
254
|
syncPair: this.syncPair,
|
|
246
255
|
data: {
|
|
247
|
-
|
|
256
|
+
errors: currentLocalTree.errors.map(e => (Object.assign(Object.assign({}, e), { error: (0, utils_1.serializeError)(e.error) })))
|
|
248
257
|
}
|
|
249
258
|
});
|
|
250
|
-
|
|
251
|
-
|
|
259
|
+
this.localTreeErrors = currentLocalTree.errors;
|
|
260
|
+
// Only continue if we did not encounter any local tree related errors
|
|
261
|
+
if (this.localTreeErrors.length === 0) {
|
|
262
|
+
(0, ipc_1.postMessageToMain)({
|
|
263
|
+
type: "localTreeIgnored",
|
|
264
|
+
syncPair: this.syncPair,
|
|
265
|
+
data: {
|
|
266
|
+
ignored: currentLocalTree.ignored
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
if (!currentLocalTree.changed && !currentRemoteTree.changed) {
|
|
270
|
+
if (this.taskErrors.length === 0) {
|
|
271
|
+
(0, ipc_1.postMessageToMain)({
|
|
272
|
+
type: "cycleSavingStateStarted",
|
|
273
|
+
syncPair: this.syncPair
|
|
274
|
+
});
|
|
275
|
+
this.previousLocalTree = currentLocalTree.result;
|
|
276
|
+
this.previousRemoteTree = currentRemoteTree.result;
|
|
277
|
+
// We only save the state once if there are no changes.
|
|
278
|
+
// This helps reducing the cpu and disk footprint when there are continuously no changes.
|
|
279
|
+
if (this.saveStateOnNoChanges) {
|
|
280
|
+
this.saveStateOnNoChanges = false;
|
|
281
|
+
await this.state.save();
|
|
282
|
+
}
|
|
283
|
+
(0, ipc_1.postMessageToMain)({
|
|
284
|
+
type: "cycleSavingStateDone",
|
|
285
|
+
syncPair: this.syncPair
|
|
286
|
+
});
|
|
287
|
+
}
|
|
252
288
|
(0, ipc_1.postMessageToMain)({
|
|
253
|
-
type: "
|
|
289
|
+
type: "cycleSuccess",
|
|
254
290
|
syncPair: this.syncPair
|
|
255
291
|
});
|
|
256
|
-
this.previousLocalTree = currentLocalTree.result;
|
|
257
|
-
this.previousRemoteTree = currentRemoteTree.result;
|
|
258
|
-
// We only save the state once if there are no changes.
|
|
259
|
-
// This helps reducing the cpu and disk footprint when there are continuously no changes.
|
|
260
|
-
if (this.saveStateOnNoChanges) {
|
|
261
|
-
this.saveStateOnNoChanges = false;
|
|
262
|
-
await this.state.save();
|
|
263
|
-
}
|
|
264
292
|
(0, ipc_1.postMessageToMain)({
|
|
265
|
-
type: "
|
|
293
|
+
type: "cycleNoChanges",
|
|
266
294
|
syncPair: this.syncPair
|
|
267
295
|
});
|
|
296
|
+
return;
|
|
268
297
|
}
|
|
269
298
|
(0, ipc_1.postMessageToMain)({
|
|
270
|
-
type: "
|
|
299
|
+
type: "remoteTreeIgnored",
|
|
300
|
+
syncPair: this.syncPair,
|
|
301
|
+
data: {
|
|
302
|
+
ignored: currentRemoteTree.ignored
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
(0, ipc_1.postMessageToMain)({
|
|
306
|
+
type: "cycleProcessingDeltasStarted",
|
|
271
307
|
syncPair: this.syncPair
|
|
272
308
|
});
|
|
309
|
+
const deltas = await this.deltas.process({
|
|
310
|
+
currentLocalTree: currentLocalTree.result,
|
|
311
|
+
currentRemoteTree: currentRemoteTree.result,
|
|
312
|
+
previousLocalTree: this.previousLocalTree,
|
|
313
|
+
previousRemoteTree: this.previousRemoteTree,
|
|
314
|
+
currentLocalTreeErrors: currentLocalTree.errors
|
|
315
|
+
});
|
|
273
316
|
(0, ipc_1.postMessageToMain)({
|
|
274
|
-
type: "
|
|
317
|
+
type: "cycleProcessingDeltasDone",
|
|
275
318
|
syncPair: this.syncPair
|
|
276
319
|
});
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
320
|
+
(0, ipc_1.postMessageToMain)({
|
|
321
|
+
type: "deltas",
|
|
322
|
+
syncPair: this.syncPair,
|
|
323
|
+
data: {
|
|
324
|
+
deltas
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
(0, ipc_1.postMessageToMain)({
|
|
328
|
+
type: "cycleProcessingTasksStarted",
|
|
329
|
+
syncPair: this.syncPair
|
|
330
|
+
});
|
|
331
|
+
const { doneTasks, errors } = await this.tasks.process({ deltas });
|
|
332
|
+
(0, ipc_1.postMessageToMain)({
|
|
333
|
+
type: "cycleProcessingTasksDone",
|
|
334
|
+
syncPair: this.syncPair
|
|
335
|
+
});
|
|
336
|
+
(0, ipc_1.postMessageToMain)({
|
|
337
|
+
type: "taskErrors",
|
|
338
|
+
syncPair: this.syncPair,
|
|
339
|
+
data: {
|
|
340
|
+
errors: errors.map(e => (Object.assign(Object.assign({}, e), { error: (0, utils_1.serializeError)(e.error) })))
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
this.taskErrors = errors;
|
|
344
|
+
if (this.taskErrors.length === 0) {
|
|
345
|
+
if (doneTasks.length > 0) {
|
|
346
|
+
(0, ipc_1.postMessageToMain)({
|
|
347
|
+
type: "cycleApplyingStateStarted",
|
|
348
|
+
syncPair: this.syncPair
|
|
349
|
+
});
|
|
350
|
+
const didLocalChanges = doneTasks.some(task => task.type === "createLocalDirectory" ||
|
|
351
|
+
task.type === "deleteLocalDirectory" ||
|
|
352
|
+
task.type === "deleteLocalFile" ||
|
|
353
|
+
task.type === "renameLocalDirectory" ||
|
|
354
|
+
task.type === "renameLocalFile");
|
|
355
|
+
const didRemoteChanges = doneTasks.some(task => task.type === "renameRemoteDirectory" ||
|
|
356
|
+
task.type === "renameRemoteFile" ||
|
|
357
|
+
task.type === "createRemoteDirectory" ||
|
|
358
|
+
task.type === "deleteRemoteDirectory" ||
|
|
359
|
+
task.type === "deleteRemoteFile");
|
|
360
|
+
// Here we reset the internal local/remote tree changed times so we rescan after we did changes for consistency
|
|
361
|
+
if (didLocalChanges) {
|
|
362
|
+
this.localFileSystem.lastDirectoryChangeTimestamp = Date.now() - constants_1.SYNC_INTERVAL * 2;
|
|
363
|
+
this.localFileSystem.getDirectoryTreeCache = {
|
|
364
|
+
timestamp: 0,
|
|
365
|
+
tree: {},
|
|
366
|
+
inodes: {},
|
|
367
|
+
ignored: [],
|
|
368
|
+
errors: []
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
if (didRemoteChanges) {
|
|
372
|
+
this.remoteFileSystem.previousTreeRawResponse = "";
|
|
373
|
+
this.remoteFileSystem.getDirectoryTreeCache = {
|
|
374
|
+
timestamp: 0,
|
|
375
|
+
tree: {},
|
|
376
|
+
uuids: {},
|
|
377
|
+
ignored: []
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
const applied = this.state.applyDoneTasksToState({
|
|
381
|
+
doneTasks,
|
|
382
|
+
currentLocalTree: currentLocalTree.result,
|
|
383
|
+
currentRemoteTree: currentRemoteTree.result
|
|
384
|
+
});
|
|
385
|
+
currentLocalTree.result = applied.currentLocalTree;
|
|
386
|
+
currentRemoteTree.result = applied.currentRemoteTree;
|
|
387
|
+
(0, ipc_1.postMessageToMain)({
|
|
388
|
+
type: "cycleApplyingStateDone",
|
|
389
|
+
syncPair: this.syncPair
|
|
390
|
+
});
|
|
391
|
+
}
|
|
327
392
|
(0, ipc_1.postMessageToMain)({
|
|
328
|
-
type: "
|
|
393
|
+
type: "cycleSavingStateStarted",
|
|
329
394
|
syncPair: this.syncPair
|
|
330
395
|
});
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
});
|
|
336
|
-
currentLocalTree.result = applied.currentLocalTree;
|
|
337
|
-
currentRemoteTree.result = applied.currentRemoteTree;
|
|
396
|
+
this.previousLocalTree = currentLocalTree.result;
|
|
397
|
+
this.previousRemoteTree = currentRemoteTree.result;
|
|
398
|
+
this.saveStateOnNoChanges = true;
|
|
399
|
+
await this.state.save();
|
|
338
400
|
(0, ipc_1.postMessageToMain)({
|
|
339
|
-
type: "
|
|
401
|
+
type: "cycleSavingStateDone",
|
|
340
402
|
syncPair: this.syncPair
|
|
341
403
|
});
|
|
342
404
|
}
|
|
343
405
|
(0, ipc_1.postMessageToMain)({
|
|
344
|
-
type: "
|
|
345
|
-
syncPair: this.syncPair
|
|
346
|
-
});
|
|
347
|
-
this.previousLocalTree = currentLocalTree.result;
|
|
348
|
-
this.previousRemoteTree = currentRemoteTree.result;
|
|
349
|
-
this.saveStateOnNoChanges = true;
|
|
350
|
-
await this.state.save();
|
|
351
|
-
(0, ipc_1.postMessageToMain)({
|
|
352
|
-
type: "cycleSavingStateDone",
|
|
406
|
+
type: "cycleSuccess",
|
|
353
407
|
syncPair: this.syncPair
|
|
354
408
|
});
|
|
355
409
|
}
|
|
410
|
+
}
|
|
411
|
+
finally {
|
|
356
412
|
(0, ipc_1.postMessageToMain)({
|
|
357
|
-
type: "
|
|
413
|
+
type: "cycleReleasingLockStarted",
|
|
414
|
+
syncPair: this.syncPair
|
|
415
|
+
});
|
|
416
|
+
await this.lock.release();
|
|
417
|
+
(0, ipc_1.postMessageToMain)({
|
|
418
|
+
type: "cycleReleasingLockDone",
|
|
358
419
|
syncPair: this.syncPair
|
|
359
420
|
});
|
|
360
421
|
}
|
|
361
422
|
}
|
|
362
423
|
catch (e) {
|
|
363
424
|
this.worker.logger.log("error", e, "sync.run");
|
|
425
|
+
this.worker.logger.log("error", e);
|
|
364
426
|
if (e instanceof Error) {
|
|
365
427
|
(0, ipc_1.postMessageToMain)({
|
|
366
428
|
type: "cycleError",
|
|
367
429
|
syncPair: this.syncPair,
|
|
368
430
|
data: {
|
|
369
|
-
error: (0, utils_1.serializeError)(e)
|
|
431
|
+
error: (0, utils_1.serializeError)(e),
|
|
432
|
+
uuid: (0, uuid_1.v4)()
|
|
370
433
|
}
|
|
371
434
|
});
|
|
372
435
|
}
|
package/dist/lib/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tasks.d.ts
CHANGED
|
@@ -3,11 +3,18 @@ import type Sync from "./sync";
|
|
|
3
3
|
import { type Delta } from "./deltas";
|
|
4
4
|
import { type RemoteItem } from "./filesystems/remote";
|
|
5
5
|
import fs from "fs-extra";
|
|
6
|
-
|
|
6
|
+
import { Prettify } from "../types";
|
|
7
|
+
export type TaskError = Prettify<{
|
|
7
8
|
path: string;
|
|
8
9
|
error: Error;
|
|
9
|
-
|
|
10
|
-
}
|
|
10
|
+
uuid: string;
|
|
11
|
+
} & ({
|
|
12
|
+
type: "uploadFile" | "createRemoteDirectory" | "createLocalDirectory" | "deleteLocalFile" | "deleteRemoteFile" | "deleteLocalDirectory" | "deleteRemoteDirectory" | "downloadFile";
|
|
13
|
+
} | {
|
|
14
|
+
type: "renameLocalFile" | "renameRemoteFile" | "renameRemoteDirectory" | "renameLocalDirectory";
|
|
15
|
+
from: string;
|
|
16
|
+
to: string;
|
|
17
|
+
})>;
|
|
11
18
|
export type DoneTask = {
|
|
12
19
|
path: string;
|
|
13
20
|
} & ({
|
package/dist/lib/tasks.js
CHANGED
|
@@ -9,6 +9,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
9
9
|
const ipc_1 = require("./ipc");
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const semaphore_1 = require("../semaphore");
|
|
12
|
+
const uuid_1 = require("uuid");
|
|
12
13
|
/**
|
|
13
14
|
* Tasks
|
|
14
15
|
* @date 3/1/2024 - 11:11:32 PM
|
|
@@ -31,12 +32,12 @@ class Tasks {
|
|
|
31
32
|
this.sync = sync;
|
|
32
33
|
}
|
|
33
34
|
async waitForPause() {
|
|
34
|
-
if (!this.sync.paused) {
|
|
35
|
+
if (!this.sync.paused || this.sync.removed) {
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
38
|
await new Promise(resolve => {
|
|
38
39
|
const wait = setInterval(() => {
|
|
39
|
-
if (!this.sync.paused) {
|
|
40
|
+
if (!this.sync.paused || this.sync.removed) {
|
|
40
41
|
clearInterval(wait);
|
|
41
42
|
resolve();
|
|
42
43
|
}
|
|
@@ -53,6 +54,9 @@ class Tasks {
|
|
|
53
54
|
*/
|
|
54
55
|
async processTask(delta) {
|
|
55
56
|
await this.waitForPause();
|
|
57
|
+
if (this.sync.removed) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
56
60
|
switch (delta.type) {
|
|
57
61
|
case "createLocalDirectory": {
|
|
58
62
|
try {
|
|
@@ -84,7 +88,8 @@ class Tasks {
|
|
|
84
88
|
type: "error",
|
|
85
89
|
relativePath: delta.path,
|
|
86
90
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
87
|
-
error: (0, utils_1.serializeError)(e)
|
|
91
|
+
error: (0, utils_1.serializeError)(e),
|
|
92
|
+
uuid: (0, uuid_1.v4)()
|
|
88
93
|
}
|
|
89
94
|
});
|
|
90
95
|
}
|
|
@@ -124,7 +129,8 @@ class Tasks {
|
|
|
124
129
|
type: "error",
|
|
125
130
|
relativePath: delta.path,
|
|
126
131
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
127
|
-
error: (0, utils_1.serializeError)(e)
|
|
132
|
+
error: (0, utils_1.serializeError)(e),
|
|
133
|
+
uuid: (0, uuid_1.v4)()
|
|
128
134
|
}
|
|
129
135
|
});
|
|
130
136
|
}
|
|
@@ -161,7 +167,8 @@ class Tasks {
|
|
|
161
167
|
type: "error",
|
|
162
168
|
relativePath: delta.path,
|
|
163
169
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
164
|
-
error: (0, utils_1.serializeError)(e)
|
|
170
|
+
error: (0, utils_1.serializeError)(e),
|
|
171
|
+
uuid: (0, uuid_1.v4)()
|
|
165
172
|
}
|
|
166
173
|
});
|
|
167
174
|
}
|
|
@@ -206,7 +213,8 @@ class Tasks {
|
|
|
206
213
|
type: "error",
|
|
207
214
|
relativePath: delta.path,
|
|
208
215
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
209
|
-
error: (0, utils_1.serializeError)(e)
|
|
216
|
+
error: (0, utils_1.serializeError)(e),
|
|
217
|
+
uuid: (0, uuid_1.v4)()
|
|
210
218
|
}
|
|
211
219
|
});
|
|
212
220
|
}
|
|
@@ -242,7 +250,8 @@ class Tasks {
|
|
|
242
250
|
type: "error",
|
|
243
251
|
relativePath: delta.path,
|
|
244
252
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
245
|
-
error: (0, utils_1.serializeError)(e)
|
|
253
|
+
error: (0, utils_1.serializeError)(e),
|
|
254
|
+
uuid: (0, uuid_1.v4)()
|
|
246
255
|
}
|
|
247
256
|
});
|
|
248
257
|
}
|
|
@@ -278,7 +287,8 @@ class Tasks {
|
|
|
278
287
|
type: "error",
|
|
279
288
|
relativePath: delta.path,
|
|
280
289
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
281
|
-
error: (0, utils_1.serializeError)(e)
|
|
290
|
+
error: (0, utils_1.serializeError)(e),
|
|
291
|
+
uuid: (0, uuid_1.v4)()
|
|
282
292
|
}
|
|
283
293
|
});
|
|
284
294
|
}
|
|
@@ -319,7 +329,8 @@ class Tasks {
|
|
|
319
329
|
type: "error",
|
|
320
330
|
relativePath: delta.path,
|
|
321
331
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
322
|
-
error: (0, utils_1.serializeError)(e)
|
|
332
|
+
error: (0, utils_1.serializeError)(e),
|
|
333
|
+
uuid: (0, uuid_1.v4)()
|
|
323
334
|
}
|
|
324
335
|
});
|
|
325
336
|
}
|
|
@@ -363,7 +374,8 @@ class Tasks {
|
|
|
363
374
|
type: "error",
|
|
364
375
|
relativePath: delta.path,
|
|
365
376
|
localPath: path_1.default.join(this.sync.syncPair.localPath, delta.path),
|
|
366
|
-
error: (0, utils_1.serializeError)(e)
|
|
377
|
+
error: (0, utils_1.serializeError)(e),
|
|
378
|
+
uuid: (0, uuid_1.v4)()
|
|
367
379
|
}
|
|
368
380
|
});
|
|
369
381
|
}
|
|
@@ -451,12 +463,29 @@ class Tasks {
|
|
|
451
463
|
}
|
|
452
464
|
catch (e) {
|
|
453
465
|
this.sync.worker.logger.log("error", e, "tasks.process");
|
|
466
|
+
this.sync.worker.logger.log("error", e);
|
|
454
467
|
if (e instanceof Error) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
468
|
+
if (delta.type === "renameLocalDirectory" ||
|
|
469
|
+
delta.type === "renameLocalFile" ||
|
|
470
|
+
delta.type === "renameRemoteDirectory" ||
|
|
471
|
+
delta.type === "renameRemoteFile") {
|
|
472
|
+
errors.push({
|
|
473
|
+
path: delta.path,
|
|
474
|
+
type: delta.type,
|
|
475
|
+
error: e,
|
|
476
|
+
from: delta.from,
|
|
477
|
+
to: delta.to,
|
|
478
|
+
uuid: (0, uuid_1.v4)()
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
errors.push({
|
|
483
|
+
path: delta.path,
|
|
484
|
+
type: delta.type,
|
|
485
|
+
error: e,
|
|
486
|
+
uuid: (0, uuid_1.v4)()
|
|
487
|
+
});
|
|
488
|
+
}
|
|
460
489
|
}
|
|
461
490
|
}
|
|
462
491
|
finally {
|