From 78be7621634ca9c878633b17e4d91ecf6db1d494 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 8 Jun 2025 13:14:32 +0700 Subject: [PATCH] Apply patch from user1823 --- rslib/src/scheduler/states/review.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rslib/src/scheduler/states/review.rs b/rslib/src/scheduler/states/review.rs index e7591bb25..c0b8f0a43 100644 --- a/rslib/src/scheduler/states/review.rs +++ b/rslib/src/scheduler/states/review.rs @@ -83,7 +83,7 @@ impl ReviewState { } else { let (minimum, maximum) = ctx.min_and_max_review_intervals(ctx.minimum_lapse_interval); let interval = ctx.with_review_fuzz( - (self.scheduled_days as f32) * ctx.lapse_multiplier, + (self.scheduled_days.max(1.0) as f32) * ctx.lapse_multiplier, minimum, maximum, ); @@ -211,7 +211,7 @@ impl ReviewState { } fn passing_nonearly_review_intervals(self, ctx: &StateContext) -> (u32, u32, u32) { - let current_interval = self.scheduled_days as f32; + let current_interval = self.scheduled_days.max(1.0) as f32; let days_late = self.days_late().max(0) as f32; // hard @@ -251,7 +251,7 @@ impl ReviewState { /// FIXME: this needs reworking in the future; it overly penalizes reviews /// done shortly before the due date. fn passing_early_review_intervals(self, ctx: &StateContext) -> (u32, u32, u32) { - let scheduled = self.scheduled_days as f32; + let scheduled = self.scheduled_days.max(1.0) as f32; let elapsed = (self.scheduled_days as f32) + (self.days_late() as f32); let hard_interval = {