ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
8.14k stars 2.17k forks source link

[BUG]: new scheduler ignoring scheduling parameters #15767

Open Chetmn opened 4 months ago

Chetmn commented 4 months ago

Checked for duplicates?

What are the steps to reproduce this bug?

Just updated to the latest ankidroid. The scheduling is broken, it is ignoring the intervals entered in the deck options.

Same deck works perfectly in the desktop app, and was working perfectly in the previous version.

Expected behaviour

Ankidroid should be following the intervals specified in deck options like it always has.

Actual behaviour

Completely ignores deck intervals.

Debug info

Version 2.17.0,

(Optional) Anything else you want to share?

No response

Research

welcome[bot] commented 4 months ago

Hello! 👋 Thanks for logging this issue. Please remember we are all volunteers here, so some patience may be required before we can get to the issue. Also remember that the fastest way to get resolution on an issue is to propose a change directly, https://github.com/ankidroid/Anki-Android/wiki/Contributing

david-allison commented 4 months ago

Hi, what version are you on?

Chetmn commented 4 months ago

Version 2.17.0, the latest version from F-Droid

BTW I actually rolled back to 2.16.15 as the scheduling works.

david-allison commented 4 months ago

Could you provide an export of your collection and zip it up?

We can accept this privately if you don't want to share this publicly

mikehardy commented 4 months ago

Note we are on 2.17.3, and strangely it appears that f-droid has noticed it exists

But it hasn't built it for whatever reason.

Built 2.17.0 (which you have) https://f-droid.org/repo/com.ichi2.anki_21700300.log.gz Built 2.17.1 https://f-droid.org/repo/com.ichi2.anki_21701300.log.gz 2.17.2 was not formally released, we had a failure in our automated release systems 2.17.3 is in their metadata and is available on play now but fdroid hasn't built it? https://f-droid.org/repo/com.ichi2.anki_21703300.log.gz (404, for me)

Chetmn commented 4 months ago

I can share the collection privately if you show me how but it's pretty huge - it's over 15000 cards...

Chetmn commented 4 months ago

2.17.0 is the latest I see in F Droid and 2.16.15 is the version showing up in the playstore for me.

If you guys have a link for 2.17.3 I'm happy to test it to see if the bug is still there.

mikehardy commented 4 months ago

https://github.com/ankidroid/Anki-Android/releases is where we have everything

Chetmn commented 4 months ago

Unfortunately the bug is still in 2.17.3...

david-allison commented 4 months ago

I can share the collection privately if you show me how but it's pretty huge - it's over 15000 cards...

Could you export the collection, zip it up and send it to my Gmail: davidallisongithub

Include scheduling, but not media

david-allison commented 4 months ago

Screenshot 2024-03-06 at 14 40 20 Screenshot 2024-03-06 at 14 39 48

@Chetmn I've tried two cards in Anki Desktop 23.10 and AnkiDroid 2.17.5 and they're showing the same scheduling values

  1. Could you show a screenshot of a problematic card
  2. Could you copy/paste AnkiDroid's debug information, and Anki Desktop's version
Chetmn commented 4 months ago

Thanks David

Sorry I was on a business trip and just got back.I installed 2.17.1 (latest version on f-droid) on an old phone so I could do a direct comparison at exactly the same time, with exactly the same database freshly downloaded from ankiweb. Screenshots attached.

The 2.16 gives exactly the same intervals as my desktop (latest qt6 version), as the screenshot shows 2.17.1 gives very different intervals

david-allison commented 4 months ago

Hi @Chetmn, no rush!

Your screenshots weren't transferred to GitHub, could you come to the issue and provide them.

Thanks!

https://github.com/ankidroid/Anki-Android/issues/15767

Chetmn commented 3 months ago

2 17 1 2 16 - correct same as desktop

david-allison commented 3 months ago

@Chetmn

Chetmn commented 3 months ago

I've found the error.

I had some old data in custom scheduling (I tried FSRS a while back, didn't work for me). FSRS is turned off so Ankidroid 2.16 and desktop (23.12.1 FWIW) were correctly ignoring the custom scheduling data and using the standard max interval, ease etc.

Ankidroid 2.17 has it backwards - it's using the custom scheduling data to override the standard intervals despite FSRS being turned off. Once I deleted that scheduling data 2.17 works as expected.

dae commented 3 months ago

The FSRS toggle has no influence over whether custom scheduling is applied. If it's in the deck options, it's always run - even on desktop.

Chetmn commented 3 months ago

All I know is that neither desktop, web, nor droid 2.16 ever gave me an interval greater than the maximim interval I had specified, and when I encountered the issue and checked they gave exactly the same intervals.

Droid 2.17 immediately, and consistently, gave me intervals both greater than the maximum interval I had set, and completely different to what the desktop, web and 2.16 were giving me.

As soon as I deleted that data droid 2.17 started giving me the same intervals as the desktop client and droid 2.16.

I'm not a programmer. All I can report is that was the single variable that solved the inconsistency problem.