From 6726ea51df4c362bd2f1eb1ae6e707360d35aa21 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 10 Dec 2025 18:03:34 +0800 Subject: [PATCH] :art: Fix https://github.com/siyuan-note/siyuan/issues/16549 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/transaction.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index f1473f87b..2e8d1cbaf 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1612,6 +1612,16 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) { util.PushEvent(evt) } + if avNames := getAvNames(updatedNode.IALAttr(av.NodeAttrNameAvs)); "" != avNames { + // updateBlock 会清空数据库角标 https://github.com/siyuan-note/siyuan/issues/16549 + go func() { + time.Sleep(200 * time.Millisecond) + oldAttrs := parse.IAL2Map(updatedNode.KramdownIAL) + updatedNode.SetIALAttr(av.NodeAttrViewNames, avNames) + pushBroadcastAttrTransactions(oldAttrs, updatedNode) + }() + } + createdUpdated(updatedNode) tx.nodes[updatedNode.ID] = updatedNode if err = tx.writeTree(tree); err != nil {