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 {