Commit graph

383 commits

Author SHA1 Message Date
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
0fda95ff8e split: sync-client file-operations + persistence
Rewrite file-operations and safe-filesystem-operations (and their tests),
update filesystem-operations. Drop persistence/database.ts (in-memory
record store moved into sync-event-queue). Update persistence/settings.ts.
2026-05-08 21:36:54 +01:00
45b86cffe4 split: sync-client services layer
Add build-vault-url helper. Rewrite fetch-controller and websocket-manager
(plus their tests). Update server-config and sync-service to consume the
new error types and the regenerated API types from previous chunks.
2026-05-08 21:36:41 +01:00
9d99a4ac23 split: sync-client utils and errors reorganization
Move error classes from services/ and file-operations/ into a new errors/
directory (authentication-error, server-version-mismatch-error,
sync-reset-error, file-not-found-error), plus add file-already-exists-error
and http-client-error. Update consts.ts and utils/* (await-all,
create-client-id, hash, rate-limit, find-matching-file). Replace
data-structures (locks, min-covered, event-listeners, fix-sized-cache) and
add debugging utilities (in-memory-file-system, log-to-console,
slow-web-socket-factory). Removes utils/create-promise.ts.
2026-05-08 21:36:29 +01:00
f7beb31d8f split: regenerated TS API type bindings
Auto-generated TS types regenerated from Rust ts-rs derives, mirrored into
frontend/sync-client/src/services/types/ and frontend/history-ui/src/lib/types/.
Adds ListVaultsResponse, VaultHistoryResponse, VaultInfo and updates several
existing types; removes DeleteDocumentVersion and UpdateDocumentVersion.
2026-05-08 21:36:13 +01:00
9a75569e83 Bump versions to 0.14.0 2025-12-14 23:31:40 +00:00
5efe30d9d6 Format & lint 2025-12-14 17:19:25 +00:00
4fb3839b3e Add lock tests 2025-12-14 17:19:25 +00:00
7daa363723 Unsubscribe in SyncClient 2025-12-14 17:19:25 +00:00
47f24e168b Wait for idle instead 2025-12-14 17:19:25 +00:00
b6ab01d56a Handle websocket race condition 2025-12-14 17:19:25 +00:00
580c993071 Reject pending locks on reset 2025-12-14 17:19:25 +00:00
8aba8ee44a Extract const 2025-12-14 17:19:25 +00:00
079cd26faa Bump versions to 0.13.1 2025-12-11 22:10:21 +00:00
f6dccc4492 Try fixing E2E tests more 2025-12-11 22:08:48 +00:00
387e7afd58 Allow-list error type 2025-12-10 23:14:50 +00:00
9ac7fdbeb7
Improve CI (#181) 2025-12-10 22:03:13 +00:00
8e4ac3a26a Fix manifests 2025-12-08 20:11:56 +00:00
e2b24725ef Bump versions to 0.13.0 2025-12-07 19:29:15 +00:00
6608804d34 Refactor & lint 2025-12-07 16:42:23 +00:00
e47d8a8179 Fix file watching 2025-12-07 16:42:23 +00:00
e9252955b4 Align prettier & editorconfig 2025-12-07 16:42:23 +00:00
570c41299b Create vault dir if doesn't exist 2025-12-07 16:42:23 +00:00
504ddb6ff6 Pick up new events API 2025-12-07 16:42:23 +00:00
0a5bbbf20e Fix and apply editorconfig 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
1ed22c72d7 Enforce editorconfig 2025-12-07 16:42:23 +00:00
9e06d99512 Run all tests 2025-12-07 16:42:23 +00:00
3f2ecfb0b6 Use efficient filters 2025-12-07 16:42:23 +00:00
07cb8491e2 Bump versions to 0.12.0 2025-12-06 22:21:55 +00:00
aca1ca50a4 Update reconcile to 0.8.0 2025-12-06 22:20:31 +00:00
d979963f86 Fix http error handling in the client service 2025-12-06 22:00:54 +00:00
ea603f83fd Fix HTTP method of the server 2025-12-06 21:25:30 +00:00
a1bda41646 Always fetch the right document version content 2025-12-06 11:44:57 +00:00
5238d85181 Print more details 2025-12-06 10:52:46 +00:00
77e0bb4caf Await all 2025-12-05 22:33:33 +00:00
e8d86c737b More logs 2025-12-05 22:29:46 +00:00
a5e128efcd Lint 2025-12-05 21:48:35 +00:00
8adb8841ef Investigate dead-lock 2025-12-05 21:42:34 +00:00
564d4a6c37 Lint 2025-12-03 23:24:53 +00:00
8ef2f8c132 Escape vault name 2025-12-03 23:18:16 +00:00
dependabot[bot]
d39a91b447
Bump tsx from 4.20.5 to 4.20.6 in /frontend (#154)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 22:32:58 +00:00
dependabot[bot]
da2237fa68
Bump sass-loader from 16.0.5 to 16.0.6 in /frontend (#159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 22:32:49 +00:00
8e336cb0f3 Bump versions to 0.11.1 2025-12-02 20:46:41 +00:00
215c024876 Bump versions to 0.11.0 2025-11-30 15:26:40 +00:00
9349afc00f Run lint & fmt 2025-11-30 15:24:52 +00:00
c7c96b787a Add log lines 2025-11-30 15:24:52 +00:00
7beda491e9 Rename method 2025-11-30 15:24:52 +00:00
39860f7f04 Add lock on settings 2025-11-30 15:24:52 +00:00