Scheduling differences between Anki desktop and Android

I recently started using FSRS for the first time and worked on clearing my backlog built up over several months. I divided my due cards into recognition and recall using filtered decks and have been reviewing them on two platforms, desktop Anki and AnkiDroid.

Yesterday, my reviews were on Android and today, my number of reviews due was higher than expected (originally 180 on Android but jumped to 270 on both platforms after syncing). There are a significant number of mature cards shown today which I successfully answered in yesterday’s session, with intervals that should be greater than 1 year. Here is an example from the Card Info screen:


The two most recent reviews are not as they should be.

I’m wondering if there is some mismatch between the scheduling algorithm on the two platforms? Here are my deck options for the filtered deck:


The AnkiDroid client also mirrors these settings, although the “Limit to” option shows 91,000 instead of 9100.

My FSRS parameters on the parent deck:

I’d be grateful if anyone could provide some insight into what’s happening here. In the meantime, I think I will stick to reviews on desktop Anki.

Versions:
Desktop – Version ⁨24.11 (87ccd24e)⁩, Python 3.9.18 Qt 6.6.2 PyQt 6.6.1
AnkiDroid 2.20.1 (FSRS 1.4.3)

This is almost always due to inconsistent syncing. Are you strict about syncing when you open the app, AND when you close/leave the app, on every device, every time? Do you have any add-ons that make bulk changes (like rebuilding Filtered decks), or changes at the time of syncing that could be interfering?

If you have changes on both devices at the same time, you leave yourself open to cards being left in an inconsistent state – studied on one device, and then updated on another device before syncing.

I expect that is just a size-of-field issue and the number is syncing correctly. If that field isn’t actually 91000 on desktop, that would be a serious issue. Try scrolling to the right with the cursor.

Thanks for your helpful reply. I normally sync whenever I make changes but it’s possible that I missed one recently.

However, I’m certain that I synced both devices before starting this particular review session on PC. That’s when I noticed the large increase in due cards. I’m going through the browser now and I find examples like this:

I reviewed it on Feb 17th (I think on Android) and the interval is marked as 2.91 years in the table. But higher up on the info screen it has kept the old interval of 11.87 months, and is due on Feb 17th as if the review has been completely ignored. I checked this info screen after syncing all devices twice.

Is there any way to update the interval to correctly take account of the review history? Or am I making a mistake with my setup somewhere? I’m using a couple of addons but nothing to affect scheduling.

Many thanks

My point is that you have to sync before you make changes, and after you make changes. If your devices were already out-of-sync, that didn’t get them back in sync.

Picture this sequence of events –

  1. Study card X on Android
  2. Sync Android with AnkiWeb
  3. […]
  4. Edit card/note X on desktop
  5. Sync desktop with AnkiWeb

Because you skipped the sync on desktop that should have been at #3, the card/note you edited at #4 was an outdated version. After the sync at #5, Anki now has both a review log from Android, and an edited card with a more recent date/time from desktop. Anki accepts both, but it assumes you want the most recent change to control, so the card gets “updated” with the old card-state information.

Which you can imagine – would look just like the example you posted. If you want to investigate further, you can look at the card or note modified dates

What to do now?

  • Get your devices fully in sync – Sync desktop, then Android, then desktop again (or vice versa, as long as you repeat the first one at the end).
  • Fix these cards – Do you have the FSRS Helper add-on? If not, get it. It has an “update memory state and reschedule” feature that wasn’t designed to fix this problem, but is sort of perfect for it. It goes back through the whole review history of the card and figures out when it should actually be scheduled. Go to the Browse window and search up all of the cards you’ve studied over the past – how long? 3 days maybe? – rated:3 . Select all > Cards > FSRS update/reschedule.
  • Keep this from happening again – Sync when you open the app, and when you close/leave the app, on every device, every time.

Thanks again for your help, the add-on updated the intervals in the way I was looking for.

I do understand about syncing before and after changes. If I missed a sync, I was assuming that any logged reviews would be worked out the next time all devices were in sync. I didn’t make any card/note edits on PC either, so there must be a gap in my understanding of what caused the conflicting card states.

If you see this happening again, be sure you let us know, but careful syncing is almost always the cure.

It can be anything that edits the card – flag/unflag, build/empty filtered deck, change deck, reschedule, set due date, etc. Or anything that an add-on does, even if it doesn’t explicitly change the scheduling.

2 Likes