split: sync-engine rewrite (sync-operations + sync-client.ts)
Replace the single unrestricted-syncer.ts with a two-loop architecture: - syncer.ts drains the FIFO wire queue (HTTP + WS handlers). - reconciler.ts moves files to make localPath match remoteRelativePath (topo-sorted move graph, in-memory cycle resolution with crash-safe swap markers). - sync-event-queue.ts holds the byDocId / byLocalPath indexes and the pending-create promise chain. - offline-change-detector.ts, expected-fs-events.ts, types.ts, and a rewritten cursor-tracker.ts / file-change-notifier.ts round it out. Plus sync-client.ts wiring, tracing/sync-history.ts updates, index.ts re-exports, and sync-client tsconfig/webpack/package.json.
This commit is contained in:
parent
0fda95ff8e
commit
42c9d55489
18 changed files with 5068 additions and 1257 deletions
|
|
@ -14,19 +14,17 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"byte-base64": "^1.1.0",
|
||||
"minimatch": "^10.0.1",
|
||||
"p-queue": "^8.1.0",
|
||||
"minimatch": "^10.1.1",
|
||||
"p-queue": "^9.0.1",
|
||||
"reconcile-text": "^0.8.0",
|
||||
"uuid": "^13.0.0",
|
||||
"@types/node": "^24.8.1",
|
||||
"ts-loader": "^9.5.2",
|
||||
"@types/node": "^25.0.2",
|
||||
"ts-loader": "^9.5.4",
|
||||
"tslib": "2.8.1",
|
||||
"tsx": "^4.20.6",
|
||||
"typescript": "5.8.3",
|
||||
"webpack": "^5.99.9",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "5.9.3",
|
||||
"webpack": "^5.103.0",
|
||||
"webpack-cli": "^6.0.1",
|
||||
"webpack-merge": "^6.0.1",
|
||||
"@sentry/browser": "^10.8.0",
|
||||
"ws": "^8.18.3"
|
||||
"@sentry/browser": "^10.30.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue