Every sync must be a forced sync

After upgrading anki I have this problem where every single time I select to sync from my desktop to anki web, I get this error message:

Please use the Check Database function then sync again. If problems persist, please force a full sync in the preferences section.

I select Tools > Check Database.
I see this message:

Database rebuilt and optimized

I select to sync again.
I get the error message again:

Please use the Check Database function then sync again. If problems persist, please force a full sync in the preferences section.

I select Preferences > Network > “on next sync force changes in one direction”.

I select to sync.

It gives me the options to
“Download from AnkiWeb” or “Upload to AnkiWeb”

I select to Upload.

My change is finally accepted.

I have to do this EVERY SINGLE TIME I SYNC.

Is there a workaround for this?

I’m running on MacOS Catalina 10.15.6
The problem exists in Anki 2.1.29 and 2.1.33.

It seems to be something to do with your deck tree. Are you automating the constructions of your decks, or are you making them manually? If you upload to AnkiWeb and then answer a single card and sync again, does the problem occur?

Answering a card before syncing seems to have solved the problem.
P.S. I’m making my decks manually and wasn’t aware that another option existed.

Please note I was suggesting that as a diagnostic step - you shouldn’t need to do so each time. If you find the issue crops up again, please let me know if you spot a pattern in the steps you’re taking prior to the issue occurring.

1 Like

Unfortunately, the work-around of answering a single card before syncing is no longer working.

Adding a card to a new deck seems to require forcing a sync every single time.

I’ve tried “check database” + answering a single card as well.

This does not work.

Forcing a sync seems to be the only option.

I suspect this might have to do with the depth/complexity of my deck tree.

I mostly use macOS 10.15.6 to create and edit my cards
Version 2.1.35 (84dcaa86)

For spaced repetition practice, I mostly use

an iPad Air 2, running iPadOS 13.6 (Anki version 2.0.67)

and an iPhone 6 plus running iOS 12.4.8 (Anki version 2.0.67)

I try to sync as frequently as possible on all devices to avoid having data wiped out and having to practice cards that I’ve already mastered when I’m forced to do a force sync.

I’m a software engineer, so I’d be happy to take a look at the section of the code in question if someone would like to point me to it.

My guess is there’s something about your deck tree that older Anki versions (and currently AnkiWeb) can’t handle, such as “parent deck” and “Parent deck::child deck” (the case should match). If you use the downgrade and quit option in the profile screen, then run Anki 2.1.26, it may spit out an error identifying the problem. If you’re not able to diagnose it, please export the collection using the latest version without media, upload it somewhere, then send me a private message with the link to it.

Unfortunately, downgrade and quit + opening in Anki 2.1.26 did not spit out an error message.
I tried diagnosing by unzipping the exported .colpkg, but it seems to be in a binary format that I am not familiar with.
Sent you a private message with a link to the exported collection without media.
Thanks for the offer of assistance.

Hmm, I can’t seem to reproduce the issue - if I take the file you sent me, sync it to a test account, choosing upload, the sync is successful. If I make some small change in the program like review a card and sync again, it syncs successfully. The only difference in decks between your AnkiWeb account and your local one at the moment is you’ve added a few new decks to AnkiWeb, but they look well-formed.

Perhaps there’s another issue going on. If you select a different deck before syncing, does that make a difference to the errors you’re getting?

Hey Damien, Thanks very much for investigating this.

I was able to reproduce the issue just now by adding this deck:

05: Jeff Dean (technical skills)::Operating Systems (OSes)::kernels::examples::Linux kernel::udev::foundations

and then adding a single card to it.

Here is a video:

Based on your idea of a change in case for a deck name, my intuition is that the “Linux kernel” deck may have been called “linux kernel” at some stage in the past.

I checked a backup from about a week ago, but it was using “Linux” then too. There is mention of ::udev in the error logs, which does seem to imply the parent deck is not being synced. After the usual full upload to fix it, if you add future decks one level at a time (eg, adding udev before adding udev::something), does that stop the error from occurring?

AnkiWeb’s code will be brought up to date with the latest computer versions in the not too distant future, which may end up indirectly solving this.

Did anyone solve this problem? Currently experiencing the same issue. I also have a complicated deck tree.

I’m having this problem too

I am having this problem aswell :frowning:

I believe this was the issue

I used the “Parent::child deck” way of creating my decks and the error message kept showing up. When i created subdecks without the colons and dropped them onto the parent deck, the error message seems to have done.

AnkiWeb was updated recently to match recent computer and AnkiMobile versions, so you’ll likely only hit this if creating “parent” and then “Parent::child” on an older Anki version or AnkiDroid. If you’re consistent with the capitalisation, it should avoid the problem.

I had the same problem, and I identified the problem deck (a deck that I created recently). I exported the deck, then deleted the deck, synced anki, and didn’t have the error msg popping up. I then reimported the deck, synced anki, and also didn’t have the error msg popping up again (yay everything is back to normal).

Try and see if that works?

But otherwise I’m not sure if I labelled the deck wrongly in the first place so I have no way of finding out which deck is the problem (I was just lucky because it was the deck I created most recently)

I solved the problem and this is how:

  1. Uninstalled the currently available version of Anki (2.1.44) because after clicking “OK” on the message “Please use…” Anki closed itself and I wasn’t able to restart the software again, no idea why.
  2. Installed Anki 2.1.35-alternate
  3. Installed Add-On “Forced Sync” because I didn’t know how to do it without using the Add-On
  4. Restarted the app
  5. Clicked on “Forced Sync” and then “Sync”
  6. Now it syncs automatically in all my devices (iPad, Android phone, Windows Laptop & Mac)

Hopefully, this will help you too!

1 Like

A post was split to a new topic: Unexpected full sync

Thanks! I do this and it solved my problem.

1 Like

Hi! I solved my problem. I should say that all the things up there didn’t fix the problem. I did everything you guys said and it didn’t work. I deleted Anki on my computer and downloaded it again about 5 times and it didn’t work. I was still taking this “force to full sync error”. But I solved my problem after 1 hour of trying to find a way. So I can say how to fix it. I mean, it worked on my Anki.
first of all, I use the ankidroid too on my phone. so before doing this, you should export your decks to your phone. so just saved them on your phone in case you need them. after this, I clicked switch profiles and created a profile. then I deleted my previous profile. and then I opened my new profile. it asked me for information for logging in to my account. I wrote my email and password to log in. And then I had a perfectly empty page. Then I clicked the sync button. Then it downloaded my decks. More importantly, I didn’t use my saved (exported decks on my phone) decks, Idk why, but I didn’t need them because it opened. I think this is because I upload my decks to the Ankiweb account using my phone. But you should export them in case you need though.
I saved my problem in this way. You can try it. I hope you can solve it too.