From 88f62e86ec2d8a5e27bed9bc7ef4c0ab5b503a80 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Wed, 16 Jul 2025 14:40:18 +0800 Subject: [PATCH] perf improvement --- src/main/frontend/mixins.cljs | 3 ++- src/main/frontend/worker/embedding.cljs | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/frontend/mixins.cljs b/src/main/frontend/mixins.cljs index 25f502d771..a46b3ab1f1 100644 --- a/src/main/frontend/mixins.cljs +++ b/src/main/frontend/mixins.cljs @@ -9,7 +9,8 @@ (defn detach "Detach all event listeners." [state] - (some-> state ::event-handler .removeAll)) + (when-let [^EventHandler handler (some-> state ::event-handler)] + (.removeAll handler))) (defn listen "Register an event `handler` for events of `type` on `target`." diff --git a/src/main/frontend/worker/embedding.cljs b/src/main/frontend/worker/embedding.cljs index 6a0dca8cba..07cbe3cfd4 100644 --- a/src/main/frontend/worker/embedding.cljs +++ b/src/main/frontend/worker/embedding.cljs @@ -51,20 +51,20 @@ (defn- stale-block-filter-preds "When `reset?`, ignore :logseq.property.embedding/hnsw-label-updated-at in block" [reset?] - (let [preds (cond-> [(fn [b] - (let [db-ident (:db/ident b) - title (:block/title b)] - (and (or (nil? db-ident) - (not (string/starts-with? (namespace db-ident) "logseq."))) - (not (string/blank? title)) - (not (ldb/hidden? title)) - (nil? (:logseq.property/view-for b)) - (not (keyword-identical? - :logseq.property/description - (:db/ident (:logseq.property/created-from-property b)))))))] + (let [preds (cond->> (list (fn [b] + (let [db-ident (:db/ident b) + title (:block/title b)] + (and (or (nil? db-ident) + (not (string/starts-with? (namespace db-ident) "logseq."))) + (not (string/blank? title)) + (not (ldb/hidden? title)) + (nil? (:logseq.property/view-for b)) + (not (keyword-identical? + :logseq.property/description + (:db/ident (:logseq.property/created-from-property b)))))))) (not reset?) - (conj (fn [b] + (cons (fn [b] (let [block-updated-at (:block/updated-at b) hnsw-label-updated-at (:logseq.property.embedding/hnsw-label-updated-at b)] (or (nil? hnsw-label-updated-at)