From 6fe6f76ab99fbc1e762688fa5e5c3eb191c1081b Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 31 May 2022 21:53:58 +0800 Subject: [PATCH] fix: db errors --- src/main/frontend/modules/crdt/yjs.cljs | 27 +++++++++++++------------ 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/frontend/modules/crdt/yjs.cljs b/src/main/frontend/modules/crdt/yjs.cljs index 31e2732c54..04ee890e5b 100644 --- a/src/main/frontend/modules/crdt/yjs.cljs +++ b/src/main/frontend/modules/crdt/yjs.cljs @@ -82,19 +82,20 @@ (defn- replace-db-id-with-block-uuid [tx-report block] - (walk/postwalk (fn [f] - (if (and (map? f) - (= 1 (count f)) - (:db/id f)) - (let [block-uuid (or (:block/uuid (d/entity (:db-before tx-report) (:db/id f))) - (:block/uuid (d/entity (:db-after tx-report) (:db/id f))))] - (if block-uuid - [:block/uuid block-uuid] - (throw (ex-info "Can't resolve entity in both db-before and db-after" - {:block block - :f f})))) - f)) - block)) + (let [block (dissoc block :block/file)] + (walk/postwalk (fn [f] + (if (and (map? f) + (= 1 (count f)) + (:db/id f)) + (let [block-uuid (or (:block/uuid (d/entity (:db-before tx-report) (:db/id f))) + (:block/uuid (d/entity (:db-after tx-report) (:db/id f))))] + (if block-uuid + [:block/uuid block-uuid] + (throw (ex-info "Can't resolve entity in both db-before and db-after" + {:block block + :f f})))) + f)) + block))) ;; TODO: merge pages, page names are same but with different uuids (defn- transact-blocks!