From 32dee71bb90ace2d6690b2a09dc20fe8580aa2c2 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 24 Jun 2023 20:26:15 +0800 Subject: [PATCH] :bug: Blocks created via template update time earlier than creation time Fix https://github.com/siyuan-note/siyuan/issues/8607 --- kernel/model/template.go | 3 +++ kernel/model/transaction.go | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/model/template.go b/kernel/model/template.go index a4e295fd8..419c26283 100644 --- a/kernel/model/template.go +++ b/kernel/model/template.go @@ -250,6 +250,9 @@ func renderTemplate(p, id string) (string, error) { // 重新生成 ID n.ID = ast.NewNodeID() n.SetIALAttr("id", n.ID) + + // Blocks created via template update time earlier than creation time https://github.com/siyuan-note/siyuan/issues/8607 + refreshUpdated(n) } if (ast.NodeListItem == n.Type && (nil == n.FirstChild || diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 2b0192af3..857619ba0 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -989,10 +989,10 @@ func (tx *Transaction) doSetAttrs(operation *Operation) (ret *TxErr) { return } -func refreshUpdated(n *ast.Node) { +func refreshUpdated(node *ast.Node) { updated := util.CurrentTimeSecondsStr() - n.SetIALAttr("updated", updated) - parents := treenode.ParentNodes(n) + node.SetIALAttr("updated", updated) + parents := treenode.ParentNodes(node) for _, parent := range parents { // 更新所有父节点的更新时间字段 parent.SetIALAttr("updated", updated) }