diff --git a/rslib/src/browser_table.rs b/rslib/src/browser_table.rs index 19fdb11f6..46a64f434 100644 --- a/rslib/src/browser_table.rs +++ b/rslib/src/browser_table.rs @@ -115,8 +115,8 @@ impl Card { } else if self.is_due_in_days() { Some( TimestampSecs::now().adding_secs( - ((self.original_or_current_due() - timing.days_elapsed as i32) - .saturating_mul(86400)) as i64, + (self.original_or_current_due() as i64 - timing.days_elapsed as i64) + .saturating_mul(86400), ), ) } else { @@ -131,9 +131,9 @@ impl Card { Some((timing.next_day_at.0 as u32).saturating_sub(self.due.max(0) as u32) / 86_400) } else { self.due_time(timing).map(|due| { - due.adding_secs(-86_400 * self.interval as i64) - .elapsed_secs() as u32 - / 86_400 + (due.adding_secs(-86_400 * self.interval as i64) + .elapsed_secs() + / 86_400) as u32 }) } } diff --git a/rslib/src/stats/graphs/retrievability.rs b/rslib/src/stats/graphs/retrievability.rs index 930a21c5b..2c47830e3 100644 --- a/rslib/src/stats/graphs/retrievability.rs +++ b/rslib/src/stats/graphs/retrievability.rs @@ -4,6 +4,7 @@ use anki_proto::stats::graphs_response::Retrievability; use fsrs::FSRS; +use crate::card::CardQueue; use crate::scheduler::timing::SchedTimingToday; use crate::stats::graphs::eases::percent_to_bin; use crate::stats::graphs::GraphsContext; @@ -23,6 +24,9 @@ impl GraphsContext { let mut note_retrievability: std::collections::HashMap = std::collections::HashMap::new(); for card in &self.cards { + if card.queue == CardQueue::Suspended { + continue; + } let entry = note_retrievability .entry(card.note_id.0) .or_insert((0.0, 0));