From f1d86b1f895d55fbc368bbc3a916bd09be82d8b8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 20 Dec 2023 10:53:32 +0800 Subject: [PATCH 1/3] :bug: Review is empty when there are more new cards and blocks are removed https://github.com/siyuan-note/siyuan/issues/9935 --- kernel/model/flashcard.go | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/kernel/model/flashcard.go b/kernel/model/flashcard.go index 1d041c609..306208e54 100644 --- a/kernel/model/flashcard.go +++ b/kernel/model/flashcard.go @@ -492,8 +492,7 @@ func GetNotebookDueFlashcards(boxID string, reviewedCardIDs []string) (ret []*Fl cards, unreviewedCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit) now := time.Now() for _, card := range cards { - blockID := card.BlockID() - ret = append(ret, newFlashcard(card, blockID, builtinDeckID, now)) + ret = append(ret, newFlashcard(card, card.BlockID(), builtinDeckID, now)) } if 1 > len(ret) { ret = []*Flashcard{} @@ -536,8 +535,7 @@ func GetTreeDueFlashcards(rootID string, reviewedCardIDs []string) (ret []*Flash cards, unreviewedCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, newCardLimit, reviewCardLimit) now := time.Now() for _, card := range cards { - blockID := card.BlockID() - ret = append(ret, newFlashcard(card, blockID, builtinDeckID, now)) + ret = append(ret, newFlashcard(card, card.BlockID(), builtinDeckID, now)) } if 1 > len(ret) { ret = []*Flashcard{} @@ -606,13 +604,7 @@ func getDueFlashcards(deckID string, reviewedCardIDs []string) (ret []*Flashcard cards, unreviewedCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit) now := time.Now() for _, card := range cards { - blockID := card.BlockID() - - if nil == treenode.GetBlockTree(blockID) { - continue - } - - ret = append(ret, newFlashcard(card, blockID, deckID, now)) + ret = append(ret, newFlashcard(card, card.BlockID(), deckID, now)) } if 1 > len(ret) { ret = []*Flashcard{} @@ -627,12 +619,7 @@ func getAllDueFlashcards(reviewedCardIDs []string) (ret []*Flashcard, unreviewed cards, unreviewedCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit) unreviewedCount += unreviewedCnt for _, card := range cards { - blockID := card.BlockID() - if nil == treenode.GetBlockTree(blockID) { - continue - } - - ret = append(ret, newFlashcard(card, blockID, deck.ID, now)) + ret = append(ret, newFlashcard(card, card.BlockID(), deck.ID, now)) } } if 1 > len(ret) { @@ -997,6 +984,14 @@ func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCar dues := deck.Dues() var tmp []riff.Card + for _, c := range dues { + if nil == treenode.GetBlockTree(c.BlockID()) { + continue + } + tmp = append(tmp, c) + } + dues = tmp + for _, c := range dues { if 0 < len(blockIDs) && !gulu.Str.Contains(c.BlockID(), blockIDs) { continue From 28c7f6df7f0439a5d44a9616f7055d88275d9e25 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 20 Dec 2023 11:08:19 +0800 Subject: [PATCH 2/3] :art: Keep original creation time when importing .sy.zip https://github.com/siyuan-note/siyuan/issues/9923 --- kernel/model/import.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/model/import.go b/kernel/model/import.go index 1ed0ce561..04116b306 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -147,7 +147,9 @@ func ImportSY(zipPath, boxID, toPath string) (err error) { return ast.WalkContinue } - newNodeID := ast.NewNodeID() + // 新 ID 保留时间部分,仅修改随机值,避免时间变化导致更新时间早于创建时间 + // Keep original creation time when importing .sy.zip https://github.com/siyuan-note/siyuan/issues/9923 + newNodeID := util.TimeFromID(n.ID) + "-" + gulu.Rand.String(7) blockIDs[n.ID] = newNodeID oldNodeID := n.ID n.ID = newNodeID From 305f781afa31c2bdeb43b08b9d5ccca3abb8faf0 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 20 Dec 2023 11:12:31 +0800 Subject: [PATCH 3/3] :art: Improve database table view template col sorting https://ld246.com/article/1702871433047 --- kernel/av/table.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/av/table.go b/kernel/av/table.go index 1370a18a4..69b161efe 100644 --- a/kernel/av/table.go +++ b/kernel/av/table.go @@ -176,9 +176,11 @@ func (value *Value) Compare(other *Value) int { } case KeyTypeTemplate: if nil != value.Template && nil != other.Template { - if util.IsNumeric(value.Template.Content) && util.IsNumeric(other.Template.Content) { - v1, _ := strconv.ParseFloat(value.Template.Content, 64) - v2, _ := strconv.ParseFloat(other.Template.Content, 64) + vContent := strings.TrimSpace(value.Template.Content) + oContent := strings.TrimSpace(other.Template.Content) + if util.IsNumeric(vContent) && util.IsNumeric(oContent) { + v1, _ := strconv.ParseFloat(vContent, 64) + v2, _ := strconv.ParseFloat(oContent, 64) if v1 > v2 { return 1 }