Feat/Card stats update review time (#4236)

* Feat/Card stats update review time

* Update rslib/src/stats/card.rs

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

* fix

* self.storage.update_card

---------

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
This commit is contained in:
Luc Mcgrady 2025-08-06 08:55:50 +01:00 committed by GitHub
parent 2b55882cce
commit f7e6e9cb0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -30,14 +30,24 @@ impl Collection {
let (average_secs, total_secs) = average_and_total_secs_strings(&revlog); let (average_secs, total_secs) = average_and_total_secs_strings(&revlog);
let timing = self.timing_today()?; let timing = self.timing_today()?;
let seconds_elapsed = if let Some(last_review_time) = card.last_review_time {
timing.now.elapsed_secs_since(last_review_time) as u32 let last_review_time = if let Some(last_review_time) = card.last_review_time {
last_review_time
} else { } else {
self.storage let mut new_card = card.clone();
let last_review_time = self
.storage
.time_of_last_review(card.id)? .time_of_last_review(card.id)?
.map(|ts| timing.now.elapsed_secs_since(ts)) .unwrap_or_default();
.unwrap_or_default() as u32
new_card.last_review_time = Some(last_review_time);
self.storage.update_card(&new_card)?;
last_review_time
}; };
let seconds_elapsed = timing.now.elapsed_secs_since(last_review_time) as u32;
let fsrs_retrievability = card let fsrs_retrievability = card
.memory_state .memory_state
.zip(Some(seconds_elapsed)) .zip(Some(seconds_elapsed))