Browse Source

perf improvement

Tienson Qin 3 months ago
parent
commit
88f62e86ec
2 changed files with 14 additions and 13 deletions
  1. 2 1
      src/main/frontend/mixins.cljs
  2. 12 12
      src/main/frontend/worker/embedding.cljs

+ 2 - 1
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`."

+ 12 - 12
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)