42c9d55489
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.
2026-05-08 21:37:26 +01:00
5efe30d9d6
Format & lint
2025-12-14 17:19:25 +00:00
7daa363723
Unsubscribe in SyncClient
2025-12-14 17:19:25 +00:00
6608804d34
Refactor & lint
2025-12-07 16:42:23 +00:00
b05e415acf
Apply editorconfig
2025-12-07 16:42:23 +00:00
ad3191957a
Add event handler class
2025-12-07 16:42:23 +00:00
7beda491e9
Rename method
2025-11-30 15:24:52 +00:00
9d60ec14dd
Improve API
2025-11-30 15:24:52 +00:00
3ed2e4f666
Add api version check to client
2025-11-30 15:24:52 +00:00
c3cbde052a
Add server config for mergable extensions
2025-11-30 15:24:52 +00:00
18be9f4dd8
Fix lint
2025-11-30 15:24:52 +00:00
c4da1426b1
Fix compile
2025-11-30 15:24:52 +00:00
c94d732f24
Fix resetting
2025-11-30 15:24:52 +00:00
fb2d82a06e
Lint
2025-11-30 15:24:52 +00:00
83c15a77c3
Add 2 more settings from consts
2025-11-30 15:24:52 +00:00
3cdd2a4387
Use updated APIs
2025-11-30 15:24:52 +00:00
56c77dc3f6
Fix fetch controller
2025-11-30 15:24:52 +00:00
56c1f4d58b
Restructure packages
2025-11-30 15:24:52 +00:00
c08feba0ad
Improve settings ( #168 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-19 19:53:10 +00:00
be1635c26e
Improve network usage for small text changes ( #166 )
2025-11-16 22:10:22 +00:00
d33f80cca6
Fix E2E tests ( #114 )
2025-08-30 10:19:31 +01:00
376008de54
Improve editor sync status line
2025-08-28 21:55:43 +01:00
a36a24effc
Fix main & improve cursor sync ( #101 )
2025-08-25 17:15:52 +01:00
81b81e30ff
Use unknown return type for callbacks
2025-08-17 15:12:31 +01:00
e73f147fbc
Add local prediction for remote cursor updates
2025-08-17 15:03:34 +01:00
bb0e44f06f
Extract reconcile ( #85 )
2025-07-13 11:06:42 +01:00
e8b9bf40c5
Add API for propagating cursor locations ( #61 )
2025-06-08 20:20:52 +01:00
de346b9fcf
Add sync status inside editor
2025-05-11 22:25:19 +01:00
8b22549f5e
Expose sync status per file
2025-05-11 22:24:43 +01:00
3ec6bd4d5b
Allow overriding WebSocket implementation and add flaky version for testing
2025-04-07 23:13:45 +01:00
a25027bc90
Send device id to server
2025-04-04 23:15:05 +01:00
6fb922f4ba
Rate-limit DB writes
2025-03-29 11:02:42 +00:00
1aad0fce31
Add WebSocket support ( #12 )
2025-03-29 10:17:46 +00:00
468d0ac8cf
Fix history view
2025-03-23 15:00:20 +00:00
a8cadd1e53
Fix test
2025-03-22 20:50:43 +00:00
e83539bb48
Inject deps
2025-03-22 20:31:48 +00:00
eb9fadf714
Fix crashes
2025-03-22 18:10:39 +00:00
8cfbaa1bda
Fix reset flow
2025-03-22 17:21:59 +00:00
acbc0c0e65
Improve server config setting section
2025-03-22 15:38:23 +00:00
5edf8f37a6
Rename
2025-03-22 14:06:36 +00:00
2722f7c7fc
Stop exposing Syncer from SyncClient
2025-03-22 13:48:01 +00:00
ba90fc0b41
Lint & format
2025-03-22 12:09:07 +00:00
d885646f39
Configure line-endings
2025-03-22 12:04:33 +00:00
b6d0416807
Lint
2025-03-20 22:28:59 +00:00
8a9f87cc05
Clean up API
2025-03-20 22:27:07 +00:00
8b8f1d91d9
Fix syncing when network latency is present ( #4 )
...
* WIP
* Add debug
* Dedupe inserts
* Add deterministic ordering
* Fix whitespaces
* Update insta
* Add integration test script
* Rename
* Add test
* Working for non-deletes
* omg it mostly works for deletes
* Isdeleted fix
* remove created dates
* update api
* Take document id
* No max attempt
* works
* Use string uuids
* .
* working!!!! (hopefully)
* Improve bundling
* Add module
* lint
* .
* lint
* Fix CI
* use toolchain
* clean up
* Add useSlowFileEvents
* Delete fuzz
* Fix CI
* use docker
* fix script
* clean up
* Clean up
* change node version
* Build docker image on every commit
* fix ci
* 1 db per vault
* Add scritps folder
* Bump versions
* Lint
* .
* Fix tests for real
* Style
* .
* try
* Consistent ordering
* Fix tests
* hmm
* .
* Clean up diff
* Fixes
* .
* Fix version bump
* .
* .
* .
2025-03-16 20:13:49 +00:00
9cebf53707
Allow overriding fetch implementation
2025-02-25 22:52:47 +00:00
a5bcaec9fe
Fix inifinite loop at end of test
2025-02-25 20:33:10 +00:00
a7b518d7ea
Fix deconflicting
2025-02-24 23:01:24 +00:00
41c7ebcd87
Clean up deps
2025-02-23 17:23:04 +00:00