Feat/Check database fixes incorrect last review time entries in cards (#4648)

The value saved in the card can be incorrect, for example, due to a
previous sync conflict.
This commit is contained in:
user1823
2026-07-07 20:37:54 +05:30
committed by GitHub
parent d5db1ac19d
commit 5d51ca02b2

View File

@@ -405,11 +405,10 @@ impl super::SqliteStorage {
let last_revlog_info = get_last_revlog_info(&revlog);
for (card_id, last_revlog_info) in last_revlog_info {
let card = self.get_card(card_id)?;
if last_revlog_info.last_reviewed_at.is_none() {
continue;
} else if let Some(mut card) = card {
if card.ctype != CardType::New && card.last_review_time.is_none() {
card.last_review_time = last_revlog_info.last_reviewed_at;
let lrt = last_revlog_info.last_reviewed_at;
if let Some(mut card) = card {
if card.ctype != CardType::New && card.last_review_time != lrt {
card.last_review_time = lrt;
self.update_card(&card)?;
last_review_time_cnt += 1;
}