🐛 The new database entry after binding block is lost in some cases https://github.com/siyuan-note/siyuan/issues/11269

This commit is contained in:
Daniel 2024-05-07 08:54:31 +08:00
parent cf23dea440
commit 7b2d8c8bd0
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -33,13 +33,16 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数仅在 parentID 不为空的情况下使用 */) (retID string, err error) {
func createDocsByHPath(boxID, hPath, content, parentID, id string) (retID string, err error) {
if "" == id {
id = ast.NewNodeID()
}
retID = id
hPath = strings.TrimSuffix(hPath, ".sy")
if "" != parentID {
retID = id
// The save path is incorrect when creating a sub-doc by ref in a doc with the same name https://github.com/siyuan-note/siyuan/issues/8138
// 在指定父文档 ID 的情况下优先查找父文档
// 在指定了父文档 ID 的情况下优先查找父文档
parentHPath, name := path.Split(hPath)
parentHPath = strings.TrimSuffix(parentHPath, "/")
preferredParent := treenode.GetBlockTreeRootByHPathPreferredParentID(boxID, parentHPath, parentID)
@ -51,11 +54,6 @@ func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数
}
return
}
} else {
retID = ast.NewNodeID()
if "" == id {
id = retID
}
}
root := treenode.GetBlockTreeRootByPath(boxID, hPath)