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::params::ignore_revlogs_before_ms_from_config;
use super::rescheduler::Rescheduler; use super::rescheduler::Rescheduler;
use crate::card::CardQueue;
use crate::card::CardType; use crate::card::CardType;
use crate::prelude::*; use crate::prelude::*;
use crate::revlog::RevlogEntry; use crate::revlog::RevlogEntry;
@ -128,8 +129,8 @@ impl Collection {
timing.next_day_at.elapsed_days_since(*last_review) as i32; timing.next_day_at.elapsed_days_since(*last_review) as i32;
// and the card's not new // and the card's not new
if let Some(state) = &card.memory_state { if let Some(state) = &card.memory_state {
// or in (re)learning // or in (re)learning and suspended
if card.ctype == CardType::Review { if card.ctype == CardType::Review && card.queue != CardQueue::Suspended {
let deck = self let deck = self
.get_deck(card.original_or_current_deck_id())? .get_deck(card.original_or_current_deck_id())?
.or_not_found(card.original_or_current_deck_id())?; .or_not_found(card.original_or_current_deck_id())?;