diff --git a/rslib/src/scheduler/fsrs/weights.rs b/rslib/src/scheduler/fsrs/weights.rs index 70ccd6f4c..3a7d09fe9 100644 --- a/rslib/src/scheduler/fsrs/weights.rs +++ b/rslib/src/scheduler/fsrs/weights.rs @@ -201,6 +201,15 @@ pub(crate) fn single_card_revlog_to_items( revlogs_complete = true; } else if last_learn_entry.is_some() { break; + // if we find the `Forget` entry before the `Learn` entry, we should + // ignore all the entries + } else if matches!( + (entry.review_kind, entry.ease_factor), + (RevlogReviewKind::Manual, 0) + ) && last_learn_entry.is_none() + { + revlogs_complete = false; + break; } } if !revlogs_complete {