diff --git a/kernel/api/filetree.go b/kernel/api/filetree.go index 758db6f91..da29033e7 100644 --- a/kernel/api/filetree.go +++ b/kernel/api/filetree.go @@ -200,6 +200,9 @@ func getFullHPathByID(c *gin.Context) { if !ok { return } + if nil == arg["id"] { + return + } id := arg["id"].(string) hPath, err := model.GetFullHPathByID(id) diff --git a/kernel/api/system.go b/kernel/api/system.go index 12336d3d3..bddd3288c 100644 --- a/kernel/api/system.go +++ b/kernel/api/system.go @@ -347,12 +347,12 @@ func setE2EEPasswd(c *gin.Context) { ret.Msg = err.Error() return } - if err := os.RemoveAll(filepath.Join(util.WorkspaceDir, "incremental")); nil != err { + if err := os.RemoveAll(filepath.Join(util.TempDir, "incremental")); nil != err { ret.Code = -1 ret.Msg = err.Error() return } - if err := os.MkdirAll(filepath.Join(util.WorkspaceDir, "incremental"), 0755); nil != err { + if err := os.MkdirAll(filepath.Join(util.TempDir, "incremental"), 0755); nil != err { ret.Code = -1 ret.Msg = err.Error() return diff --git a/kernel/model/backup.go b/kernel/model/backup.go index 4eab44826..ddf95bd3c 100644 --- a/kernel/model/backup.go +++ b/kernel/model/backup.go @@ -379,7 +379,7 @@ func UploadBackup() (err error) { var pathJSON = fmt.Sprintf("%x", md5.Sum([]byte("paths.json"))) // 6952277a5a37c17aa6a7c6d86cd507b1 func encryptDataDir(passwd string) (encryptedDataDir string, err error) { - encryptedDataDir = filepath.Join(util.WorkspaceDir, "incremental", "backup-encrypt") + encryptedDataDir = filepath.Join(util.TempDir, "incremental", "backup-encrypt") if err = os.RemoveAll(encryptedDataDir); nil != err { return } @@ -511,7 +511,7 @@ func encryptDataDir(passwd string) (encryptedDataDir string, err error) { } func decryptDataDir(passwd string) (decryptedDataDir string, err error) { - decryptedDataDir = filepath.Join(util.WorkspaceDir, "incremental", "backup-decrypt") + decryptedDataDir = filepath.Join(util.TempDir, "incremental", "backup-decrypt") if err = os.RemoveAll(decryptedDataDir); nil != err { return } diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 987af968c..f698c40da 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -537,6 +537,7 @@ func clearWorkspaceTemp() { os.RemoveAll(filepath.Join(util.TempDir, "bazaar")) os.RemoveAll(filepath.Join(util.TempDir, "export")) os.RemoveAll(filepath.Join(util.TempDir, "import")) + os.RemoveAll(filepath.Join(util.WorkspaceDir, "incremental")) // `工作空间/incremental/` 文件夹移动到 `工作空间/temp/incremental/` https://github.com/siyuan-note/siyuan/issues/5119 tmps, err := filepath.Glob(filepath.Join(util.TempDir, "*.tmp")) if nil != err { diff --git a/kernel/model/file.go b/kernel/model/file.go index b49465ea8..f191158c0 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -694,8 +694,9 @@ func loadNodesByMode(node *ast.Node, inputIndex, mode, size int, isDoc, isHeadin } else if isHeading { level := node.HeadingLevel for n := node.Next; nil != n; n = n.Next { - if "1" == n.IALAttr("heading-fold") && ("1" == node.IALAttr("fold") && 0 == mode) { - // 从大纲跳转折叠标题的下方标题时需要判断跳转的标题是否是折叠 https://github.com/siyuan-note/siyuan/issues/4920 + if "1" == n.IALAttr("heading-fold") { + // 大纲点击折叠标题跳转聚焦 https://github.com/siyuan-note/siyuan/issues/4920 + // 多级标题折叠后上级块引浮窗中未折叠 https://github.com/siyuan-note/siyuan/issues/4997 continue } if ast.NodeHeading == n.Type { diff --git a/kernel/model/sync.go b/kernel/model/sync.go index e70e1a598..892e0efab 100644 --- a/kernel/model/sync.go +++ b/kernel/model/sync.go @@ -663,7 +663,7 @@ func genCloudIndex(localDirPath string, excludes map[string]bool, calcHash bool) func recoverSyncData(metaPath, indexPath string, modified map[string]bool) (decryptedDataDir string, upsertFiles []string, err error) { passwd := Conf.E2EEPasswd - decryptedDataDir = filepath.Join(util.WorkspaceDir, "incremental", "sync-decrypt") + decryptedDataDir = filepath.Join(util.TempDir, "incremental", "sync-decrypt") if err = os.RemoveAll(decryptedDataDir); nil != err { return } @@ -772,7 +772,7 @@ func recoverSyncData(metaPath, indexPath string, modified map[string]bool) (decr } func prepareSyncData(passwd string, unchangedDataList map[string]bool) (encryptedDataDir string, upsertList map[string]bool, err error) { - encryptedDataDir = filepath.Join(util.WorkspaceDir, "incremental", "sync-encrypt") + encryptedDataDir = filepath.Join(util.TempDir, "incremental", "sync-encrypt") if err = os.RemoveAll(encryptedDataDir); nil != err { return } diff --git a/kernel/util/rhy.go b/kernel/util/rhy.go index a469411e0..1c29aad40 100644 --- a/kernel/util/rhy.go +++ b/kernel/util/rhy.go @@ -33,7 +33,7 @@ func GetRhyResult(force bool, proxyURL string) (map[string]interface{}, error) { defer rhyResultLock.Unlock() now := time.Now().Unix() - if 3600 >= now-rhyResultCacheTime && !force { + if 3600 >= now-rhyResultCacheTime && !force && 0 < len(cachedRhyResult) { return cachedRhyResult, nil }