From 752a7e8ab38ae2d6abb954b6f399b22a7dd1e3ea Mon Sep 17 00:00:00 2001 From: Jarrett Ye Date: Tue, 2 Dec 2025 18:12:04 +0800 Subject: [PATCH 1/2] Fix/don't reschedule suspended cards --- rslib/src/scheduler/fsrs/memory_state.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rslib/src/scheduler/fsrs/memory_state.rs b/rslib/src/scheduler/fsrs/memory_state.rs index 303bbfd91..28192a014 100644 --- a/rslib/src/scheduler/fsrs/memory_state.rs +++ b/rslib/src/scheduler/fsrs/memory_state.rs @@ -13,6 +13,7 @@ use itertools::Itertools; use super::params::ignore_revlogs_before_ms_from_config; use super::rescheduler::Rescheduler; +use crate::card::CardQueue; use crate::card::CardType; use crate::prelude::*; use crate::revlog::RevlogEntry; @@ -128,8 +129,8 @@ impl Collection { timing.next_day_at.elapsed_days_since(*last_review) as i32; // and the card's not new if let Some(state) = &card.memory_state { - // or in (re)learning - if card.ctype == CardType::Review { + // or in (re)learning and suspended + if card.ctype == CardType::Review && card.queue != CardQueue::Suspended { let deck = self .get_deck(card.original_or_current_deck_id())? .or_not_found(card.original_or_current_deck_id())?; From 4355b5d1deb2f0e0028ca2001eb73c68413a8fba Mon Sep 17 00:00:00 2001 From: Jarrett Ye Date: Tue, 2 Dec 2025 18:12:15 +0800 Subject: [PATCH 2/2] format --- rslib/src/scheduler/fsrs/memory_state.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rslib/src/scheduler/fsrs/memory_state.rs b/rslib/src/scheduler/fsrs/memory_state.rs index 28192a014..9786b4f46 100644 --- a/rslib/src/scheduler/fsrs/memory_state.rs +++ b/rslib/src/scheduler/fsrs/memory_state.rs @@ -130,7 +130,9 @@ impl Collection { // and the card's not new if let Some(state) = &card.memory_state { // or in (re)learning and suspended - if card.ctype == CardType::Review && card.queue != CardQueue::Suspended { + if card.ctype == CardType::Review + && card.queue != CardQueue::Suspended + { let deck = self .get_deck(card.original_or_current_deck_id())? .or_not_found(card.original_or_current_deck_id())?;