From ff2fbd04f97f2993fe8ae9fd1b7776e1621b1863 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 11 Feb 2026 18:20:54 +0800 Subject: [PATCH] :technologist: Fix the issue of the kernel API `updateBlock` clearing document data https://github.com/siyuan-note/siyuan/issues/16995 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/transaction.go | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 9c52ec7f1..3162924f9 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -167,11 +167,8 @@ func performTx(tx *Transaction) (ret *TxErr) { }() isLargeInsert := tx.processLargeInsert() - isLargeDelete := false + tx.processLargeDelete() if !isLargeInsert { - isLargeDelete = tx.processLargeDelete() - } - if !isLargeInsert && !isLargeDelete { for _, op := range tx.DoOperations { switch op.Action { case "create": @@ -347,16 +344,14 @@ func (tx *Transaction) processLargeDelete() bool { } var deleteOps []*Operation - var lastInsertOp *Operation + var lastOp *Operation for i, op := range tx.DoOperations { if "delete" != op.Action { if i != opSize-1 { return false } - if "insert" == op.Action && "" != op.ParentID && "" == op.PreviousID { - lastInsertOp = op - } + lastOp = op continue } @@ -368,8 +363,8 @@ func (tx *Transaction) processLargeDelete() bool { } tx.doLargeDelete(deleteOps) - if nil != lastInsertOp { - tx.doInsert(lastInsertOp) + if nil != lastOp { + tx.DoOperations = []*Operation{lastOp} } return true }