Commit graph

848 commits

Author SHA1 Message Date
Damien Elmes
9e8a29532d Merge pull request #290 from jianli/change-chunk-by-deck-age
Fix chunk size for newer decks
2019-03-13 12:23:35 +10:00
Damien Elmes
47692a02f5 Update stats.py
disable spurious pylint warning
2019-03-11 15:12:21 +10:00
Damien Elmes
f6da277ab7 bump version 2019-03-11 14:36:19 +10:00
Damien Elmes
732aa38f93 Revert "moveTemplate slightly quicker"
This reverts commit 450f260781.

This caused a regression:
https://github.com/dae/anki/pull/294
2019-03-11 13:49:58 +10:00
Jian Li
4dc49322ee Clean up code 2019-03-10 18:20:08 -07:00
Jian Li
5079b8aab8 Restrict bin count to 100 2019-03-10 17:30:14 -07:00
Jian Li
ba9c89ccb0 Change bin width (chunk) based on deck age 2019-03-10 17:19:16 -07:00
Jian Li
b4732efdf1 Refactor chunk calculation 2019-03-10 16:37:06 -07:00
Damien Elmes
b6e12e13cb bump version 2019-03-07 18:43:56 +10:00
Damien Elmes
8c6d5b6332 keep json in utils for add-on compat
https://anki.tenderapp.com/discussions/beta-testing/1399-anki-2110-beta#comment_47036452
2019-03-06 07:18:26 +10:00
Damien Elmes
856c11082e cleanup old mplayer instances in profile unload as well
possible fix for users still having permission errors when
renaming profiles
2019-03-05 09:01:31 +10:00
Damien Elmes
d118c5cc9f add option to strip html in export 2019-03-05 08:57:53 +10:00
Damien Elmes
2319ba8706 strip [[type:...]] in card export 2019-03-05 08:55:57 +10:00
Damien Elmes
75a95ee1fb tidy up unused imports 2019-03-04 17:25:19 +10:00
Damien Elmes
300231e318 use raw strings for regexs 2019-03-04 17:03:43 +10:00
Damien Elmes
60aac80a2c fix wrong var name in previous warning fix 2019-03-04 17:02:52 +10:00
Damien Elmes
71f2b0627d fix inconsistent indentation 2019-03-04 16:54:22 +10:00
Damien Elmes
7d0f7ae33c fix some warnings 2019-03-04 16:01:10 +10:00
Damien Elmes
b9957d820a use distro in place of deprecated dist() method 2019-03-04 15:39:10 +10:00
Damien Elmes
8981da61c1 silence some spurious errors and remove some unused code 2019-03-04 11:22:40 +10:00
Damien Elmes
085679d5d1 move versionWithBuild into anki module 2019-02-28 08:37:42 +10:00
David Lönnhager
f087d77ce0 Fix permissions error on Windows 2019-02-27 02:51:28 +01:00
Damien Elmes
95bdcfbb11 bump version 2019-02-24 16:20:49 +10:00
Damien Elmes
a42bfe2839 send build number when syncing too 2019-02-19 08:04:25 +10:00
Damien Elmes
5ca567362c style and arg order fix 2019-02-18 12:44:04 +10:00
Arthur-Milchior
2608513381 Show deck of the addCard window 2019-02-16 12:25:22 +01:00
Arthur-Milchior
7e72361b22 Correct deck when previewing an existing card 2019-02-16 11:28:50 +01:00
Damien Elmes
d62794779d allow running with pyaudio missing 2019-02-13 09:36:39 +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
da4e5955b3 rollover may not be set 2019-02-08 16:31:56 +10:00
Damien Elmes
77bd141638 cleanup old mplayer instances after crash
fixes
https://anki.tenderapp.com/discussions/ankidesktop/31908-no-consigo-renomear-meu-nome-no-anki
2019-02-06 09:03:39 +10:00
Damien Elmes
a7eb6bb357 update copyright and clarify licenses 2019-02-05 14:01:33 +10:00
Damien Elmes
8261873364 make sure bulk flag changes sync
https://anki.tenderapp.com/discussions/ankidesktop/31774-flag-syncing-bug
2019-02-05 13:01:07 +10:00
Damien Elmes
852b9b60d7 support {{CardFlag}}
https://anki.tenderapp.com/discussions/ankidesktop/32158-flags
2019-02-05 13:00:47 +10:00
Damien Elmes
5a1aaf1426 don't outline answer buttons graph
small numbers lead to the outline overlapping the graph bounds
2019-02-05 12:40:05 +10:00
Damien Elmes
7dada26674 fix decimal intervals in revlog as well 2019-02-05 12:30:22 +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
fb6082c572 show all four possible eases in v2 sched learning ease graph 2019-02-05 12:27:17 +10:00
Damien Elmes
88050fc4e7 fix v2 sched+hourly retention graph issue 2019-02-05 12:26:36 +10:00
Damien Elmes
b50edbd3ae fix due column as well in db check 2019-02-04 14:33:53 +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
bc8bd7b092 add decimal ivl fix to fixIntegrity() 2019-01-29 08:17:24 +10:00
Damien Elmes
ff0d478694 add .cursor() 2019-01-29 08:17:10 +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
Arthur-Milchior
450f260781 moveTemplate slightly quicker
When a template is moved, only move the ord of cards whose position
did change.
2019-01-20 15:46:58 +01:00
Damien Elmes
c292964095 bump version 2019-01-02 15:24:00 +10:00
Damien Elmes
d9e4a1c98b make sure we normalize deck names on input
https://anki.tenderapp.com/discussions/ankidesktop/31635-anki-crashes-when-new-card-is-added
2018-12-24 10:03:59 +10:00
Damien Elmes
bf38475ffc deck fix print statements may be running in ascii environment
this should probably use the collection log in the future
2018-12-24 09:54:59 +10:00
Damien Elmes
ae591ce240 fix recording overflow handling 2018-12-22 13:41:35 +10:00
Damien Elmes
25c4491a21 bump version 2018-12-18 19:42:00 +10:00
Damien Elmes
328c73d0bc ignore broken reset hooks in database check
ideally the original code should be correctly cleaning up the hooks,
but if it does not, then we don't want to repeatedly present the user
with confusing errors when they try to check their database is ok.
2018-12-15 13:14:33 +10:00
Damien Elmes
0c6cd8f1e8 restart mpv if it stops responding
https://anki.tenderapp.com/discussions/ankidesktop/31433-error
2018-12-13 21:30:17 +10:00
Damien Elmes
0e62ab7699 bump version 2018-12-13 21:03:56 +10:00
Damien Elmes
6e09d1c6ec find comparisons needs to be normalized
this data should probably be normalized when it's originally
added to the collection

https://anki.tenderapp.com/discussions/ankidesktop/31409-cant-search-by-deck-when-searching-decks-containing-arabic-text
2018-12-13 20:36:04 +10:00
Damien Elmes
9a726d0e4e bump version 2018-12-10 15:17:21 +10:00
Damien Elmes
87575674f9 scan for due learning cards more frequently 2018-12-10 12:11:45 +10:00
Damien Elmes
2e0ff282cc disable wal on win32
another attempt at fixing 'database locked' errors on windows,
based on the suspicion that pysqlite is holding an open statement
handle that is preventing the switch from wal mode on close

also remove unused sync arg
2018-12-10 09:53:02 +10:00
Alexey Lebedeff
8a992a9f30 Make quotes consistent with surroundings 2018-12-01 10:52:19 +01:00
Alexey Lebedeff
ba67e3e71c Fix searching for python 3.7
3.7 introduced a change to `re.escape()`, which no longer escapes
`%`. By using `re.escape("%")` instead of a literal, we can detect
a proper form at runtime.
2018-11-30 10:44:39 +01:00
Damien Elmes
c1f9f4e277 bump version 2018-11-27 19:40:27 +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
Damien Elmes
0560b6c4b2 limit find&replace fields to selected notes 2018-11-27 16:42:00 +10:00
Damien Elmes
4fb7fb07fd find&replace should not be case sensitive on field 2018-11-27 16:34:48 +10:00
Damien Elmes
d532726adb cap filename length when attaching media to cards
https://anki.tenderapp.com/discussions/ankidesktop/30953-can-not-paste-or-upload-images-into-deck
2018-11-27 14:45:38 +10:00
Arthur Milchior
690680bbe3 Using cardIds in AnkiExporter 2018-11-26 10:47:26 +01: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
28c8d6eefa be more verbose in importing dialog
Many users seem to get confused when duplicates are not imported,
so we list out what's being skipped now to help the users to be able
to search for the content.
2018-11-14 16:58:47 +10:00
Damien Elmes
9b1b142906 bump version 2018-11-13 11:30:27 +10: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
321559c8db Revert "increase db timeout"
This reverts commit 7a2dc6066c.

did not seem to help
2018-10-28 14:17:43 +10:00
Damien Elmes
9d20de871b run latex commands without bundled libs
https://anki.tenderapp.com/discussions/ankidesktop/30531-latex-wont-generate-svgs-automatically-but-will-generate-pngs
2018-10-28 11:41:43 +10:00
Damien Elmes
b3d168664f bump version 2018-10-25 14:52:49 +10:00
Damien Elmes
416c64c493 prevent infinite loop with invalid template 2018-10-20 19:37:01 +10:00
Damien Elmes
38189f53d0 fix bug in tag deletion
https://anki.tenderapp.com/discussions/ankidesktop/30146-removing-single-letter-tags-also-removes-any-other-tags-with-the-letter
2018-10-07 18:21:51 +10:00
Damien Elmes
0735a42cfa bump version 2018-10-01 15:43:47 +10:00
Damien Elmes
f861faaf83 bump version 2018-09-28 18:49:38 +10:00
giqtaqisi
d10511627c add support for Lojban 2018-09-26 16:15:07 +00: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
0cfca6d70b beta version 2018-09-24 19:17:35 +10:00
Damien Elmes
04ef57551e fix translation path for packaged builds on Linux 2018-09-24 18:23:57 +10:00
Damien Elmes
7a2dc6066c increase db timeout
possible workaround for 'database is locked' when switching
from WAL mode

https://anki.tenderapp.com/discussions/ankidesktop/29751-90dec2fdce28bb9f0bb7571f41edaff258e953d3
2018-09-24 17:25:23 +10:00
Damien Elmes
18af2db5aa use custom mpv config folder
not the first time the default location has caused problems for users
https://anki.tenderapp.com/discussions/ankidesktop/29531-bug-ankis-version-of-mpv-loads-mpvconf-from-configmpv-on-macos
2018-09-24 16:26:08 +10:00
Damien Elmes
e7d8cef8b5 recover from decks with blank sections (eg '::deck') 2018-09-22 16:04:26 +10:00
Damien Elmes
df72b02dda when rebuilding field cache make sure we don't discard filenames
stripHTMLMedia() already used in notes.py
2018-09-20 15:28:28 +10:00
Damien Elmes
2c24401d6b support timeout customization 2018-09-19 23:47:54 +10:00
Damien Elmes
7d5b78ef95 add missing headers in get calls 2018-09-19 23:45:52 +10:00
Damien Elmes
a6eb0185dd fix exporting of v2 colpkg in non-English language
https://anki.tenderapp.com/discussions/ankidesktop/29661-error-exporting-decks
2018-09-14 19:35:52 +10:00
Damien Elmes
10068e1009 fix stripping of html in conditional replacement 2018-09-13 14:38:18 +10:00
Damien Elmes
5ea4ac0c70 bump version 2018-09-05 20:23:39 +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
86bf9e53a0 prevent new users from downloading accidentally 2018-09-05 19:53:41 +10:00
Damien Elmes
beccd2abdf bump version 2018-08-30 14:34:05 +10:00
Damien Elmes
46d27136ce catch suspended new cards w/ wrong due number
https://anki.tenderapp.com/discussions/ankidesktop/29267-01
2018-08-30 12:43:53 +10:00
Damien Elmes
a1f576e339 bump version 2018-08-20 14:38:51 +10:00
Damien Elmes
48617b67a4 bump version 2018-08-09 16:29:43 +10:00
Damien Elmes
c4cd97f956 bump version 2018-08-08 23:48:29 +10:00
Damien Elmes
a27b65aad5 bump version 2018-08-08 12:47:19 +10:00
Damien Elmes
47c28295c0 bump version to 2.1.0 2018-08-06 14:17:13 +10:00
Damien Elmes
f61f9857b7 bump version 2018-07-28 18:50:55 +10:00
Damien Elmes
1d97d284e9 support dynamic sync url 2018-07-28 18:08:16 +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
3c1aa8242f chunk deletions to reduce load on AnkiWeb 2018-07-26 21:34:53 +10:00
Damien Elmes
ee5eedeb3b strip out unused syncing code 2018-07-26 19:41:52 +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
9a0a3a2674 bump version 2018-07-23 13:59:02 +10:00
Damien Elmes
991aa7d402 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
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
134a788f9f bump version 2018-07-11 22:40:05 +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
4dbf51ef9a 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
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
7bc6b2beb0 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
8832bfb7ee 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
9f7464fac2 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 61cc3cec86
2018-06-28 13:11:04 +10:00
Damien Elmes
2949d4ceec bump version 2018-06-25 20:27:45 +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
3486511d02 Merge pull request #239 from emrysn/master
Update lang.py with correct Romanian language option
2018-06-18 10:19:46 +10:00
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