mirror of
https://github.com/logseq/logseq.git
synced 2026-05-04 10:56:32 +00:00
fix(editor): slow recur-replace-uuid-in-block-title
Forgot to convert next-refs to a set, leading to a large amount of redundant computation
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
(:require [clojure.string :as string]
|
||||
[datascript.core :as d]
|
||||
[logseq.db :as ldb]
|
||||
[logseq.db.frontend.content :as db-content]
|
||||
[logseq.db.common.entity-plus :as entity-plus]
|
||||
[logseq.db.frontend.content :as db-content]
|
||||
[logseq.db.sqlite.util :as sqlite-util]
|
||||
[logseq.graph-parser.property :as gp-property]
|
||||
[logseq.outliner.tree :as otree]))
|
||||
@@ -37,8 +37,11 @@
|
||||
depth 0]
|
||||
(if (or (>= depth max-depth) (empty? current-refs))
|
||||
result-refs
|
||||
(let [next-refs (mapcat :block/refs current-refs)]
|
||||
(recur (apply conj result-refs next-refs) next-refs (inc depth)))))]
|
||||
(let [next-refs (set (mapcat :block/refs current-refs))
|
||||
result-refs' (apply conj result-refs next-refs)]
|
||||
(if (= (count result-refs') (count result-refs))
|
||||
result-refs
|
||||
(recur (apply conj result-refs next-refs) next-refs (inc depth))))))]
|
||||
(loop [result (db-content/id-ref->title-ref (:block/title ent) ref-set true)
|
||||
last-result nil
|
||||
depth 0]
|
||||
|
||||
Reference in New Issue
Block a user