-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] card due count doesn't match with Anki Desktop after sync #9368
Comments
Tried and can't repro this. Definitely a problem |
I have that problem, using UTC as my timezone everywhere, AnkiWeb and Desktop agree on the cards due and times, AnkiDroid disagrees. If anybody could point me to were this issue might be I can try to create a patch but I don't know the codebase at all. |
Perfect, thanks! I believe it'll be a difference in the results of these variables on Android and Anki Desktop: Anki-Android/AnkiDroid/src/main/java/com/ichi2/libanki/sched/SchedV2.java Lines 2186 to 2187 in 79981a0
The Android values can be accessed via a debugger. The Anki Desktop code to obtain these values is:
Latest Anki code is: https://github.com/ankitects/anki/blob/main/pylib/anki/scheduler/v2.py |
I have the same problem, my timezone is UTC +3:30 Tehran |
Updated the OP with a solution for end-users. I can't reproduce this issue. This thread is designed to help find users who can debug and determine why it's occurring. |
Very likely related: #5637 |
Hello 👋, this issue has been opened for more than 2 months with no activity on it. If the issue is still here, please keep in mind that we need community support and help to fix it! Just comment something like still searching for solutions and if you found one, please open a pull request! You have 7 days until this gets closed automatically |
I also had this issue. Anki Web and Anki Desktop match cards due count, AnkiDroid is showing 0 new cards due. I disabled "Legacy Timezone Handling" in Anki Desktop, resynced AnkiDroid and it's now working correctly. |
I had this issue. I'll try to be as detailed as possible to reproduce this. I started with a new account and fresh installation. I created my custom note-type, deck and cards on Anki desktop. I solved as other did, disabling "Legacy Timezone Handling" on desktop. |
One step towards a fix for ankidroid/Anki-Android#9368
I expect this fixes ankidroid#9368
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed.
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881
As this is closed, I think this can be unpinned |
kotlincleanup: additional uses of .apply Reduce the API surface of AbstractSched Initial prep work for adding the V3 scheduler. Removed some methods that are only used internally, and defined some overloads concretely. eta() implementation in v1 appeared to be functionally identical to v2, despite the comment. Remove setReportLimit() It was introduced due to ankidroid#5666, but AnkiWeb has ignored the due counts in the sanity check for about 18 months, so this is no longer necessary. Also remove _updateCutoff() and _checkDay() from the public API. Split majority of AbstractSched into BaseSched - Mirrors the code layout of the desktop version, where routines like buryCard(), that are not specific to V2 or V3, are stored in a separate file. This leaves AbstractSched containing only the methods that will need to be implemented separately for V3. - Moves some methods from SchedV2 into BaseSched, as V3 will want to use them as well for now. - Some of the routines in BaseSched will only work with a schema upgrade. For now, SchedV2 overrides these so they continue to work with the legacy schema. Add support for the V3 scheduler Add V3 scheduler tests Like the desktop, this works by using a single set of tests that alter some of the checks depending on the active scheduler version, so that code duplication is avoided. Use backend to calculate legacy timezone I expect this fixes ankidroid#9368 Bumps the backend version, since the API changed. Closes ankidroid#11881 Backend language tweaks - Move logic from backend into frontend, so a new backend release is not required - Fix mapping of Chinese languages and Hindi; check others - Don't require a restart after changing language in prefs Fix LeakCanary warning when changing language/v16 schema After discarding the backend, Preferences was calling getCol and passing itself in as the context. This caused the preferences screen to be retained as the backend lives on. By switching to AnkiDroidApp, a leak can be avoided. Fix some connected tests failing when legacy_schema=false Some were irrelevant; the ones in ContentProviderTest need investigating. Updated strings from Crowdin Bumped version to 2.16alpha76 more uses of .apply reintroduced null checks and removed specified nullable type
This is with the "legacy timezone" code
See: https://forums.ankiweb.net/t/anki-droid-card-due-dont-match-with-anki-desktop/10955
This can be fixed by: "Anki Desktop - Preferences - Scheduling - Disable "legacy" timezone", but the code should match, and it doesn't currently
The text was updated successfully, but these errors were encountered: