Commit Graph

641 Commits

Author SHA1 Message Date
Damien Elmes
0ed50394e7
Merge branch 'master' into master 2020-07-31 14:14:10 +10:00
Damien Elmes
0edb043f53 i18n some card template strings
https://forums.ankiweb.net/t/untranslated-strings/1623
2020-07-31 13:33:41 +10:00
Damien Elmes
469272659f fix hour graph not handling timezones west of UTC
https://forums.ankiweb.net/t/statistics-bugs-after-update-2-1-5-to-2-1-29/1620
2020-07-31 13:33:41 +10:00
Damien Elmes
3aba7c0eee tweak card template message
also shown when importing an invalid file
https://anki.tenderapp.com/discussions/private/4937-importing-decks
2020-07-31 13:33:41 +10:00
ANH
43620b0a30 use 'Preview Settings' as a label for the new options button 2020-07-30 18:04:50 +03:00
ANH
03a80e596a add night mode and mobile class toggles in card layout screen 2020-07-30 15:39:02 +03:00
Damien Elmes
a1866e72fd handle preview repeat in deck list 2020-07-30 09:11:13 +10:00
Damien Elmes
01d20044e7 reject double comma in id list
https://forums.ankiweb.net/t/anki-2-1-29-and-below-2-small-bugs/1496
2020-07-29 13:05:34 +10:00
Damien Elmes
6f76b86f7c handle multiple clozes in cloze-only filter
https://forums.ankiweb.net/t/built-in-tts-not-reading-multiple-clozes/1516
2020-07-29 12:54:29 +10:00
Damien Elmes
7e7f2d0be4 clearer message when template error is preventing save 2020-07-29 12:53:03 +10:00
Damien Elmes
227703f9fa bump version 2020-07-28 12:59:56 +10:00
Damien Elmes
1737a15766 show card stats in reverse order like older Anki versions 2020-07-28 09:49:27 +10:00
Damien Elmes
2bed018768 fix note/card ids being flipped in card stats 2020-07-28 09:49:11 +10:00
Damien Elmes
80a2bfa642 ask user to check db when graphs fail to load 2020-07-24 09:56:28 +10:00
Damien Elmes
6af5cb9f38 strip unwanted control characters when writing fields
closes #661
2020-07-24 09:18:05 +10:00
Damien Elmes
a3d8bd1a45 clarify comment 2020-07-24 09:01:14 +10:00
Damien Elmes
4b6033e17f use short form for time units in graph axis 2020-07-22 12:59:56 +10:00
Damien Elmes
412f1777bd bump version 2020-07-21 15:54:14 +10:00
Damien Elmes
10afe2883a add cloze-only filter
https://anki.tenderapp.com/discussions/ankidesktop/42383-two-feature-suggestions
2020-07-21 12:59:28 +10:00
Damien Elmes
61017a2e21 i18n some sync errors 2020-07-16 13:55:59 +10:00
Damien Elmes
fa239be124 add platform version back into sync metadata 2020-07-16 10:12:41 +10:00
Damien Elmes
1205db6484 panic fix was merged into hyper 0.13.7 2020-07-16 09:09:13 +10:00
Damien Elmes
df5487875b vendor coarsetime so we can get the use after free fix 2020-07-13 13:34:37 +10:00
Damien Elmes
75443b5171 update rslib/rspy deps 2020-07-12 11:38:25 +10:00
Damien Elmes
df319c7c58 is:review should include relearning cards
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/36

This issue appears to have existed since the V2 scheduler was
introduced - the old Python search code was ignoring Relearn as well.
2020-07-09 11:07:50 +10:00
Damien Elmes
833d352e54 drop 1 month period 2020-07-06 19:16:03 +10:00
Damien Elmes
13ebba41da update title 2020-07-06 19:16:03 +10:00
Damien Elmes
0d287330c3 add 'no data' overlay when graph empty 2020-07-06 19:16:03 +10:00
Damien Elmes
19541c4a9d fix deck tree with a day delta, and support arbitrary timestamps 2020-07-06 19:16:03 +10:00
Damien Elmes
5574c0dfb3 set schema on collection creation 2020-07-03 11:55:27 +10:00
Damien Elmes
05fb67d409 show clearer error when media db locked
should not happen frequently during a sync, but may happen during
the initial change checking stage

https://forums.ankiweb.net/t/error-when-adding-audio-file/495/2
2020-07-01 11:19:06 +10:00
Damien Elmes
f8ca1d122d fix media db conflict aborting immediately instead of after 5s
https://forums.ankiweb.net/t/error-when-adding-audio-file/495/2
2020-07-01 11:17:33 +10:00
Damien Elmes
7cd02eea8f supported edited:n
https://forums.ankiweb.net/t/feature-request-advanced-broswer-search-by-edited/268
2020-07-01 10:17:57 +10:00
Damien Elmes
f3febea4b0 update edited/changed column labels
https://github.com/ankitects/anki/pull/674/files
2020-06-29 18:34:03 +10:00
Damien Elmes
d4cd4535e6 lint fixes 2020-06-29 15:53:56 +10:00
Damien Elmes
f30e52c4ed group strings by graph 2020-06-29 15:48:01 +10:00
Damien Elmes
68978e7c4e add remaining tooltip i18n 2020-06-29 15:48:01 +10:00
Damien Elmes
41b296e96c i18n some tooltips 2020-06-29 15:48:01 +10:00
Damien Elmes
93b8cebf1e drop axis labels + add subtitles
This leaves more room for the graphs and avoids issues with large values
overlapping the labels. We can improve the subtitle wording to make
things clearer in the future, and the hover tooltips should also
clarify what the axes represent.
2020-06-29 15:48:01 +10:00
Damien Elmes
7e0bdb990c i18n some axis labels, and support vertical CJK text 2020-06-29 15:48:01 +10:00
Damien Elmes
595c509546 i18n graph titles 2020-06-29 15:48:01 +10:00
Damien Elmes
b78f578cd5 i18n ranges 2020-06-29 15:48:01 +10:00
Damien Elmes
28a6755c75 i18n card counts 2020-06-29 15:48:01 +10:00
Damien Elmes
01f3a71f0a i18n today section 2020-06-29 15:48:01 +10:00
Damien Elmes
41d77b0255 get i18n working in typescript 2020-06-29 15:48:01 +10:00
Damien Elmes
0f1f80aebc handle revlog entries with negative review times 2020-06-29 15:48:01 +10:00
Damien Elmes
31a422cf85 fix partially quoted text not handling escaped quotes
https://forums.ankiweb.net/t/how-to-search-for-cards-containing-quotes/500/10
2020-06-29 15:48:01 +10:00
Damien Elmes
0a0a61b7f8 bump rust nightly version 2020-06-29 15:48:01 +10:00
Damien Elmes
329186f140 qt's js code now shares ts/node_modules; more graph work 2020-06-29 15:48:01 +10:00
Damien Elmes
0cab26d40c cards added graph 2020-06-29 15:48:01 +10:00
Damien Elmes
82568a1f3e experiment with exposing raw card/revlog data to frontend 2020-06-29 15:48:00 +10:00
Damien Elmes
510f8b86cb some initial work on updating the graphs 2020-06-29 15:48:00 +10:00
Damien Elmes
3ca4a13cf2 protobuf package should be in PascalCase 2020-06-29 15:48:00 +10:00
Damien Elmes
e231895cc2 fix v2 scheduler cutoff being used if previously activated 2020-06-23 12:46:40 +09:00
Damien Elmes
df009d142c formatting fix 2020-06-22 11:58:31 +10:00
Damien Elmes
26fc6609a7 move revlog out of sync code, and add enums
and remove type=4, which does not appear to be used
2020-06-16 16:31:36 +10:00
Damien Elmes
b51f03085e migrate card stats to backend
Currently this renders the HTML directly like the previous Python
implementation - doing it in JS would probably make more sense in the
future.
2020-06-15 17:22:16 +10:00
Damien Elmes
263bfb2e8e on upgrade, mark decks modified that are renamed 2020-06-14 14:48:58 +10:00
Damien Elmes
8e895aa247 handle db errors the same way as other backend requests 2020-06-12 20:39:02 +10:00
Damien Elmes
cf6d4f1cb9 pass db json back as bytes 2020-06-12 20:20:29 +10:00
Damien Elmes
514c73f547 don't exclude the default deck from the normal name list
https://forums.ankiweb.net/t/issue-backend-get-deck-names-doesnt-return-default-deck/52
2020-06-11 14:36:00 +10:00
Damien Elmes
10a1d06dce use vendored hyper for panic fix 2020-06-11 13:30:35 +10:00
Damien Elmes
a8de5ad98a extra strings for empty cards 2020-06-10 19:29:25 +10:00
Damien Elmes
9343ace8c4 add check database title 2020-06-10 08:44:57 +10:00
Damien Elmes
816cec4a58 fix review cards with high intervals not being reset properly
would lead to a "fixed .. with invalid card property" message that
didn't go away
2020-06-09 20:11:26 +10:00
Damien Elmes
1beed74464 switch default leech action to tag only 2020-06-09 12:03:47 +10:00
Damien Elmes
c77d017135 catch invalid regex in search
https://github.com/ankitects/anki/pull/652
2020-06-09 11:46:07 +10:00
Damien Elmes
e5849aac4d check full upload return text 2020-06-09 08:50:16 +10:00
Damien Elmes
9e56720c2b Revert "use trust-dns in reqwest"
This reverts commit abe90d0772.

trust-dns has introduced its own issues, such as when resolv.conf is
inaccessible, or contains hostnames with certain characters
2020-06-08 22:03:24 +10:00
Damien Elmes
7c444b4d35 add progress to db check 2020-06-08 21:07:36 +10:00
Damien Elmes
1fe18718f7 add daily count updating to backend 2020-06-05 19:49:53 +10:00
Damien Elmes
fee6cdff22 support generating a due tree for a different date 2020-06-05 09:38:31 +10:00
Damien Elmes
4a69b55a90 add note/card removal to backend 2020-06-04 18:21:04 +10:00
Damien Elmes
abe90d0772 use trust-dns in reqwest
The default DNS resolution, if interrupted by an Abortable, will
cause a panic:

57ef271500/src/client/connect/dns.rs (L144)
2020-06-03 15:47:54 +10:00
Damien Elmes
ebce044be5 "Template" special field should have been called "Card" 2020-06-02 16:47:30 +10:00
Damien Elmes
683d779c3f automatically abort the media sync on full sync 2020-06-02 16:22:53 +10:00
Damien Elmes
519b8c3425 ensure sync indicator updates after download 2020-06-02 15:10:41 +10:00
Damien Elmes
35ee106503 fix full download on Windows 2020-06-02 15:06:23 +10:00
Damien Elmes
9acf318572 skip note update if unchanged 2020-06-02 13:32:36 +10:00
Damien Elmes
4d7e23111e change sync label to indicate sync state
- blue for normal sync, red for full sync required
- refactor status fetching code so we don't hold a collection lock
during the network request, which slows things down
- fix sync spinner restarting when returning to deck list
2020-06-02 13:23:01 +10:00
Damien Elmes
ac219ae728 use a shared async runtime instead of recreating each time 2020-06-02 09:35:27 +10:00
Damien Elmes
2147f75bc5 add some syncing tests - please see alpha2 notes before syncing 2020-06-01 19:44:25 +10:00
Damien Elmes
cec5a260e5 fix \n in buildhash 2020-06-01 19:38:45 +10:00
Damien Elmes
4917cabeb9 handle missing counts in sanity check 2020-06-01 19:38:41 +10:00
Damien Elmes
403ac2715c if both sides empty, allow either 2020-06-01 18:11:43 +10:00
Damien Elmes
3484897229 don't put dyn=False in schema11 dconf's "other" 2020-06-01 18:11:40 +10:00
Damien Elmes
d8b907e4e8 tell AnkiWeb to abort on interrupt 2020-06-01 13:57:10 +10:00
Damien Elmes
90e19daec2 handle aborting normal sync
- Use a separate abort handle, as the media sync is running
in the background and we need to be able to target them separately.
The current progress handling is going to need a rethink if we introduce
any other background tasks in the future.
- Roll back the transaction when interrupting.
2020-06-01 13:57:10 +10:00
Damien Elmes
c6f0710ce7 report normal sync progress
Also:
- provide a way for the progress handler to skip the throttling so that
we can ensure progress is updated at the end of a stage
- show 'checking' at the end of full sync
2020-06-01 13:57:10 +10:00
Damien Elmes
529152aef6 rework usn handling in sync 2020-06-01 13:57:10 +10:00
Damien Elmes
5102255ff9 add due counts to sanity check 2020-06-01 13:57:10 +10:00
Damien Elmes
0e5b7da62a login/full up/full down plugged in 2020-06-01 13:57:10 +10:00
Damien Elmes
ee6d7f82e7 rework progress handling
- client now polls status instead of backend pushing it
- supports multiple threads
- update throttling happens in one place
2020-06-01 13:57:10 +10:00
Damien Elmes
b254b1f722 another snapshot of sync work
progress handler is going to need to be reworked to function across
threads
2020-06-01 13:57:10 +10:00
Damien Elmes
e4b43b8773 make sure we invalidate cache after direct update 2020-06-01 13:57:10 +10:00
Damien Elmes
f10d0ee0cb more syncing work
no checks yet
2020-06-01 13:57:10 +10:00
Damien Elmes
529e89f48e full upload/download HTTP code 2020-06-01 13:57:10 +10:00
Damien Elmes
4fcb10bfa9 start on HTTP client for syncing 2020-06-01 13:57:10 +10:00
Damien Elmes
c8d13209cd move dupe check to backend 2020-05-24 19:48:56 +10:00
Damien Elmes
d2dd619f18 fix rebuilding being done unnecessarily 2020-05-24 18:41:25 +10:00