mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
Do not reset original_due when card stays in filtered deck (#2988)
This commit is contained in:
parent
146a3d936e
commit
85a8824c8c
4 changed files with 4 additions and 5 deletions
|
@ -657,7 +657,6 @@ def test_filt_reviewing_early_normal():
|
||||||
# answer 'good'
|
# answer 'good'
|
||||||
col.sched.answerCard(c, 3)
|
col.sched.answerCard(c, 3)
|
||||||
assert c.due == col.sched.today + c.ivl
|
assert c.due == col.sched.today + c.ivl
|
||||||
assert not c.odue
|
|
||||||
# should not be in learning
|
# should not be in learning
|
||||||
assert c.queue == QUEUE_TYPE_REV
|
assert c.queue == QUEUE_TYPE_REV
|
||||||
# should be logged as a cram rep
|
# should be logged as a cram rep
|
||||||
|
|
|
@ -31,7 +31,6 @@ impl CardStateUpdater {
|
||||||
if self.card.original_due != 0 {
|
if self.card.original_due != 0 {
|
||||||
self.card.original_due
|
self.card.original_due
|
||||||
} else {
|
} else {
|
||||||
// v2 scheduler resets original_due on first answer
|
|
||||||
self.card.due
|
self.card.due
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,10 @@ impl CardStateUpdater {
|
||||||
match filtered {
|
match filtered {
|
||||||
FilteredState::Preview(next) => self.apply_preview_state(current, next),
|
FilteredState::Preview(next) => self.apply_preview_state(current, next),
|
||||||
FilteredState::Rescheduling(next) => {
|
FilteredState::Rescheduling(next) => {
|
||||||
self.apply_normal_study_state(current, next.original_state)
|
let revlog = self.apply_normal_study_state(current, next.original_state);
|
||||||
|
self.card.original_due = self.card.due;
|
||||||
|
|
||||||
|
revlog
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,7 +166,6 @@ impl CardStateUpdater {
|
||||||
next: NormalState,
|
next: NormalState,
|
||||||
) -> RevlogEntryPartial {
|
) -> RevlogEntryPartial {
|
||||||
self.card.reps += 1;
|
self.card.reps += 1;
|
||||||
self.card.original_due = 0;
|
|
||||||
self.card.desired_retention = self.desired_retention;
|
self.card.desired_retention = self.desired_retention;
|
||||||
|
|
||||||
let revlog = match next {
|
let revlog = match next {
|
||||||
|
|
|
@ -70,7 +70,6 @@ impl Card {
|
||||||
self.deck_id = self.original_deck_id;
|
self.deck_id = self.original_deck_id;
|
||||||
self.original_deck_id.0 = 0;
|
self.original_deck_id.0 = 0;
|
||||||
|
|
||||||
// original_due is cleared if card answered in filtered deck
|
|
||||||
if self.original_due != 0 {
|
if self.original_due != 0 {
|
||||||
self.due = self.original_due;
|
self.due = self.original_due;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue