Commit Graph

62 Commits

Author SHA1 Message Date
Tienson Qin
1d98f1d214 ensure :block/uuid immutability 2026-04-07 04:17:09 +08:00
Tienson Qin
56e85624dc switch to EAV-style incremental hashing 2026-04-07 04:01:39 +08:00
Tienson Qin
92999a6a76 use agent-browser for sync parallel clients tests 2026-04-06 23:02:48 +08:00
TechnoHouse (deephbz)
8e1be9afbb fix(db-sync): stream snapshot downloads directly from sync do 2026-04-01 14:39:51 +08:00
Tienson Qin
7960f398ca server should never recompute checksum 2026-04-01 03:20:33 +08:00
Tienson Qin
6bf4b51ba1 code cleanup 2026-04-01 03:19:23 +08:00
Tienson Qin
b3e400c2ae enhance(db-sync): move graph download to worker and stream kv snapshots 2026-04-01 03:04:23 +08:00
Tienson Qin
068c34355a fix: checksum drift after rebase/undo/redo ops 2026-03-30 18:51:44 +08:00
Tienson Qin
c360713063 add script to download a graph to debug 2026-03-30 18:36:18 +08:00
Tienson Qin
0e3a3aabf7 add command to debug graph checksum 2026-03-30 17:05:11 +08:00
Tienson Qin
a7436c0d8b fix(db-sync): expose rsa-key-exists and enforce key bootstrap 2026-03-26 15:15:20 +08:00
Tienson Qin
b4e397abff fix(db-sync): require user rsa key pair for e2ee graph create 2026-03-26 15:05:10 +08:00
Tienson Qin
ba64df8c08 fix(db-sync): stabilize checksum parity for e2ee graph init 2026-03-25 12:55:32 +08:00
Tienson Qin
e122073693 fix: lint 2026-03-18 06:23:22 +08:00
Tienson Qin
5e957beafb add more tests 2026-03-18 06:11:04 +08:00
Tienson Qin
917309113f feat: sync checksum 2026-03-17 00:07:33 +08:00
Tienson Qin
33098113ee enhance: returns rejected tx 2026-03-17 00:07:33 +08:00
Tienson Qin
42fec8324e simplify sync by applied txs sequentially 2026-03-17 00:07:33 +08:00
Tienson Qin
84965424a9 fix: gate graph when it's not ready for downloading 2026-03-13 18:22:16 +08:00
Tienson Qin
eeabd54d87 refactor: graph download switch to use r2 snapshot 2026-03-13 16:43:54 +08:00
Tienson Qin
81d1ded924 fix(sync): gate rtc until snapshot upload finishes 2026-03-12 20:00:29 +08:00
Tienson Qin
5d602c9d58 fix(db-sync): drop stale lookup-ref tx datoms 2026-03-12 08:18:52 +08:00
Tienson Qin
0055e8128c add d1 sql table indexes 2026-03-04 11:18:58 +08:00
Tienson Qin
8f923a911d Revert "client hello now sends since"
This reverts commit 2799a57074.
2026-03-03 22:37:30 +08:00
Tienson Qin
2799a57074 client hello now sends since 2026-03-03 20:52:44 +08:00
Tienson Qin
1df918728b fix: ws latency 2026-02-26 17:42:25 +08:00
Tienson Qin
ae9a37c889 fix: sync missing :block/title 2026-02-26 10:32:25 +08:00
Tienson Qin
084b5193c3 fix: sync doesn't work on node adapter 2026-02-12 19:31:24 +08:00
Tienson Qin
adff65c6bc support unencrypted graph 2026-02-12 02:15:14 +08:00
Tienson Qin
5d515a8e28 fix: don't throw error for exp/iss not found 2026-02-11 21:11:04 +08:00
Tienson Qin
10a8e3c491 fix: integrate large graph fixes from ulcaefna
Discord link: https://discord.com/channels/725182569297215569/1400122537744007198/1470853605753094288

1. Added snapshot streaming endpoint on worker:

  - deps/db-sync/src/logseq/db_sync/worker/routes/sync.cljs
  - deps/db-sync/src/logseq/db_sync/worker/handler/sync.cljs
      - Added :sync/snapshot-stream
      - Increased snapshot-download-batch-size to 5000
      - Added schema-init fallback probing (kvs, tx_log, sync_meta)
      - Improved HTTP error responses with debug fields

2. Switched frontend graph download from R2 URL flow to direct stream:

  - src/main/frontend/handler/db_based/sync.cljs
      - Removed /snapshot/download + cleanup DELETE flow
      - Uses direct GET /snapshot/stream

3. Applied large-graph upload stability fixes:

  - src/main/frontend/worker/sync.cljs
      - upload-kvs-batch-size changed 2000 -> 500
      - Reworked offload-large-titles-in-datoms to avoid deep promise chains
      - Fixed upload progress message to use updated loaded count
  - src/main/frontend/worker/sync/crypt.cljs
      - Batched <encrypt-datoms in chunks of 5000
  - src/main/frontend/worker/sync/client_op.cljs
      - update-graph-uuid now retracts old :graph-uuid datoms before add

4. Applied worker-side error visibility and catch hardening:

  - deps/db-sync/src/logseq/db_sync/worker.cljs
  - deps/db-sync/src/logseq/db_sync/worker/dispatch.cljs
  - deps/db-sync/src/logseq/db_sync/worker/coerce.cljs
  - deps/db-sync/src/logseq/db_sync/worker/http.cljs
  - deps/db-sync/src/logseq/db_sync/worker/handler/index.cljs

5. Added/updated tests for these behaviors:
2026-02-11 14:41:26 +08:00
Gabriel Horner
cd7c1ef50e enhance(dev): add linters for db-sync
Fix minor kondo errors. Also removed obvious dead code found by carve linter
2026-02-09 12:25:50 -05:00
Tienson Qin
54844ff95f no need to run db-sync tests in build CI
because it's already handled by its own dep ci test
2026-02-06 19:08:52 +08:00
Tienson Qin
e428d52ee3 fix: can't upsert user in node adapter 2026-02-06 18:13:25 +08:00
Tienson Qin
7a915a31b1 remove static auth because signin/up doesn't support custom login 2026-02-06 17:35:30 +08:00
Tienson Qin
8bbc0fede8 enhance: gzip download graph 2026-02-06 16:30:01 +08:00
Tienson Qin
2ea618b76f fix: don't notify source client with presence update 2026-02-06 15:55:55 +08:00
Gabriel Horner
c1ca626b36 enhance(dev): add workflow to run db-sync's tests
Also disable test ns that has hanging tests. Was able to pinpoint
where tests are hanging and left logging there to fix it in the future
2026-02-04 16:36:16 -05:00
Tienson Qin
b8445a6395 node.js adapter 2026-01-31 00:51:35 +08:00
Tienson Qin
e00a037624 fix: don't run sync for local graphs that's detached from server 2026-01-30 03:00:28 +08:00
Tienson Qin
96e2be398f fix: asset op 2026-01-30 02:37:40 +08:00
Tienson Qin
8e815b85b8 remove buggy code 2026-01-27 23:28:44 +08:00
Tienson Qin
f46c245788 refactor: keep worker as thin as possible 2026-01-26 22:26:53 +08:00
Tienson Qin
cd0a2568b1 refactor: use reitit for worker routes 2026-01-26 21:33:15 +08:00
Tienson Qin
ebf768e340 fix: extends cycle 2026-01-26 18:38:47 +08:00
Tienson Qin
0cf01ba780 fix: parent cycle 2026-01-26 17:36:34 +08:00
Tienson Qin
59e1cd9af9 enhance(ux): able to remove graph access or leave a graph 2026-01-26 15:54:25 +08:00
Tienson Qin
1f71f9e78e e2ee 2026-01-22 18:50:05 +08:00
Tienson Qin
bebddd677e batch insert 2026-01-22 00:30:49 +08:00
Tienson Qin
3f4685f862 fix: graph role 2026-01-21 23:05:28 +08:00