Card ease not syncing

I used the “Reset Ease” addon on desktop to reset all my cards in a certain deck to 250%. I confirmed the ease had changed in the statistics and while browsing. However, the change is not reflected in AnkiMobile, stats and browsing show the old ease factors. I tried doing a full sync but even that did not fix the issue. Also tried disabling the add-on and syncing countless times. Now I have a weird situation with the ease factors differing between desktop and mobile, and I don’t know if it’s just a display issue or what.

It doesn’t seem plausible the add-on is to blame, since the cards clearly have their ease set. Surely ease factors are part of sync?

Sounds like the add-on did not mark the cards as needing to be synced.

2 Likes

I suspended all the cards, synced, and then unsuspended again. That seems to have solved the issue. Thank you!

Except suspending all the cards reset all my learning cards. Had to revert to a backup this time, but how should I mark them manually to sync gracefully? Maybe just put a flag or something temporarily? Does this force a full sync of the card? On desktop enabling “force changes in one direction” doesn’t sound like it would make a full sync.

Also if there is a line of code that can quickly mark the card for needing sync (or if you can point me to the right direction), I could make a pull request to the add-on author.

Maybe forcing a full sync is an option here.

But even checking “On next sync, force changes in one direction”, sounds like it would not work since the cards are not marked as changed.

The add-on seems to modify the database directly instead of “doing it correctly” so that’s why anki doesn’t know to sync them.

Open the Debug Console with Ctrl+Shift+; (or maybe Ctrl+Shift+: or Ctrl+Shift++) and copy the code block below into the upper text field. Then confirm with Ctrl+Enter.

cids = mw.col.findCards("")
for cid in cids:
    card = mw.col.getCard(cid)
    card.factor = 2500
    card.flush()

If you don’t want to change the ease of your entire collection, you can replace the empty string in the first line with any search expression that also works in the browser. E.g.:

"\"deck:Rocket Science\" prop:ease<2"

But note how I had to escape the double quotes.
card.factor = 2500” sets the ease to 250% while “prop:ease<2” selects cards with less than 200% ease. So make sure to use the correct ease representation depending on the context.

1 Like

Based on my tests, if you tell Anki to force a sync it will synchronise the database completely even if you “incorrectly” change the card state (I had to do this to work around the card ease bug I reported in [regression] default starting ease factor for new profiles is 130%). But yes, the add-on should be updated to correctly update the cards so that Anki knows they need to be synced.

2 Likes

I’ve sent a patch to fix the Reset-Ease add-on – can you double-check that it solves the problem for you?

2 Likes

Thank you! Everything seems to work now :slight_smile:.