🐛 Review is empty when there are more new cards and blocks are removed https://github.com/siyuan-note/siyuan/issues/9935

This commit is contained in:
Daniel 2023-12-20 10:53:32 +08:00
parent 1e9f11b6d2
commit f1d86b1f89
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -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