Przeglądaj źródła

:art: Improve kernel stability https://github.com/siyuan-note/siyuan/issues/9912

Daniel 1 rok temu
rodzic
commit
339020a282
2 zmienionych plików z 5 dodań i 1 usunięć
  1. 3 1
      kernel/api/filetree.go
  2. 2 0
      kernel/model/file.go

+ 3 - 1
kernel/api/filetree.go

@@ -432,6 +432,7 @@ func createDoc(c *gin.Context) {
 		return
 	}
 
+	model.WaitForWritingFiles()
 	box := model.Conf.Box(notebook)
 	pushCreate(box, p, tree.Root.ID, arg)
 
@@ -461,8 +462,8 @@ func createDailyNote(c *gin.Context) {
 		return
 	}
 
-	box := model.Conf.Box(notebook)
 	model.WaitForWritingFiles()
+	box := model.Conf.Box(notebook)
 	luteEngine := util.NewLute()
 	tree, err := filesys.LoadTree(box.ID, p, luteEngine)
 	if nil != err {
@@ -549,6 +550,7 @@ func createDocWithMd(c *gin.Context) {
 	}
 	ret.Data = id
 
+	model.WaitForWritingFiles()
 	box := model.Conf.Box(notebook)
 	b, _ := model.GetBlock(id, nil)
 	p := b.Path

+ 2 - 0
kernel/model/file.go

@@ -1015,6 +1015,7 @@ func CreateDocByMd(boxID, p, title, md string, sorts []string) (tree *parse.Tree
 		return
 	}
 
+	WaitForWritingFiles()
 	ChangeFileTreeSort(box.ID, sorts)
 	return
 }
@@ -1033,6 +1034,7 @@ func CreateWithMarkdown(boxID, hPath, md, parentID, id string) (retID string, er
 	luteEngine := util.NewLute()
 	dom := luteEngine.Md2BlockDOM(md, false)
 	retID, err = createDocsByHPath(box.ID, hPath, dom, parentID, id)
+	WaitForWritingFiles()
 	return
 }