Fix FSRS easy interval being same as good interval in relearning cards (#3256)

* Fix FSRS easy interval being same as good interval in relearning cards

https://github.com/ankitects/anki/pull/3236#issuecomment-2187787774

* Update relearning.rs

* Update relearning.rs

* Set min interval of easy to Good + 1

* Ensure minimum doesn't exceed maximum (dae)

With a maximum interval set, it would be possible to confuse with_review_fuzz()
by passing min > max.
This commit is contained in:
user1823 2024-06-28 16:50:45 +05:30 committed by GitHub
parent 60b25535ef
commit 8d11a909ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -134,7 +134,12 @@ impl RelearnState {
fn answer_easy(self, ctx: &StateContext) -> ReviewState {
let scheduled_days = if let Some(states) = &ctx.fsrs_next_states {
let (minimum, maximum) = ctx.min_and_max_review_intervals(1);
let (mut minimum, maximum) = ctx.min_and_max_review_intervals(1);
// ensure 1 greater than good where possible
let good = ctx.with_review_fuzz(states.good.interval as f32, minimum, maximum);
if minimum < maximum {
minimum = good + 1;
}
let interval = states.easy.interval;
ctx.with_review_fuzz(interval as f32, minimum, maximum)
} else {