From 111cefe8f145012d461d28d7797921b65ac857e1 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 12 Oct 2024 21:29:39 +1000 Subject: [PATCH] Revert "When updating all FSRS parameters at once, exclude suspended cards" https://forums.ankiweb.net/t/memory-state-of-suspended-cards/50460/6 This reverts commit 656cfe0b9cbecb6d669ccf02d6e8364400f37121. --- rslib/src/deckconfig/update.rs | 5 +---- rslib/src/scheduler/fsrs/memory_state.rs | 6 +++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/rslib/src/deckconfig/update.rs b/rslib/src/deckconfig/update.rs index fe7121425..dc68b8a39 100644 --- a/rslib/src/deckconfig/update.rs +++ b/rslib/src/deckconfig/update.rs @@ -262,12 +262,9 @@ impl Collection { None } }); - let search = SearchNode::DeckIdsWithoutChildren(comma_separated_ids(&search)) - .and(SearchNode::State(StateKind::Suspended).negated()) - .try_into_search()?; Ok(UpdateMemoryStateEntry { req: weights, - search, + search: SearchNode::DeckIdsWithoutChildren(comma_separated_ids(&search)), ignore_before: config .map(ignore_revlogs_before_ms_from_config) .unwrap_or(Ok(0.into()))?, diff --git a/rslib/src/scheduler/fsrs/memory_state.rs b/rslib/src/scheduler/fsrs/memory_state.rs index ce20d8925..977368379 100644 --- a/rslib/src/scheduler/fsrs/memory_state.rs +++ b/rslib/src/scheduler/fsrs/memory_state.rs @@ -18,7 +18,6 @@ use crate::scheduler::fsrs::weights::single_card_revlog_to_items; use crate::scheduler::fsrs::weights::Weights; use crate::scheduler::states::fuzz::with_review_fuzz; use crate::search::Negated; -use crate::search::Node; use crate::search::SearchNode; use crate::search::StateKind; @@ -39,7 +38,7 @@ pub(crate) struct UpdateMemoryStateRequest { pub(crate) struct UpdateMemoryStateEntry { pub req: Option, - pub search: Node, + pub search: SearchNode, pub ignore_before: TimestampMillis, } @@ -61,7 +60,8 @@ impl Collection { ignore_before, } in entries { - let search = SearchBuilder::all([search, SearchNode::State(StateKind::New).negated()]); + let search = + SearchBuilder::all([search.into(), SearchNode::State(StateKind::New).negated()]); let revlog = self.revlog_for_srs(search)?; let reschedule = req.as_ref().map(|e| e.reschedule).unwrap_or_default(); let last_revlog_info = if reschedule {