mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
Fix finished preview learning cards being repeated (#3196)
This commit is contained in:
parent
998b91c1fe
commit
ce8ddc84b9
2 changed files with 15 additions and 2 deletions
|
@ -31,6 +31,7 @@ use crate::deckconfig::LeechAction;
|
|||
use crate::decks::Deck;
|
||||
use crate::prelude::*;
|
||||
use crate::scheduler::fsrs::memory_state::single_card_revlog_to_item;
|
||||
use crate::scheduler::states::PreviewState;
|
||||
use crate::search::SearchNode;
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
|
@ -309,7 +310,14 @@ impl Collection {
|
|||
self.add_leech_tag(card.note_id)?;
|
||||
}
|
||||
|
||||
self.update_queues_after_answering_card(&card, timing)
|
||||
self.update_queues_after_answering_card(
|
||||
&card,
|
||||
timing,
|
||||
matches!(
|
||||
answer.new_state,
|
||||
CardState::Filtered(FilteredState::Preview(PreviewState { finished: true, .. }))
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fn maybe_bury_siblings(&mut self, card: &Card, config: &DeckConfig) -> Result<()> {
|
||||
|
|
|
@ -216,10 +216,15 @@ impl Collection {
|
|||
&mut self,
|
||||
card: &Card,
|
||||
timing: SchedTimingToday,
|
||||
is_finished_preview: bool,
|
||||
) -> Result<()> {
|
||||
if let Some(queues) = &mut self.state.card_queues {
|
||||
let entry = queues.pop_entry(card.id)?;
|
||||
let requeued_learning = queues.maybe_requeue_learning_card(card, timing);
|
||||
let requeued_learning = if is_finished_preview {
|
||||
None
|
||||
} else {
|
||||
queues.maybe_requeue_learning_card(card, timing)
|
||||
};
|
||||
let cutoff_snapshot = queues.update_learning_cutoff_and_count();
|
||||
let queue_build_time = queues.build_time;
|
||||
self.save_queue_update_undo(Box::new(QueueUpdate {
|
||||
|
|
Loading…
Reference in a new issue