Commit graph

218 commits

Author SHA1 Message Date
Damien Elmes
6af7f6e846 improved finding
- new per-character tokenizer that is easier to read and maintain
- OR searches now supported
- grouping with ( and ) now supported
- sorting is off by default now
- searching in html is disabled for now, but may come back later
- use ? arguments instead of named arguments to ease porting to other
  platforms
- field:foo is no longer wrapped in implicit wildcards
- avoid joining notes table if it not required - about 30% faster
- fixed sql injection bug in findNids()
- commands no longer have to take care of negation themselves
- commands can return nothing to immediately flag the query as invalid
2012-05-23 20:21:47 +09:00
Damien Elmes
3ffb6fd67b add separate toggle to disable scheduling completely in cram deck 2012-05-23 13:36:44 +09:00
Damien Elmes
779ba63b01 remove fmult in favour of home deck's setting 2012-05-23 13:22:57 +09:00
Damien Elmes
56652c5066 remove unused cramRev 2012-05-23 13:16:15 +09:00
Damien Elmes
ab5af8c7aa log lapse time as relearn delay if available 2012-05-22 11:17:10 +09:00
Damien Elmes
20c96d50d6 fix countIdx() for lrn day cards 2012-05-22 09:37:36 +09:00
Damien Elmes
8a8ce2bffb fix ivlfct reference in cram decks 2012-05-22 06:32:07 +09:00
Damien Elmes
d9348e72dd replace fi adjustment with factor 2012-05-20 21:35:56 +09:00
Damien Elmes
745bbe1382 update children too 2012-05-20 20:55:14 +09:00
Damien Elmes
f00b7201b4 add fn to extend today's limits (into the negatives allowed) 2012-05-20 20:44:21 +09:00
Damien Elmes
faa3c7134b find and cards with invalid dids on deck list 2012-05-20 19:37:43 +09:00
Damien Elmes
b6bdd4aa21 daily learning queue
The way we were handling 1 day+ learning intervals was not great - they'd show
up at the start of a new day before normal reviews, meaning the hardest cards
came first. In previous Anki versions we deliberately sorted the queue in the
opposite order to prevent that. When relearning the cards the next day, if you
failed a card and expected to see it in 10 minutes that wouldn't happen
either, as all the overdue cards took precedence.

To fix this, we put cards that are due tomorrow or later into a separate queue
(queue 3), and pull cards from that queue only after the reviews are done. In
the future it might also be nice to move overdue learning cards into that
queue automatically at the start of a session.
2012-05-20 16:56:14 +09:00
Damien Elmes
32fde2a072 encode daily steps in left
When a user has learning steps that extend past the daily cutoff, we end up
counting them all instead of only the ones that would be done today. In order
to avoid this without expensive calculations or db schema changes, we
calculate the number of steps until the daily cutoff and pack it into the left
column, as totalLeft + leftToday*1000.
2012-05-20 16:05:50 +09:00
Damien Elmes
33407a6043 if the next step of the learn card is past the day cutoff, ignore left 2012-05-20 12:01:52 +09:00
Damien Elmes
072e93590b don't bump mod time when expired failed cards 2012-05-14 05:44:48 +09:00
Damien Elmes
32bb469c63 proactively remove empty dids 2012-05-13 08:32:48 +09:00
Damien Elmes
e3a848b5b8 tally lrn separately so we don't limit it with the rev limit 2012-05-06 02:20:25 +09:00
Damien Elmes
0e2637a999 when cram deck removed, cards in learning need to be reset 2012-05-06 01:55:18 +09:00
Damien Elmes
c2370fe3ef fix bug where nondue review cards in cram were treated as due 2012-05-06 01:44:10 +09:00
Damien Elmes
623dff8df0 allow for more cards in a cram deck 2012-05-05 23:52:47 +09:00
Damien Elmes
47e8e3d718 must set odue to zero when removing failed 2012-05-05 01:28:47 +09:00
Damien Elmes
d359a600d9 adjust properties directly on leech 2012-05-05 01:20:18 +09:00
Damien Elmes
461e240d53 allow python-bundled json 2012-04-28 17:41:56 +09:00
Damien Elmes
491596096a fix inverted cmp in leech handler 2012-04-28 16:29:59 +09:00
Damien Elmes
b5ad2eb880 clear overdue in deck browser too 2012-04-24 05:38:18 +09:00
Damien Elmes
b2bc97ee49 clear overdue lapsed cards from learning queue 2012-04-24 05:28:19 +09:00
Damien Elmes
dd4e85edfd automatically .reset() if attempting to getCard() from fresh deck 2012-04-23 04:16:51 +09:00
Damien Elmes
bf13492c3c fix dynIvlBoost() thanks to itraveller 2012-04-23 00:24:20 +09:00
Damien Elmes
f2e183f729 check day when checking due counts 2012-04-22 09:26:08 +09:00
Damien Elmes
4b3e1f0d2b accept a string did in remDyn() 2012-04-20 02:19:00 +09:00
Damien Elmes
20ecd7359d when resetting lrn reps, need to choose between lrn/lapse 2012-04-19 05:53:24 +09:00
Damien Elmes
f963a31d9c must set factor when cards are rescheduled as a review 2012-04-19 04:40:43 +09:00
Damien Elmes
336b1e7c58 fix bugs with daily counts
- When we reset() the deck, we need to update the daily counts for all decks,
  not just the selected ones, or the deck list is inaccurate
- We don't want to save the decks at that time, or simply opening Anki on
  another machine will cause a conflict with all decks
2012-04-19 02:45:46 +09:00
Damien Elmes
35f89bfea7 collapse relearning to 2 buttons if single step 2012-04-18 01:59:51 +09:00
Damien Elmes
55812bef86 remove cards from cram decks and the relearning queue on suspend 2012-04-17 22:53:48 +09:00
Damien Elmes
5ac1ec2067 when shifting cards on reschedule, only shift new cards 2012-04-12 00:37:22 +09:00
Damien Elmes
bbac32b477 ensure lapsed reviews are scheduled for tomorrow on graduate 2012-04-07 14:28:41 +09:00
Damien Elmes
5c59f6a558 fix illegal check thanks to kostas 2012-04-05 03:50:03 +09:00
Damien Elmes
7553573304 fix earlier cram fix 2012-03-30 02:42:54 +09:00
Damien Elmes
07c3297a9a don't include suspended cards in cram 2012-03-30 00:03:30 +09:00
Damien Elmes
d8ec8d0389 another rev scheduling bug 2012-03-27 09:15:39 +09:00
Damien Elmes
c62dd41f77 bug in rev scheduling 2012-03-27 05:22:47 +09:00
Damien Elmes
eb8326c605 failure mult should only be applied to reviews 2012-03-24 23:58:24 +09:00
Damien Elmes
ce86670c76 find&replace should ignore notes without provided field 2012-03-24 04:06:51 +09:00
Damien Elmes
5c5341b5e5 make sure we don't modify the active decks during scheduling 2012-03-20 00:37:39 +09:00
Damien Elmes
e9a87b9fd9 apply failure multiplier in cram mode 2012-03-20 00:03:52 +09:00
Damien Elmes
62117453ff timeboxing 2012-03-16 19:56:10 +09:00
Damien Elmes
4c369ba6af make sure daysLate() works with review cards in a cram deck 2012-03-16 19:08:13 +09:00
Damien Elmes
17891edb72 card rescheduling needs to bump mod time and usn 2012-03-13 22:28:25 +09:00
Damien Elmes
acd0316a14 more cram orderings, clear out before rebuild 2012-03-13 21:40:31 +09:00