Commit graph

679 commits

Author SHA1 Message Date
Floren
cb7df4972f Update lang.py 2018-06-16 21:32:47 +03:00
Damien Elmes
580deee1be bump version 2018-06-15 11:59:22 +10:00
Damien Elmes
5bc2b6395f fix detection of multiline cloze deletions 2018-06-15 11:24:59 +10:00
Damien Elmes
d3fd519d0b remove comments when stripping
gets rid of unwanted metadata from ms word pastes
2018-06-09 16:27:46 +10:00
Damien Elmes
34eb85cc77 make sure we don't import cards into a filtered deck 2018-06-08 14:51:55 +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
1333019557 bump version 2018-05-31 16:26:31 +10:00
Damien Elmes
b7d3e5fa68 speed up v2 deckDueList() in many decks case 2018-05-31 16:21:33 +10:00
Damien Elmes
69cb9a9d37 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
0562c7ba45 need to record active window prior to playing in mpv 2018-05-31 13:22:17 +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
cc6ad80dd0 add Armenian lang 2018-05-28 11:23:24 +10:00
Damien Elmes
e6ef4267ca bump version 2018-05-10 16:49:24 +10:00
Damien Elmes
0487620ce2 bump version 2018-05-01 14:41:18 +10:00
Damien Elmes
73ddd79967 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
7ae073e955 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
cdee96baa6 add envvar to disable ssl verification 2018-04-30 15:36:55 +10:00
Dudemanguy911
0f6312ee68 force mpv --keep-open=no 2018-04-08 11:18:51 -05:00
Damien Elmes
d07c6e7978 fix memory leak caused by text_factory 2018-03-05 15:27:22 +10:00
Damien Elmes
fe52cc8fc9 bump version 2018-03-01 15:55:17 +10:00
Damien Elmes
5bcb76e176 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
ce8f66fac8 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
c8b5c9da42 increase default rev limit to 200 2018-02-27 12:58:24 +10:00
Damien Elmes
841e88c2a8 change sibling burying to default to off
causes too much confusion for new users
2018-02-22 17:00:11 +11: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
2c8668a5f9 bump version 2018-02-05 16:10:29 +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
32241b9cb1 fix is:buried in v2 scheduler 2018-02-02 16:17:26 +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
386329fc09 include average answer time for today 2018-01-31 17:35:22 +10:00
Damien Elmes
ce89d769c3 bump version 2018-01-31 15:34:04 +10:00
Damien Elmes
58f51ca095 make sure we don't import v1 scheduling into a v2 collection 2018-01-31 15:33:58 +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
bcbc6ee44a fix check for nesting under filtered deck 2018-01-31 11:40:16 +10:00
Damien Elmes
a681a8e299 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
c474f58748 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
4545db7e8c remove unused bundled certs 2018-01-27 16:08:31 +10:00
Damien Elmes
82957a1c4f bump version 2018-01-27 15:48:27 +10:00
Damien Elmes
15f4304920 re.escape leaves _ alone in python 3 2018-01-27 15:15:07 +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
a5dbb8287d bump version 2018-01-22 11:25:09 +10:00
Damien Elmes
fa3b70236c linux mpv doesn't understand --input-media-keys 2018-01-21 10:34:29 +10:00
Damien Elmes
13d7319c60 bump version 2018-01-20 16:12:09 +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
96cb1e6dd9 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
43d5589e6a prevent exceptions when invalid utf-8 in db 2018-01-20 11:23:49 +10:00
Damien Elmes
f6669cc362 work around some decks with mod time stored as string 2018-01-19 11:42:06 +10:00
Damien Elmes
07dcacf09b remove format literals so we can support python 3.5 2018-01-16 16:07:30 +10:00
Damien Elmes
0612e20dfe bump version 2018-01-14 19:32:31 +10:00
Damien Elmes
5b8f2ad4e5 bump version 2018-01-14 17:53:09 +10:00
Damien Elmes
1f818aa10b disable syncing and deck exports for v2 sched 2018-01-14 17:35:59 +10:00
Damien Elmes
5f22a067e2 extra newline 2018-01-14 17:01:39 +10:00
Damien Elmes
3c728e60f5 support sched versions in collection 2018-01-14 16:58:04 +10:00
Damien Elmes
59aa78f253 code in new scheduler to move between versions 2018-01-14 16:57:40 +10:00
Damien Elmes
1b88490bb1 add old sched code back 2018-01-14 16:55:07 +10:00
Damien Elmes
cdb3ee4702 rename new sched code to schedv2.py 2018-01-14 16:54:48 +10:00
Damien Elmes
0482a37517 support a second filter in filtered decks 2018-01-14 13:08:38 +10:00
Damien Elmes
f671a7aa99 store day rollover relative to local time 2018-01-14 12:16:53 +10:00
Damien Elmes
3f3fbd6fe3 make sure we log the correct type when card.type=3 2018-01-14 12:16:53 +10:00
Damien Elmes
f6176748c5 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
65c779f25d distinguish between buried siblings and manually buried cards 2018-01-14 12:16:53 +10:00
Damien Elmes
38cd7f543a 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
a312ccf32e 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
accf75be26 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
60db50a285 use the review queue for undue reviews 2018-01-14 12:16:53 +10:00
Damien Elmes
4b581c9f77 schedtest changes, squashed from local branch 2018-01-14 12:16:53 +10:00
Carl Hofmeister
430d38223c Fix string decode error when importing csv files 2017-12-31 14:01:47 -06:00
Damien Elmes
d08f6c4f46 bump version 2017-12-24 22:27:09 +10:00
aakatov
793e12a84c fix play sound with HTML special symbols in its filename 2017-12-23 12:36:26 +03:00
Damien Elmes
b5c17cb370 bump version 2017-12-22 21:48:13 +10:00
Damien Elmes
9230211809 different cloze colour in night mode 2017-12-20 16:05:28 +10:00
Damien Elmes
174e1a46b3 fix error when importing 2017-12-12 11:55:27 +10:00
Damien Elmes
39bc5d42ae fix mpv warnings 2017-12-11 17:26:25 +10:00
Damien Elmes
83b220f931 more open() and regex strings 2017-12-11 17:25:51 +10:00
Damien Elmes
7bc9fd6d04 move regex flags to start of string 2017-12-11 16:42:19 +10:00
Damien Elmes
ebfc475efe fix 'unclosed file' warnings with python -Wall 2017-12-11 16:38:15 +10:00
Damien Elmes
ccb39c5f50 cgi.escape is deprecated 2017-12-11 16:20:00 +10:00
Damien Elmes
4875d0502e add the ability to disable cert verification 2017-12-07 17:15:20 +10:00
Damien Elmes
54780dcd53 work around pops in recording start
https://anki.tenderapp.com/discussions/ankidesktop/26005-when-recording-sound-on-mbp

on my machine, the pops start around sample 2048 of a 44.1khz recording,
and only for the first recording after the audio hardware has gone to
sleep
2017-12-05 11:07:52 +10:00
Damien Elmes
857c9a5cea bump version 2017-12-04 12:58:29 +10:00
Damien Elmes
5f787d6d3c play question audio when preview set to 'show both sides' 2017-12-04 12:45:22 +10:00
Damien Elmes
b2c2cbf421 fix time translation patch 2017-12-04 12:33:23 +10:00
Damien Elmes
7c520c55df night mode 2017-12-04 12:20:56 +10:00
Damien Elmes
7fbbee43e6 add catalan 2017-12-03 16:06:56 +10:00
Piotr Kubowicz
b821c70929 Allow to better translate "in x minutes"
"There is 1 minute" and "in 1 minute" need to be translated
differently in Slavic languages.

Additionally remove unused afterTimeTable.
2017-11-30 20:03:51 +01:00
Damien Elmes
63c03eea83 bump version 2017-11-27 11:17:42 +10:00
Damien Elmes
e3a29ac3d1 accept current and future mnemosyne imports 2017-11-27 10:49:38 +10:00
Damien Elmes
b632a1805d restore media dir mod check
https://anki.tenderapp.com/discussions/beta-testing/853-anki-210-beta-21/page/1#comment_44071381
2017-11-20 14:22:53 +10:00
Damien Elmes
3cda126717 bump version 2017-11-17 17:35:36 +10:00
Damien Elmes
a97f1d87ff detect image extension, catch errors, add timeout 2017-11-17 17:30:01 +10:00
Damien Elmes
ee4e1cadbf fix crash when deleting nested default deck
https://anki.tenderapp.com/discussions/ankidesktop/25777-bug-report-syn
2017-11-14 13:13:52 +10:00
Damien Elmes
7d9530377e bump version 2017-11-11 12:15:38 +10:00
Damien Elmes
1631160ddc favour most recent modified when importing template changes 2017-11-11 12:11:45 +10:00