From d06912ea92e4ef7bae07aa2ccd62e993fe62196f Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Sat, 8 Nov 2025 17:28:47 +0000 Subject: [PATCH] Fix: tickSize not updated --- rslib/src/storage/sqlite.rs | 14 +++++++------- ts/routes/graphs/percentageRange.ts | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/rslib/src/storage/sqlite.rs b/rslib/src/storage/sqlite.rs index 3ce1baff0..82060c59a 100644 --- a/rslib/src/storage/sqlite.rs +++ b/rslib/src/storage/sqlite.rs @@ -332,14 +332,14 @@ fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<()> { return Ok(None); }; let seconds_elapsed = if let Some(last_review_time) = card_data.last_review_time { - now.saturating_sub(last_review_time.0) as u32 + (now as u32).saturating_sub(last_review_time.0 as u32) } else if due > 365_000 { // (re)learning card in seconds let Ok(ivl) = ctx.get_raw(2).as_i64() else { return Ok(None); }; - let last_review_time = due.saturating_sub(ivl); - now.saturating_sub(last_review_time) as u32 + let last_review_time = (due as u32).saturating_sub(ivl as u32); + (now as u32).saturating_sub(last_review_time) } else { let Ok(ivl) = ctx.get_raw(2).as_i64() else { return Ok(None); @@ -347,8 +347,8 @@ fn add_extract_fsrs_retrievability(db: &Connection) -> rusqlite::Result<()> { let Ok(days_elapsed) = ctx.get_raw(3).as_i64() else { return Ok(None); }; - let review_day = due.saturating_sub(ivl); - days_elapsed.saturating_sub(review_day) as u32 * 86_400 + let review_day = (due as u32).saturating_sub(ivl as u32); + (days_elapsed as u32).saturating_sub(review_day) * 86_400 }; let decay = card_data.decay.unwrap_or(FSRS5_DEFAULT_DECAY); let retrievability = card_data.memory_state().map(|state| { @@ -416,8 +416,8 @@ fn add_extract_fsrs_relative_retrievability(db: &Connection) -> rusqlite::Result let Ok(ivl) = ctx.get_raw(2).as_i64() else { return Ok(None); }; - let last_review_time = due.saturating_sub(ivl); - now.saturating_sub(last_review_time) as u32 + let last_review_time = due.saturating_sub(ivl) as u32; + (now as u32).saturating_sub(last_review_time) } else { let Ok(ivl) = ctx.get_raw(2).as_i64() else { return Ok(None); diff --git a/ts/routes/graphs/percentageRange.ts b/ts/routes/graphs/percentageRange.ts index 0f0cad7c8..6094ef2e0 100644 --- a/ts/routes/graphs/percentageRange.ts +++ b/ts/routes/graphs/percentageRange.ts @@ -48,11 +48,12 @@ export function getAdjustedScaleAndTicks( const predomain = prescale.domain() as [number, number]; const minOffset = min - predomain[0]; - const tickSize = ticks[1] - ticks[0]; + let tickSize = ticks[1] - ticks[0]; const minBinSize = 1; if (tickSize < minBinSize) { ticks = range(min, max, minBinSize); + tickSize = minBinSize; } if (minOffset === 0 || (minOffset % tickSize !== 0 && tickSize % minOffset !== 0)) {