Fix/don't reschedule suspended cards

This commit is contained in:
Jarrett Ye 2025-12-02 18:12:04 +08:00
parent 2d4de33cf3
commit 752a7e8ab3
No known key found for this signature in database
GPG key ID: EBFC55E0C1A352BB

View file

@ -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())?;