From ebfd85aebfb773320e8cc3babe7408bb574e73d2 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Fri, 25 Apr 2025 00:30:14 +0800 Subject: [PATCH] fix: rebuild db from datoms if there're missing addresses --- src/main/frontend/db/async.cljs | 31 +++++++++++++++---------- src/main/frontend/worker/db_worker.cljs | 8 +++++-- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/main/frontend/db/async.cljs b/src/main/frontend/db/async.cljs index 09d09b3fe3..cf293cc251 100644 --- a/src/main/frontend/db/async.cljs +++ b/src/main/frontend/db/async.cljs @@ -15,6 +15,7 @@ [frontend.handler.file-based.property.util :as property-util] [frontend.state :as state] [frontend.util :as util] + [logseq.common.util :as common-util] [logseq.db :as ldb] [logseq.db.frontend.property :as db-property] [promesa.core :as p])) @@ -126,19 +127,25 @@ (p/promise e) :else - (p/let [result (state/ + (p/let [result (state/> (remove (fn [b] (:block.temp/fully-loaded? (db/entity (:db/id b)))) block-and-children) + (common-util/fast-remove-nils) + (remove empty?))] + (when (seq tx-data) (d/transact! conn tx-data)) + (when-not skip-refresh? + (react/refresh-affected-queries! graph affected-keys)))) - (if children-only? children block))))) + (if children-only? children block)) + (p/catch (fn [error] + (js/console.error error) + (throw (ex-info "get-block error" {:block id-uuid-or-name})))))))) (defn