Jelajahi Sumber

:bug: Blocks created via template update time earlier than creation time Fix https://github.com/siyuan-note/siyuan/issues/8607

Daniel 2 tahun lalu
induk
melakukan
32dee71bb9
2 mengubah file dengan 6 tambahan dan 3 penghapusan
  1. 3 0
      kernel/model/template.go
  2. 3 3
      kernel/model/transaction.go

+ 3 - 0
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 ||

+ 3 - 3
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)
 	}