From 2b37ea5d06b804aa854cc16ffe630eefe1c0e964 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 4 Feb 2024 09:54:43 +0800 Subject: [PATCH 1/2] :bug: Fix rollup column sort https://ld246.com/article/1706960677814 --- kernel/av/table.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/kernel/av/table.go b/kernel/av/table.go index 711ca6cf9..c38922c0a 100644 --- a/kernel/av/table.go +++ b/kernel/av/table.go @@ -17,6 +17,7 @@ package av import ( + "bytes" "math" "sort" "strconv" @@ -210,8 +211,19 @@ func (value *Value) Compare(other *Value) int { } case KeyTypeRollup: if nil != value.Rollup && nil != other.Rollup { - vContent := strings.TrimSpace(strings.Join(value.Relation.Contents, " ")) - oContent := strings.TrimSpace(strings.Join(other.Relation.Contents, " ")) + vContentBuf := bytes.Buffer{} + for _, c := range value.Rollup.Contents { + vContentBuf.WriteString(c.String()) + vContentBuf.WriteByte(' ') + } + vContent := strings.TrimSpace(vContentBuf.String()) + oContentBuf := bytes.Buffer{} + for _, c := range other.Rollup.Contents { + oContentBuf.WriteString(c.String()) + oContentBuf.WriteByte(' ') + } + oContent := strings.TrimSpace(oContentBuf.String()) + if util.IsNumeric(vContent) && util.IsNumeric(oContent) { v1, _ := strconv.ParseFloat(vContent, 64) v2, _ := strconv.ParseFloat(oContent, 64) From 3dc93ff409330304a2ded2fe6a2af62ee23e7fb7 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 4 Feb 2024 10:15:28 +0800 Subject: [PATCH 2/2] :art: When `New document save location` is configured as `/`, it will be completed as `/Untitled` https://github.com/siyuan-note/siyuan/issues/10305 --- kernel/api/filetree.go | 3 +++ kernel/api/notebook.go | 3 +++ kernel/api/setting.go | 3 +++ kernel/model/conf.go | 3 +++ 4 files changed, 12 insertions(+) diff --git a/kernel/api/filetree.go b/kernel/api/filetree.go index 0ced25576..357b2ce19 100644 --- a/kernel/api/filetree.go +++ b/kernel/api/filetree.go @@ -612,6 +612,9 @@ func getDocCreateSavePath(c *gin.Context) { if "../" == docCreateSavePathTpl { docCreateSavePathTpl = "../Untitled" } + if "/" == docCreateSavePathTpl { + docCreateSavePathTpl = "/Untitled" + } p, err := model.RenderGoTemplate(docCreateSavePathTpl) if nil != err { diff --git a/kernel/api/notebook.go b/kernel/api/notebook.go index 67c44fe9b..96eac7ea6 100644 --- a/kernel/api/notebook.go +++ b/kernel/api/notebook.go @@ -329,6 +329,9 @@ func setNotebookConf(c *gin.Context) { if "../" == boxConf.DocCreateSavePath { boxConf.DocCreateSavePath = "../Untitled" } + if "/" == boxConf.DocCreateSavePath { + boxConf.DocCreateSavePath = "/Untitled" + } box.SaveConf(boxConf) ret.Data = boxConf diff --git a/kernel/api/setting.go b/kernel/api/setting.go index 126966952..b3d85c858 100644 --- a/kernel/api/setting.go +++ b/kernel/api/setting.go @@ -398,6 +398,9 @@ func setFiletree(c *gin.Context) { if "../" == fileTree.DocCreateSavePath { fileTree.DocCreateSavePath = "../Untitled" } + if "/" == fileTree.DocCreateSavePath { + fileTree.DocCreateSavePath = "/Untitled" + } if 1 > fileTree.MaxOpenTabCount { fileTree.MaxOpenTabCount = 8 diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 1928fdb51..f6784af0c 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -208,6 +208,9 @@ func InitConf() { if "../" == Conf.FileTree.DocCreateSavePath { Conf.FileTree.DocCreateSavePath = "../Untitled" } + if "/" == Conf.FileTree.DocCreateSavePath { + Conf.FileTree.DocCreateSavePath = "/Untitled" + } util.UseSingleLineSave = Conf.FileTree.UseSingleLineSave util.CurrentCloudRegion = Conf.CloudRegion