Anki 25.07 iOS and Desktop show different parameters

I’ve optimized one of my decks in the iOS 25.07 RC and got these parameters:

0.3184, 6.1799, 48.5333, 100.0000, 6.7652, 0.8873, 3.0696, 0.0011, 1.5391, 0.0203, 0.5584, 1.6392, 0.0029, 0.4888, 1.8325, 0.6014, 1.8729, 0.7908, 0.3745, 0.1676, 0.1475

Then I opened the same deck in the 25.07.1 desktop client on Linux and it showed these parameters instead:

0.6065, 7.8963, 46.9855, 100.0000, 7.1149, 0.9895, 2.8442, 0.0010, 1.3449, 0.1453, 0.8864, 2.0220, 0.0182, 0.3418, 2.4240, 0.2315, 2.9898, 0.4056, 0.7223

Both clients were fully synced (checked, double-checked) and really showed different parameters each. When I optimized on the desktop, I got these parameters:

0.3233, 6.2327, 48.7213, 100.0000, 6.6847, 0.8425, 3.1059, 0.0010, 1.5025, 0.0175, 0.5666, 1.6394, 0.0062, 0.4865, 1.8563, 0.6014, 1.8729, 0.7705, 0.3567, 0.1785, 0.1512

After syncing both clients again, the iOS client finally showed the same parameters as the desktop and accepted them as optimal.

Apparently, the decay value isn’t syncing properly (reported on github). I think that might cause the different params.

Just to be sure: both clients showed different parameters in the deck settings, even though they were in sync and should show the exact same parameters in both clients. Do you think that this could’ve been caused by that issue?

Dae did fix it though. Here’s the issue:

The initial difference might be because of a version mismatch when you were syncing? If you look at the params from iOS it has 21 numbers, the params from PC has 19, which means PC version had params from an older version of Anki.

Anki stores these separately and if you optimise FSRS-6 params with FSRS-5 params, the params won’t be in sync.

(Either this, or maybe there’s another bug)

Interesting, I didn’t notice that. The parameters were generated with the 25.07 iOS client and before that I was already using FSRS 6 parameters from the moment the first beta was released. My best guess is that somehow my old FSRS 5 parameters ended up in the desktop client. It’s weird though, because before I optimized on iOS, the desktop client correctly showed my FSRS 6 parameters.

Maybe I was unlucky and hit a sync issue while the fix was being pushed. It was earlier today, so that sounds plausible.

Had this same issue (just downloaded ankimobile beta):

FSRS parametrs on pc:

On ankimobile (beta):

The iOS one only has 19 numbers. Have you synced in this state from PC → AnkiWeb → AnkiMobile? Can you try again and see if the params on iOS get updated?

I pressed sync on PC, then synced on mobile and nothing changes. However, I forced sync to ankiweb from PC and downloaded from ankiweb on ankimobile and that worked.

Okay, so this is an AnkiWeb issue. I’ll let others check if this is reproducible, I use my account on a single device.

This issue occurs when you update on one device, optimize, sync and update on the other device some time later. This is not a new issue. It happened when FSRS was first integrated, when FSRS-5 was released and when FSRS-6 was released.

The underlying issue is that when you sync with an old client, the client doesn’t know what to do with the new parameters. So, it ignores them. After that client is updated, there are no new changes in the parameters to sync. So, the new parameters don’t reach the client unless you do one-way sync or the parameters are optimized again after all the clients are updated.

2 Likes

I’m using two Linux clients and two iOS clients. All of them have been running the 25.05 and later betas since the first release. I’m the type of guy that optimizes daily and I know for sure that I had FSRS 6 parameters on both iOS clients, as well as on at least one of the Linux clients (which was updated before iOS). I also know for sure that I’ve used the other Linux client (the one that suddenly had FSRS 5 parameters) multiple times over the past few months, and I would be extremely surprised if I haven’t tried to optimize the parameters every time I used it. That being said, your explanation sounds logical, so I guess I must’ve somehow not noticed that I was using FSRS 5 parameters on one of the 4 clients for the past few months, even though I’ve been optimizing and syncing daily during that period.

And was that a one-way sync? If yes, then that explains what happened. I was thinking you did a normal sync here.

Yes, if you upload to ankiweb, I’m pretty sure that all other devices will be forced to do a one-way sync on the next sync.