From b0990c102c9843c5876a72a70ba4178321becb4b Mon Sep 17 00:00:00 2001 From: Jarrett Ye Date: Tue, 23 Sep 2025 22:15:34 +0800 Subject: [PATCH 1/2] Fix/first and latest review dates should only only consider entries with a rating. --- rslib/src/stats/card.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rslib/src/stats/card.rs b/rslib/src/stats/card.rs index 008977fe9..a6a93b353 100644 --- a/rslib/src/stats/card.rs +++ b/rslib/src/stats/card.rs @@ -76,8 +76,14 @@ impl Collection { note_id: card.note_id.into(), deck: deck.human_name(), added: card.id.as_secs().0, - first_review: revlog.first().map(|entry| entry.id.as_secs().0), - latest_review: revlog.last().map(|entry| entry.id.as_secs().0), + first_review: revlog + .iter() + .find(|entry| entry.has_rating()) + .map(|entry| entry.id.as_secs().0), + latest_review: revlog + .iter() + .rfind(|entry| entry.has_rating()) + .map(|entry| entry.id.as_secs().0), due_date: self.due_date(&card)?, due_position: self.position(&card), interval: card.interval, From 2b65f7079aded3b5eb71b01215f7b8ecc0ca326b Mon Sep 17 00:00:00 2001 From: Jarrett Ye Date: Wed, 24 Sep 2025 09:43:08 +0800 Subject: [PATCH 2/2] Update rslib/src/stats/card.rs Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com> --- rslib/src/stats/card.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/rslib/src/stats/card.rs b/rslib/src/stats/card.rs index a6a93b353..a76edffa2 100644 --- a/rslib/src/stats/card.rs +++ b/rslib/src/stats/card.rs @@ -80,6 +80,7 @@ impl Collection { .iter() .find(|entry| entry.has_rating()) .map(|entry| entry.id.as_secs().0), + // last_review_time is not used to ensure cram revlogs are included. latest_review: revlog .iter() .rfind(|entry| entry.has_rating())