Anki-android: Ankidroid Decimal Intervals under 4 secs Not Allowed - Giving Error

Created on 21 Dec 2020  路  10Comments  路  Source: ankidroid/Anki-Android

Reproduction Steps

UPDATE: It seems the error is for steps lower than 4secs (=0.067mins), this is the reason <0.067min intervals (like 0.05 0.02) give error

  1. Hold click a deck and choose Options
  2. go to New cards or Lapses
  3. Click "Steps in Minutes"
  4. add an interval with decimals f.e. 1.5 or 0.5 or 0.02
Expected Result

To show the card and be able to select easy/hard etc and show the next card

As in Anki PC it allows you to set intervals with decimal spaces, which is very useful especially in hard cards

Actual Result

When I open a deck with settings with decimals (f.e. one that synced from pc), it shows the card ok, but when I tap an option "easy" "hard" etc which though includes decimals in scheduling f.e. 0.1min, 1.5min then it sends an error as shown in the picture saying: "Collection not opened" an error occurred while accessing your collection...

Why I know it is the decimals? If I set the intervals in integers f.e. 1min 5min 2min, then everything is ok.

image

Does it happen again every time you repeat the steps above? Or did it

happen only one time?
Every time

Debug info

Refer to the support page if you are unsure where to get the "debug info".

AnkiDroid Version = 2.14.2

Android Version = 9

ACRA UUID = dc880539-d555-4065-9ea9-b0d24e7f1564

Scheduler = std2

Crash Reports Enabled = true

Research

Enter an [x] character to confirm the points below:

  • [x] I have read the support page and am reporting a bug or enhancement request specific to AnkiDroid
  • [x] I have checked the manual and the FAQ and could not find a solution to my issue
  • [x] I have searched for similar existing issues here and on the user forum

PLEASE fix soon so I can study from my phone optimized. thanks!!!

Anki Ecosystem Compatibility Bug Good First Issue! Needs Triage Priority-Critical

All 10 comments

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

Very interesting, thanks for reporting this. Probably just an integer expectation as you imply

Interesting - I just tried this and I cannot reproduce it from current version, can you install the "parallel" version of 2.15alpha17 in order to check ?

https://github.com/ankidroid/Anki-Android/releases/download/v2.15alpha17/AnkiDroid-2.15alpha17.parallel.A.apk

It will be side-by-side with your main ankidroid and...maybe work with these non-integer review settings

I can't reproduce either. But now idea why this would have been solved between the reported version and master

Well, assuming @Cashburner cannot reproduce in 2.15alpha17 either only way to know for sure would be to make a test and do a git bisect vs the code, or - something you could try @Cashburner would be to bisect vs the parallel versions of the 2.15alpha series if you can't reproduce it with 2.15alpha17 either. Just start with "half of 17" (so, 2.15alpha8) to see if it works there or not, if it crashes then try half-of-the-other-half (so between 8 and 17, maybe 2.15alpha12) to re-check, and keep splitting the difference until the alpha that fixes it, that would narrow it down and we might find it.

I don't have the time for that personally, so in the absence of someone else bisecting I will leave it as is with next version just fixing it. I imagine it is an edge case used by even fewer than the few people that actually change these settings. It should definitely work just I imagine not many will run in to it?

just saw the replies, give me a minute I am going to try all these.

(So after some testing it seems that in 2.15alpha17 the same happens.) But this is not the WOW here:

Here is something interesting:

  1. the problem happens with intervals lower than 0.07. For some reason 0.07=< is ok and works but if about 0.06> is set (tested and error for 0.065 too) then there is an error. Checked it and it seems that the min interval is 4sec in ankidroid so 0.0666mins, anything under gets an error. This does not happen in the pc version which can handle down to 0.01.
  1. the second interesting thing is that when I put the first interval as a decimal (f.e. intervals 0.5 1.5 5.5 10) only the first interval gets to show all its decimal spaces, not sure if this is correct or its supposed as an error.

Screenshots:
0.067>4secs OK
0.0659<4sec error
image
image

Fascinating! Okay, so likely nothing changed (actually what I was thinking, based on my knowledge of changes between 2.14.2 and 2.15alpha-current) but it was slightly different data than we were testing.

So looks like we have a data validation issue of some type plus a side issue of number formatting. Not sure how many digits to show but it should probably confirm with upstream.

Thanks a bunch for testing this, and I think it's on us now to triage again

Thanks a lot for the help! Happy Christmas guys with health to you and your family. (I know it's not a place to say this but why not).
Also want to ask, what's the timeline for fixing this issue? I can't wait to use ankidroid again :)

Indeed - it is holidays and I have a small child so I'm not working very much sorry. I can't make a promise on timeline but hopefully soon

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kanjieater picture kanjieater  路  4Comments

mashinbaz1 picture mashinbaz1  路  6Comments

littlefoodt picture littlefoodt  路  4Comments

OoDeLally picture OoDeLally  路  4Comments

mikehardy picture mikehardy  路  4Comments