From 93b015fbca56ee0c7569e20f8bdb1c77622bcfde Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 17 Dec 2022 17:51:30 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=AF=E6=8C=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BF=AB=E7=85=A7=E5=AF=B9=E6=AF=94=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/6858?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/electron/main.js | 1 - kernel/model/repository.go | 47 +++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/app/electron/main.js b/app/electron/main.js index 139aaa98f..d4f222d88 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -459,7 +459,6 @@ const boot = () => { resetTrayMenu() } - const buildTrayMenuTemplate = () => { let ret = [ showWndMenu, diff --git a/kernel/model/repository.go b/kernel/model/repository.go index ff2f8b77c..15ab0524c 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -159,8 +159,7 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) { luteEngine := NewLute() for _, addLeft := range diff.AddsLeft { title, err := parseTitleInSnapshot(addLeft.ID, repo, luteEngine) - if nil != err { - logging.LogErrorf("parse title from snapshot file [%s] failed", addLeft.ID) + if "" == title || nil != err { continue } @@ -175,8 +174,7 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) { for _, updateLeft := range diff.UpdatesLeft { title, err := parseTitleInSnapshot(updateLeft.ID, repo, luteEngine) - if nil != err { - logging.LogErrorf("parse title from snapshot file [%s] failed", updateLeft.ID) + if "" == title || nil != err { continue } @@ -191,8 +189,7 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) { for _, updateRight := range diff.UpdatesRight { title, err := parseTitleInSnapshot(updateRight.ID, repo, luteEngine) - if nil != err { - logging.LogErrorf("parse title from snapshot file [%s] failed", updateRight.ID) + if "" == title || nil != err { continue } @@ -207,8 +204,7 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) { for _, removeRight := range diff.RemovesRight { title, err := parseTitleInSnapshot(removeRight.ID, repo, luteEngine) - if nil != err { - logging.LogErrorf("parse title from snapshot file [%s] failed", removeRight.ID) + if "" == title || nil != err { continue } @@ -226,26 +222,29 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) { func parseTitleInSnapshot(fileID string, repo *dejavu.Repo, luteEngine *lute.Lute) (title string, err error) { file, err := repo.GetFile(fileID) if nil != err { + logging.LogErrorf("get file [%s] failed: %s", fileID, err) return } - if strings.HasSuffix(file.Path, ".sy") { - var data []byte - data, err = repo.OpenFile(file) - if nil != err { - return - } - - var tree *parse.Tree - tree, err = parse.ParseJSONWithoutFix(data, luteEngine.ParseOptions) - if nil != err { - return - } - - title = tree.Root.IALAttr("title") - } else { - title = path.Base(file.Path) + if !strings.HasSuffix(file.Path, ".sy") { + return } + + var data []byte + data, err = repo.OpenFile(file) + if nil != err { + logging.LogErrorf("open file [%s] failed: %s", fileID, err) + return + } + + var tree *parse.Tree + tree, err = parse.ParseJSONWithoutFix(data, luteEngine.ParseOptions) + if nil != err { + logging.LogErrorf("parse file [%s] failed: %s", fileID, err) + return + } + + title = tree.Root.IALAttr("title") return }