fix: application Crash when trying to populate node property

fixed https://github.com/logseq/db-test/issues/402
This commit is contained in:
Tienson Qin
2025-08-01 13:45:04 +08:00
parent fe93a31563
commit c9e446fd86
2 changed files with 20 additions and 19 deletions

View File

@@ -746,22 +746,22 @@
node) node)
id (:db/id node) id (:db/id node)
[header label] (if (integer? id) [header label] (if (integer? id)
(let [node-title (if (seq (:logseq.property/classes property)) (when-let [node-title (if (seq (:logseq.property/classes property))
(db-content/recur-replace-uuid-in-block-title node) (db-content/recur-replace-uuid-in-block-title node)
(block-handler/block-unique-title node)) (block-handler/block-unique-title node))]
title (subs node-title 0 256) (let [title (subs node-title 0 256)
node (or (db/entity id) node) node (or (db/entity id) node)
icon (get-node-icon node) icon (get-node-icon node)
header (when-not (db/page? node) header (when-not (db/page? node)
(when-let [breadcrumb (state/get-component :block/breadcrumb)] (when-let [breadcrumb (state/get-component :block/breadcrumb)]
[:div.text-xs.opacity-70 [:div.text-xs.opacity-70
(breadcrumb {:search? true} (state/get-current-repo) (:block/uuid node) {})])) (breadcrumb {:search? true} (state/get-current-repo) (:block/uuid node) {})]))
label [:div.flex.flex-row.items-center.gap-1 label [:div.flex.flex-row.items-center.gap-1
(when-not (or (:logseq.property/classes property) (when-not (or (:logseq.property/classes property)
(contains? #{:class :property} (:logseq.property/type property))) (contains? #{:class :property} (:logseq.property/type property)))
(ui/icon icon {:size 14})) (ui/icon icon {:size 14}))
[:div title]]] [:div title]]]
[header label]) [header label]))
[nil (:block/title node)])] [nil (:block/title node)])]
(assoc node (assoc node
:header header :header header

View File

@@ -44,8 +44,9 @@
(into {}))] (into {}))]
[[:db/add (:db/id entity) :logseq.property.table/sized-columns new-value]]) [[:db/add (:db/id entity) :logseq.property.table/sized-columns new-value]])
(:block.temp/fully-loaded? entity) (some (fn [k] (= "block.temp" (namespace k))) (keys entity))
[[:db/retract (:db/id entity) :block.temp/fully-loaded?]] (let [ks (filter (fn [k] (= "block.temp" (namespace k))) (keys entity))]
(mapv (fn [k] [:db/retract (:db/id entity) k]) ks))
(and (:block/page entity) (not (:block/parent entity))) (and (:block/page entity) (not (:block/parent entity)))
[[:db/add (:db/id entity) :block/parent (:db/id (:block/page entity))]] [[:db/add (:db/id entity) :block/parent (:db/id (:block/page entity))]]
(and (not (:block/page entity)) (not (:block/parent entity)) (not (:block/name entity))) (and (not (:block/page entity)) (not (:block/parent entity)) (not (:block/name entity)))
@@ -82,7 +83,7 @@
[[:db/retract (:e d) (:a d) (:v d)]])))))) [[:db/retract (:e d) (:a d) (:v d)]]))))))
tx-data (concat fix-tx-data class-as-properties)] tx-data (concat fix-tx-data class-as-properties)]
(when (seq tx-data) (when (seq tx-data)
(ldb/transact! conn tx-data {:fix-db? true})))) (d/transact! conn tx-data {:fix-db? true}))))
(defn validate-db (defn validate-db
[conn] [conn]