From a807e47d63ae0fae73b43307e5a0c7485d7e0d3a Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 30 Aug 2022 00:24:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=95=B0=E6=8D=AE=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=B8=AD=E6=94=AF=E6=8C=81=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=BF=87=E6=BB=A4=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/5754?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/assets.go | 4 ++++ kernel/model/file.go | 1 + kernel/model/format.go | 1 + kernel/model/history.go | 28 +++++++++++----------------- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 8065fe42e..f1461899c 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -419,6 +419,8 @@ func RemoveUnusedAssets() (ret []string) { if 0 < len(ret) { IncSync() } + + indexHistoryDir(filepath.Base(historyDir), NewLute()) return } @@ -445,6 +447,8 @@ func RemoveUnusedAsset(p string) (ret string) { } ret = p IncSync() + + indexHistoryDir(filepath.Base(historyDir), NewLute()) return } diff --git a/kernel/model/file.go b/kernel/model/file.go index d78fc9d5a..174895a94 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -1198,6 +1198,7 @@ func RemoveDoc(boxID, p string) (err error) { return errors.New(fmt.Sprintf(Conf.Language(70), box.Name, absPath, err)) } + indexHistoryDir(filepath.Base(historyDir), NewLute()) copyDocAssetsToDataAssets(boxID, p) rootID := tree.ID diff --git a/kernel/model/format.go b/kernel/model/format.go index ba2bd0589..692f9e898 100644 --- a/kernel/model/format.go +++ b/kernel/model/format.go @@ -102,4 +102,5 @@ func generateFormatHistory(tree *parse.Tree) { return } + indexHistoryDir(filepath.Base(historyDir), NewLute()) } diff --git a/kernel/model/history.go b/kernel/model/history.go index c20c852f2..5edeb6c7b 100644 --- a/kernel/model/history.go +++ b/kernel/model/history.go @@ -18,7 +18,6 @@ package model import ( "encoding/json" - "errors" "fmt" "io/fs" "math" @@ -387,8 +386,7 @@ func (box *Box) generateDocHistory0() { } } - luteEngine := NewLute() - indexHistoryDir(filepath.Base(historyDir), luteEngine) + indexHistoryDir(filepath.Base(historyDir), NewLute()) return } @@ -503,10 +501,7 @@ func ReindexHistory() (err error) { } name := historyDir.Name() - err = indexHistoryDir(name, lutEngine) - if nil != err { - return - } + indexHistoryDir(name, lutEngine) } return } @@ -518,7 +513,9 @@ const ( HistoryTypeAsset = 1 ) -func indexHistoryDir(name string, luteEngine *lute.Lute) (err error) { +func indexHistoryDir(name string, luteEngine *lute.Lute) { + defer logging.Recover() + op := name[strings.LastIndex(name, "-")+1:] if !gulu.Str.Contains(op, validOps) { logging.LogWarnf("invalid history op [%s]", op) @@ -579,19 +576,16 @@ func indexHistoryDir(name string, luteEngine *lute.Lute) (err error) { tx, txErr := sql.BeginHistoryTx() if nil != txErr { - msg := fmt.Sprintf("begin transaction failed: %s", txErr) - err = errors.New(msg) + logging.LogErrorf("begin transaction failed: %s", txErr) return } - if err = sql.InsertHistories(tx, histories); nil != err { - msg := fmt.Sprintf("insert histories failed: %s", err) - err = errors.New(msg) + if err := sql.InsertHistories(tx, histories); nil != err { + logging.LogErrorf("insert histories failed: %s", err) sql.RollbackTx(tx) return } - if err = sql.CommitTx(tx); nil != err { - msg := fmt.Sprintf("commit transaction failed: %s", err) - err = errors.New(msg) + if err := sql.CommitTx(tx); nil != err { + logging.LogErrorf("commit transaction failed: %s", err) return } return @@ -627,7 +621,7 @@ func fromSQLHistories(sqlHistories []*sql.History) (ret []*History) { }) } } - if 1 < len(items) { + if 0 < len(items) { ret = append(ret, &History{ HCreated: time.Unix(tmpTime, 0).Format("2006-01-02 15:04:05"), Items: items,