Commit graph

702 commits

Author SHA1 Message Date
Damien Elmes
d7d036c5a1 bump version 2018-08-08 12:47:19 +10:00
Damien Elmes
aa6418dd07 bump version to 2.1.0 2018-08-06 14:17:13 +10:00
Damien Elmes
8bce4527ef bump version 2018-07-28 18:50:55 +10:00
Damien Elmes
ae46bfa8d1 support dynamic sync url 2018-07-28 18:08:16 +10:00
Damien Elmes
65f6ddf8d9 v2: limit learn delay fuzz to 5 minutes and sub-day 2018-07-28 13:56:56 +10:00
Damien Elmes
a728595c1d 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
eb44584b29 chunk deletions to reduce load on AnkiWeb 2018-07-26 21:34:53 +10:00
Damien Elmes
d6874de8c8 strip out unused syncing code 2018-07-26 19:41:52 +10:00
Damien Elmes
4af6aa8584 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
377bb78b88 bump version 2018-07-23 13:59:02 +10:00
Damien Elmes
fbeade1f23 fixes for mpv focus switching
- avoid changing focus if an Anki window is already focused
- only try to restore focus when playing videos
2018-07-23 13:57:09 +10:00
Damien Elmes
1ac83b7998 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
babc7d6762 bump version 2018-07-11 22:40:05 +10:00
Damien Elmes
9e8648bed7 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
1a617e6d60 support customizing hard factor 2018-07-11 21:23:22 +10:00
Damien Elmes
13c54e02d8 don't pull learning cards into v1 filtered deck
preventing emptying is harder - operations like suspending
don't expect remFromDyn() to fail
2018-07-11 20:28:14 +10:00
Damien Elmes
6bd1eed9b6 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
e006cb9e6e
Merge pull request #240 from maiself/avoid-reordering-when-importing
Avoid reordering entire deck when importing notes
2018-07-11 15:24:13 +10:00
Mai Lavelle
128bfcd481 avoid reordering entire deck when importing notes
No need to reorder existing cards, which may have been manually
ordered by the user, when importing notes if we can give cards
a proper due number from the start. Retrieving any sibling's
due number for this is easy as all relevant cards will have
already been queried for when generating the new cards.
2018-07-06 00:49:47 -04:00
Damien Elmes
01832e1312 fix media check with [$]{{c1::a}}{{c2::b}}[/$]
https://anki.tenderapp.com/discussions/ankidesktop/28625-cloze-deletion-in-latex-check-medias-regression-in-21

appears to have broken in e3885fd924
2018-06-28 13:11:04 +10:00
Damien Elmes
918c4269c6 bump version 2018-06-25 20:27:45 +10:00
Damien Elmes
c0c33a2b58 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
01ae70ea04
Merge pull request #239 from emrysn/master
Update lang.py with correct Romanian language option
2018-06-18 10:19:46 +10:00
Floren
f0d6ede6a3
Update lang.py 2018-06-16 21:32:47 +03:00
Damien Elmes
0974f33b4f bump version 2018-06-15 11:59:22 +10:00
Damien Elmes
b17946b282 fix detection of multiline cloze deletions 2018-06-15 11:24:59 +10:00
Damien Elmes
8b6ef5579f remove comments when stripping
gets rid of unwanted metadata from ms word pastes
2018-06-09 16:27:46 +10:00
Damien Elmes
89fd5cf6e5 make sure we don't import cards into a filtered deck 2018-06-08 14:51:55 +10:00
Damien Elmes
01c58cfd85 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
99c50f1a93 bump version 2018-05-31 16:26:31 +10:00
Damien Elmes
c207c9bc8c speed up v2 deckDueList() in many decks case 2018-05-31 16:21:33 +10:00
Damien Elmes
ec090e02eb fix incorrect scheduling when importing cards in relearning
private link:
https://anki.tenderapp.com/discussions/ankidesktop/28234
2018-05-31 13:27:59 +10:00
Damien Elmes
e6fcfb7379 need to record active window prior to playing in mpv 2018-05-31 13:22:17 +10:00
Damien Elmes
fd6d02bf6a fix regular reviews being treated as relearning in v2 sched 2018-05-31 12:44:23 +10:00
Damien Elmes
9c7c52b99c cache deck name->obj map to improve many decks case 2018-05-29 19:30:13 +10:00
Damien Elmes
146d332dc8 add Armenian lang 2018-05-28 11:23:24 +10:00
Damien Elmes
bfa8fe9022 bump version 2018-05-10 16:49:24 +10:00
Damien Elmes
478d244a4f bump version 2018-05-01 14:41:18 +10:00
Damien Elmes
47370af7c3 work around video focus stealing
https://anki.tenderapp.com/discussions/ankidesktop/27401-bug-when-playing-a-video-on-anki-for-mac-anki-lanches-mplayer-and-doesnt-quit-it-or-return-to-anki
2018-04-30 17:12:26 +10:00
Damien Elmes
693bb955ad check upload doesn't exceed ankiweb limits
better to abort prior to upload instead of giving a misleading error
2018-04-30 16:58:00 +10:00
Damien Elmes
d44ec04751 add envvar to disable ssl verification 2018-04-30 15:36:55 +10:00
Dudemanguy911
63b6ffea44 force mpv --keep-open=no 2018-04-08 11:18:51 -05:00
Damien Elmes
cf3cab2101 fix memory leak caused by text_factory 2018-03-05 15:27:22 +10:00
Damien Elmes
ee940cfa85 bump version 2018-03-01 15:55:17 +10:00
Damien Elmes
0fce9fba9d don't convert quotes to entities on import
https://anki.tenderapp.com/discussions/ankidesktop/26926-bug-report-exporting-than-re-importing-messes-up-quotes
2018-03-01 13:38:06 +10:00
Damien Elmes
88fe45b1bb normalize to NFC on all platforms
APFS is normalization-preserving, which results in spurious changes
being detected if we assume we'll receive NFD from file listings

this needs to be ported to 2.0.x as well
2018-02-28 16:22:06 +10:00
Damien Elmes
3cccae7a1f increase default rev limit to 200 2018-02-27 12:58:24 +10:00
Damien Elmes
3b29bf6cba change sibling burying to default to off
causes too much confusion for new users
2018-02-22 17:00:11 +11:00
Damien Elmes
730d444164 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
cc26d32431 misleading spacing 2018-02-06 11:47:28 +10:00
Damien Elmes
a1c02e8177 bump version 2018-02-05 16:10:29 +10:00
Damien Elmes
1dccd7c8d7 rename _restoreFromFiltered
and use same logic as restoreQueueSnippet
2018-02-02 19:10:35 +10:00
Damien Elmes
3b0c5b2fe9 remove _cidsByDid()
no longer necessary
2018-02-02 16:55:53 +10:00
Damien Elmes
01942cd076 fix is:buried in v2 scheduler 2018-02-02 16:17:26 +10:00
Damien Elmes
264e7c8ce9 simplify rev card answering 2018-02-02 15:19:41 +10:00
Damien Elmes
0b42787ffc fix no relearn steps case in v2 sched 2018-02-02 14:30:53 +10:00
Damien Elmes
ebe420b440 v2 sched cleanups 2018-02-02 12:44:56 +10:00
Damien Elmes
6d7dd08e1e include average answer time for today 2018-01-31 17:35:22 +10:00
Damien Elmes
3d71d6873e bump version 2018-01-31 15:34:04 +10:00
Damien Elmes
cdb9c07dc0 make sure we don't import v1 scheduling into a v2 collection 2018-01-31 15:33:58 +10:00
Damien Elmes
8e0b009173 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
49d1d8f9fd fix check for nesting under filtered deck 2018-01-31 11:40:16 +10:00
Damien Elmes
bbccc4fd6b enable syncing w/ v2 scheduler, and bump sync version
any client using a sync version of 9 must be able to handle
the V2 scheduler
2018-01-30 17:52:03 +10:00
Damien Elmes
0cce540d83 enforce schema version; allow importing+exporting v2 scheduler
To avoid all sorts of problems, we need to ensure cards scheduled with
the V2 scheduler are not studied in older clients. Unfortunately we
can't just bump the file's schema version, as the existing clients will
freely import files created with newer versions. This patch changes
that, so things should be a bit easier in the future.

In the mean time, we need a way to prevent older clients from importing
files created with the V2 scheduler. To do this, we switch to using a
'collection.anki21' file in the archive, and include a dummy collection
.anki2 file.

The code has been tested with both deck and collection packages, but
exporting deck packages w/ scheduling info will remain disabled until
the V2 scheduler has had more testing.
2018-01-29 14:12:04 +10:00
Damien Elmes
21284355be remove unused bundled certs 2018-01-27 16:08:31 +10:00
Damien Elmes
135aced882 bump version 2018-01-27 15:48:27 +10:00
Damien Elmes
4dce1befa5 re.escape leaves _ alone in python 3 2018-01-27 15:15:07 +10:00
Damien Elmes
2564dd75ee 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
a81932e62c bump version 2018-01-22 11:25:09 +10:00
Damien Elmes
bb6844716c linux mpv doesn't understand --input-media-keys 2018-01-21 10:34:29 +10:00
Damien Elmes
6affae1489 bump version 2018-01-20 16:12:09 +10:00
Damien Elmes
d3d61ce93f add option to show day learn cards before reviews 2018-01-20 16:07:57 +10:00
Damien Elmes
651b107b18 make preview delay customizable 2018-01-20 15:26:11 +10:00
Damien Elmes
1343101add 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
6bddcc10e6 return to win32 audio driver on windows
fixes various playback issues some users were experiencing
2018-01-20 13:41:12 +10:00
Damien Elmes
6077611646 prevent exceptions when invalid utf-8 in db 2018-01-20 11:23:49 +10:00
Damien Elmes
6113785b2f work around some decks with mod time stored as string 2018-01-19 11:42:06 +10:00
Damien Elmes
118326df1e remove format literals so we can support python 3.5 2018-01-16 16:07:30 +10:00
Damien Elmes
4f0e6561e8 bump version 2018-01-14 19:32:31 +10:00
Damien Elmes
b84d3b53af bump version 2018-01-14 17:53:09 +10:00
Damien Elmes
7915dcd1d9 disable syncing and deck exports for v2 sched 2018-01-14 17:35:59 +10:00
Damien Elmes
63d06946a8 extra newline 2018-01-14 17:01:39 +10:00
Damien Elmes
cf6d85baa4 support sched versions in collection 2018-01-14 16:58:04 +10:00
Damien Elmes
2ebd75ffe7 code in new scheduler to move between versions 2018-01-14 16:57:40 +10:00
Damien Elmes
a585c21082 add old sched code back 2018-01-14 16:55:07 +10:00
Damien Elmes
c56760802c rename new sched code to schedv2.py 2018-01-14 16:54:48 +10:00
Damien Elmes
1e0b97f25b support a second filter in filtered decks 2018-01-14 13:08:38 +10:00
Damien Elmes
a062e1bc29 store day rollover relative to local time 2018-01-14 12:16:53 +10:00
Damien Elmes
be0429479a make sure we log the correct type when card.type=3 2018-01-14 12:16:53 +10:00
Damien Elmes
21023ed3e5 don't fetch reviews in deck order
- fetch reviews from all child decks at once, sorted by due order
- shuffle the gathered cards as we did previously
- review limits on child decks are ignored - only the current deck and
its parents control what the limit is
- to make the deck list consistent with actual counts, we can't sum the
child counts, as the sum in the parent limit>child limit case may not
reflect the actual number of cards that would be presented
2018-01-14 12:16:53 +10:00
Damien Elmes
4e52f43365 distinguish between buried siblings and manually buried cards 2018-01-14 12:16:53 +10:00
Damien Elmes
62c1fa4a17 preserve learning/filtered state when suspending/burying
add new card type of 3 so we can distinguish cards in relearning from
normal reviews
2018-01-14 12:16:53 +10:00
Damien Elmes
ba87fc7736 experiment with simple resched=off case to 'preview mode'
the previous approach meant we weren't able to preserve the card state
exactly when cards were in learning, since we didn't record the step
position prior to cards being moved into the filtered deck.

it also meant the answer buttons needed to change depending on state - 4
for cards in learning/review, but 2 when the card is on the final step
or is a review.

instead, in preview mode cards always have 2 buttons: again will repeat
again after a delay, and good immediately removes the card and restores
it to its previous state.

to accomplish this, we use a separate queue #, as the learn count
always needs to have a 1:1 correspondence to the number of cards
2018-01-14 12:16:53 +10:00
Damien Elmes
575f61c384 tweaks to interval constraining
- move fuzzing into _constrainedIvl() so it's applied prior to limits
like maxIvl

- don't fuzz early reviews, so cards get the same interval if a filtered
deck is rebuilt again
2018-01-14 12:16:53 +10:00
Damien Elmes
765ec0fb36 use the review queue for undue reviews 2018-01-14 12:16:53 +10:00
Damien Elmes
4070f4eef8 schedtest changes, squashed from local branch 2018-01-14 12:16:53 +10:00
Carl Hofmeister
baee6916e7 Fix string decode error when importing csv files 2017-12-31 14:01:47 -06:00
Damien Elmes
bf95b3f671 bump version 2017-12-24 22:27:09 +10:00
aakatov
6c61dc180b fix play sound with HTML special symbols in its filename 2017-12-23 12:36:26 +03:00
Damien Elmes
ef323e2d35 bump version 2017-12-22 21:48:13 +10:00