Damien Elmes
dc0fdaeea5
add a bunch of annotations for mypy
2019-12-20 15:07:40 +10:00
Damien Elmes
87d37c7889
type hints for scheduler
2019-12-20 11:07:08 +10:00
Damien Elmes
9983774a12
add pytype inferred types to anki/
...
I've corrected some obvious issues, and we can fix others over time.
Mypy tests are currently broken, as adding the type hints has increased
mypy's testing surface.
2019-12-20 11:07:08 +10:00
Damien Elmes
6a72b9eedc
fix type inference in scheduler
2019-12-16 17:54:17 +10:00
Damien Elmes
d99cca56cf
sort due in filtered decks by ordinal, like normal review
...
https://anki.tenderapp.com/discussions/ankidesktop/37419-card-order-of-siblings-not-preserved-in-filtered-deck#comment_47910714
2019-12-11 08:12:50 +10:00
Damien Elmes
79ab33ee49
add a token 1 day bonus so easy on a relearn card differs from good
...
https://anki.tenderapp.com/discussions/beta-testing/1589-anki-2116-beta#comment_47905454
2019-12-09 12:12:29 +10:00
Damien Elmes
f7bbbfdbb1
fix negative due dates in filtered decks
...
https://anki.tenderapp.com/discussions/ankidesktop/35978-rebuilding-filtered-deck-on-experimental-v2-empties-deck-and-reschedules-to-the-year-1745
this means affected cards will not have the selected ordering applied,
but that seems preferable to the alternatives
2019-09-24 15:38:33 +10:00
Damien Elmes
9f27be3095
ensure random distribution of due cards for a given day in v2 sched
2019-08-17 18:45:00 +10:00
Damien Elmes
51f9e7eec9
fix v2 relearning reset bug
...
https://anki.tenderapp.com/discussions/ankidesktop/34560-schedule-switching-bug
2019-06-14 09:15:48 +10:00
Damien Elmes
ca6142ccf0
fix v2 lrn scheduling bug
...
https://anki.tenderapp.com/discussions/ankimobile/9714-deleting-custom-study-deck-skips-learning-step-time
2019-05-31 15:05:12 +10:00
Damien Elmes
0303939568
fix learn steps being assigned on relearn in v2
2019-04-30 09:27:28 +10:00
Damien Elmes
7d0f7ae33c
fix some warnings
2019-03-04 16:01:10 +10:00
Damien Elmes
f8bdf0ceec
revlog changes need to limited to (re)learning cards
...
if you switched schedulers with the git code or the beta, please
restore from a backup prior to the switch
2019-02-11 18:12:44 +10:00
Damien Elmes
a7eb6bb357
update copyright and clarify licenses
2019-02-05 14:01:33 +10:00
Damien Elmes
9e540ea5e6
shift revlog eases when turning v2 sched on/off
...
fixes old 'good'/'easy' answers showing up as 'hard'/'good' in
the graphs
2019-02-05 12:30:01 +10:00
Damien Elmes
89d784a0d7
ensure today and dayCutoff are integers
...
https://github.com/dae/anki/pull/272
2019-02-04 14:29:52 +10:00
Damien Elmes
914077e807
make sure lapse % doesn't create decimal intervals
...
issue reported on
https://github.com/dae/anki/pull/272
2019-01-29 08:01:23 +10:00
Damien Elmes
87575674f9
scan for due learning cards more frequently
2018-12-10 12:11:45 +10:00
Damien Elmes
aeea07498c
update learning cutoff time periodically
...
prevents users from having to leave and return to the deck to show
cards that have become due during the study session
https://anki.tenderapp.com/discussions/ankimobile/8530-ankimobile-with-experimental-schedule-not-showing-due-cards-in-realtime
2018-11-27 19:37:46 +10:00
Arthur-Milchior
708cc0a628
Change order of new cards
...
This commit corrects the following bug:
* Create a note N in an empty deck D of type basic (reverse), with
only some back, no front. Only card 2 will be generated.
* Edit the note, add a front. Card 1 will be generated.
* In the main window, try to learn deck D. In anki, currently, you'll
see Card 2 first. According to the manual (and to my common sens),
it should be Card 1 first.
This commit correct this bug, and ensure that new cards are seen
according to their order, and not to their creation date.
2018-11-20 21:50:36 +01:00
Damien Elmes
f576d19426
improve handling of invalid deck trees
...
- move checking code out of the schedulers and into the deck manager
- ensure we can fix the problem in one loop - the previous recursive
approach could lead to stack overflows if the top level of a large
deck tree was missing. this was also the cause of the sqlite
'interrupted' error that some users were seeing
2018-11-09 15:04:35 +10:00
Damien Elmes
9be9d7c576
strictly enforce maxIvl
...
https://anki.tenderapp.com/discussions/ankidesktop/29904-bug-in-v2-scheduler-that-allows-exceeding-the-maximum-review-interval
2018-09-25 09:55:46 +10:00
Damien Elmes
e7d8cef8b5
recover from decks with blank sections (eg '::deck')
2018-09-22 16:04:26 +10:00
Damien Elmes
b1cd168447
days since creation needs to be calculated relative to rollover
...
https://anki.tenderapp.com/discussions/ankidesktop/29502-next-day-starts-experimental-v2-scheduler-bug
2018-09-05 20:21:30 +10:00
Damien Elmes
c7620478cf
v2: limit learn delay fuzz to 5 minutes and sub-day
2018-07-28 13:56:56 +10:00
Damien Elmes
066adfd933
use scheduled ivl in lapse calculation
...
reverting to 2.0 behaviour
https://anki.tenderapp.com/discussions/effective-learning/1300-lapse-duration-not-being-honored-for-lapses-of-multi-stepday-relearn-cards
2018-07-27 15:02:41 +10:00
Damien Elmes
e0f24b626f
better handle invalid deck list
...
deleting will fail if the problem deck is the default deck - better to
rename instead
fixes infinite recursion errors
2018-07-26 11:34:10 +10:00
Damien Elmes
d78a6eb3fb
fix invalid cards when moving from v2->v1 sched
...
type needs to be reset from 3->2 when relearning cards removed from
learning
https://anki.tenderapp.com/discussions/beta-testing/1210-scheduling-error
2018-07-16 16:29:53 +10:00
Damien Elmes
2fdd9c89d5
differentiate easy button more when reviewing early
...
apply half the easy bonus post ivl calculation, or else very early
reviews with longer intervals appear to have the same intervals as
answering 'good'
2018-07-11 22:18:46 +10:00
Damien Elmes
f656a2da09
support customizing hard factor
2018-07-11 21:23:22 +10:00
Damien Elmes
1e63ed2965
remove study card count cap in v2 sched
...
- cap kept for the deck list, as we need to calculate it for multiple
decks
- v2 sched can calculate review limit faster, as it doesn't have to
check each deck separately
- filtered deck cap is same as in interface
- as this will be deployed on ankiweb, beta clients will need to update
or risk getting sanity check errors when syncing with high due counts
2018-07-11 20:03:36 +10:00
Damien Elmes
51f50e7b4c
make sure we don't put suspended leeches back in the learning queue
...
fixes
https://anki.tenderapp.com/discussions/beta-testing/1119-anki-210-beta-38#comment_45555453
2018-06-25 20:27:26 +10:00
Damien Elmes
d352ec7581
ignore delay in hard case
...
https://anki.tenderapp.com/discussions/ankidesktop/27627-request-allow-setting-maximum-delay-for-interval-calculation-in-overdue-cards
2018-06-01 12:24:11 +10:00
Damien Elmes
b7d3e5fa68
speed up v2 deckDueList() in many decks case
2018-05-31 16:21:33 +10:00
Damien Elmes
f8101d0084
fix regular reviews being treated as relearning in v2 sched
2018-05-31 12:44:23 +10:00
Damien Elmes
3b91c1d6c5
cache deck name->obj map to improve many decks case
2018-05-29 19:30:13 +10:00
Damien Elmes
29597abe85
give hard a 1.5x interval when there's only one (re)learning step
...
otherwise we end up with two buttons that do the same thing
2018-02-06 15:41:56 +10:00
Damien Elmes
fe85b3bf26
misleading spacing
2018-02-06 11:47:28 +10:00
Damien Elmes
80487ad664
rename _restoreFromFiltered
...
and use same logic as restoreQueueSnippet
2018-02-02 19:10:35 +10:00
Damien Elmes
b9932249e3
remove _cidsByDid()
...
no longer necessary
2018-02-02 16:55:53 +10:00
Damien Elmes
067191b8cc
simplify rev card answering
2018-02-02 15:19:41 +10:00
Damien Elmes
3d3cf3d135
fix no relearn steps case in v2 sched
2018-02-02 14:30:53 +10:00
Damien Elmes
4f281b5db0
v2 sched cleanups
2018-02-02 12:44:56 +10:00
Damien Elmes
7013cbcd57
experiment with counting learning cards instead of learning steps
...
When studying, the learning count now indicates the number of
learning cards due within the learn ahead limit, instead of the total
number of learning steps required to complete that day.
Also fix the ineffective limit clauses in the learning counts.
2018-01-31 14:50:17 +10:00
Damien Elmes
8d536a16e8
fix error on final step of lapsed card
...
https://anki.tenderapp.com/discussions/beta-testing/968-experimental-scheduler-in-anki-210beta31#comment_44552449
2018-01-22 12:10:39 +10:00
Damien Elmes
7c79f24916
add option to show day learn cards before reviews
2018-01-20 16:07:57 +10:00
Damien Elmes
65b81b0a47
make preview delay customizable
2018-01-20 15:26:11 +10:00
Damien Elmes
b8c498b570
fix counts in preview mode
...
We can't preserve the original queues when in preview mode, as
otherwise the due counts report the remaining steps of cards in
the learning queue, instead of just 1.
Rather than the rather complicated approach of making the learning and
deck list code aware of the current mode we're in, preview mode moves
all cards to the review queue when the filtered deck is built - just as
cards are moved to the new queue in Anki 2.0.x. The reason for the
review queue is that users were frequently confused when cards appeared
as new - hopefully this is slightly less confusing.
2018-01-20 14:22:57 +10:00
Damien Elmes
5f22a067e2
extra newline
2018-01-14 17:01:39 +10:00
Damien Elmes
59aa78f253
code in new scheduler to move between versions
2018-01-14 16:57:40 +10:00