mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
Make simulator fill missing values of DR and decay too (#4269)
* Make simulator fill missing values of DR and decay too If a card has missing memory states, it will likely have missing DR and decay too. So, it makes sense to simultaneously update them as well. * Fix error * Avoid causing sync conflicts when filling in missing memory in sim https://github.com/ankitects/anki/pull/4269#issuecomment-3201450124 --------- Co-authored-by: Damien Elmes <gpg@ankiweb.net>
This commit is contained in:
parent
79932aad41
commit
3e846c8756
1 changed files with 5 additions and 4 deletions
|
@ -142,10 +142,11 @@ impl Collection {
|
|||
// calculate any missing memory state
|
||||
for c in &mut cards {
|
||||
if is_included_card(c) && c.memory_state.is_none() {
|
||||
let original = c.clone();
|
||||
let new_state = self.compute_memory_state(c.id)?.state;
|
||||
c.memory_state = new_state.map(Into::into);
|
||||
self.update_card_inner(c, original, self.usn()?)?;
|
||||
let fsrs_data = self.compute_memory_state(c.id)?;
|
||||
c.memory_state = fsrs_data.state.map(Into::into);
|
||||
c.desired_retention = Some(fsrs_data.desired_retention);
|
||||
c.decay = Some(fsrs_data.decay);
|
||||
self.storage.update_card(c)?;
|
||||
}
|
||||
}
|
||||
let days_elapsed = self.timing_today().unwrap().days_elapsed as i32;
|
||||
|
|
Loading…
Reference in a new issue