Damien Elmes
b99dbb1466
don't .reset() on deck load by default anymore
2011-12-05 13:40:37 +09:00
Damien Elmes
e85603dae6
fix certs bundling
2011-12-04 19:09:47 +09:00
Damien Elmes
cca3b5cba6
scm ts should be ms too, fix unit tests
2011-12-04 17:52:01 +09:00
Damien Elmes
3b0334b04d
add schema check to note save
2011-12-04 16:28:01 +09:00
Damien Elmes
1ec747dbb4
tweak sync hooks
2011-12-04 15:56:38 +09:00
Damien Elmes
6bad4cc8c2
fix sanity check
2011-12-04 15:23:43 +09:00
Damien Elmes
9d5357f7a6
after a save, revert to unmodified state; sync tweaks
2011-12-04 14:56:12 +09:00
Damien Elmes
cdb33cf6a8
don't bump mod time unless the db has actually been changed
2011-12-04 13:51:13 +09:00
Damien Elmes
0ff59b87e9
make sure we commit after media operations
2011-12-04 13:00:38 +09:00
Damien Elmes
457ee809f4
don't implicitly commit in context manager
2011-12-04 13:00:24 +09:00
Damien Elmes
8fff05618c
check download before overwrite
2011-12-03 22:15:36 +09:00
Damien Elmes
6965a9c102
sync tweaks
2011-12-03 21:06:27 +09:00
Damien Elmes
d148a6cf1b
bundle ssl certs; share con across all sync types
2011-12-03 16:38:45 +09:00
Damien Elmes
92352d4725
convert guid to base 91 string
...
Because JSON doesn't support 64 bit numbers, we need to either convert the 64
bit numbers to a string during transport, or store the ids as a string. At
base 91 a 64 bit number only takes an extra two bytes, and it means we can
dump DB results directly into JSON without having to apply any transformation.
2011-12-03 14:25:18 +09:00
Damien Elmes
1db4b41e23
use WAL mode if available; don't delete media in check
2011-12-02 22:44:00 +09:00
Damien Elmes
c961b5843a
fix ivl estimation for new cards
2011-12-02 22:10:33 +09:00
Damien Elmes
8f1404642a
always generate new cards on edit; don't delete
2011-12-02 21:52:33 +09:00
Damien Elmes
88da227ce1
don't make optimize/check force a full sync anymore
2011-12-02 21:52:10 +09:00
Damien Elmes
a0d910201d
don't add two typeans fields on upgrade
2011-12-02 17:37:10 +09:00
Damien Elmes
dc73ba8e47
add #answerStart to default hr so we can scroll to answer
2011-12-02 17:25:40 +09:00
Damien Elmes
4a3b190453
fix bug in rev ivl adjustment that could lead to 0 day interval
2011-12-01 17:35:26 +09:00
Damien Elmes
320bb7c82f
change stats alignment
2011-12-01 17:15:17 +09:00
Damien Elmes
e8f4d04420
fix hourly retention graph
2011-12-01 13:25:40 +09:00
Damien Elmes
74518264e0
raise an exception when an invalid sort type is passed
2011-11-30 12:34:49 +09:00
Damien Elmes
a1693a3691
field operations should mod the schema immediately
2011-11-30 10:57:42 +09:00
Damien Elmes
49c0a5dd82
add review count back
2011-11-29 17:12:08 +09:00
Damien Elmes
347bfbbff5
tweak stats layout
2011-11-29 16:48:18 +09:00
Damien Elmes
56ec1c6135
fix upgrading of revlog
2011-11-29 10:34:49 +09:00
Damien Elmes
3d1756df9b
tweak stats
2011-11-29 10:18:37 +09:00
Damien Elmes
9dbb0b90d5
fix updateFieldCache() call
2011-11-28 21:30:47 +09:00
Damien Elmes
be3258b0a8
fix field limiting
2011-11-28 20:51:47 +09:00
Damien Elmes
73b80211c2
add current deck limit
2011-11-28 20:48:14 +09:00
Damien Elmes
8c1266ab2a
less terse card state searches
2011-11-28 20:18:16 +09:00
Damien Elmes
67e4f0d1cc
tweak find code
2011-11-28 20:04:39 +09:00
Damien Elmes
d903b50d5f
upgrade tweaks
2011-11-28 19:14:10 +09:00
Damien Elmes
bd29318168
catch incorrect ordinals on upgrade
2011-11-28 16:57:58 +09:00
Damien Elmes
cd76706a2f
make sure to remove inactive templates properly
2011-11-28 16:10:41 +09:00
Damien Elmes
0032dd39c9
return 0 count when media not copied
2011-11-28 16:05:48 +09:00
Damien Elmes
c0e2a0ba50
identify whether it's a dupe or empty
2011-11-28 16:05:37 +09:00
Damien Elmes
1235f8362a
type answer is now a template replacement
2011-11-28 15:15:38 +09:00
Damien Elmes
223cc48052
don't wrap template in div; reference #card instead
...
We want the background color to fill the card area rather than only the size
of the card content, so we need to set the CSS for the outer container
instead.
2011-11-28 14:45:43 +09:00
Damien Elmes
ddd890ee75
more fixes for schema being accidentally modified on model add
2011-11-27 13:50:49 +09:00
Damien Elmes
478e4c9212
use the original id if available when importing
2011-11-26 12:06:17 +09:00
Damien Elmes
20c1799be5
add back the ability to show the entire collection stats
2011-11-26 10:28:42 +09:00
Damien Elmes
592078545e
don't fail when upgrading an empty deck
2011-11-25 14:20:18 +09:00
Damien Elmes
39f3c84661
point out that old files are invalid too
2011-11-25 14:19:41 +09:00
Damien Elmes
faf2f061a8
log imported card/media counts
2011-11-25 14:13:14 +09:00
Damien Elmes
b5c0b1f2c7
drop required/unique field properties
...
Instead of having required and unique flags for every field, enforce both
requirements on the first field, and neither on the rest. This mirrors the
subject/body format people are used to in note-taking apps. The subject
defines the object being learnt, and the remaining fields represent properties
of that object.
In the past, duplicate checking served two purposes: it quickly notified the
user that they're entering the same fact twice, and it notified the user if
they'd accidentally mistyped a secondary field. The former behaviour is
important for avoiding wasted effort, and so it should be done in real time.
The latter behaviour is not essential however - a typo is not wasted effort,
and it could be fixed in a periodic 'find duplicates' function. Given that
some users ended up with sluggish decks due to the overhead a large number of
facts * a large number of unique fields caused, this seems like a change for
the better.
This also means Anki will let you add notes as long as as the first field has
been filled out. Again, this is not a big deal: Anki is still checking to make
sure one or more cards will be generated, and the user can easily add any
missing fields later.
As a bonus, this change simplifies field configuration somewhat. As the card
layout and field dialogs are a popular point of confusion, the more they can
be simplified, the better.
2011-11-24 22:16:03 +09:00
Damien Elmes
daea038aa4
deckCounts -> deckDue
2011-11-24 17:04:26 +09:00
Damien Elmes
fae153c2af
don't mod schema when adding new models
2011-11-24 16:33:40 +09:00
Damien Elmes
f7790275ce
groups -> decks
2011-11-23 19:28:09 +09:00
Damien Elmes
279a942642
deck -> collection
2011-11-23 17:47:44 +09:00
Damien Elmes
6e4e8249fb
facts -> notes
2011-11-23 12:37:21 +09:00
Damien Elmes
10e1c1b03e
tweak tag handling
2011-11-23 11:39:33 +09:00
Damien Elmes
ffc096e308
the generated cards should note use msecs
2011-11-22 08:50:23 +09:00
Damien Elmes
4a601416bc
keep typeAns as a field name
...
We have the fact loaded into memory anyway for the q/a display
2011-11-19 23:36:40 +09:00
Damien Elmes
7a5cee1d20
remove remaining CSS; more template properties into div
2011-11-18 08:25:56 +09:00
Damien Elmes
15e4b64162
new approach to hideQ
...
Instead of a separate option to hide question, embed the question into the
answer format by default. Users who don't want to see the question can remove
the question fields, and users who want a separator between the question and
answer (or not) can control it in HTML now.
Also, remove obsolete field CSS, and don't accidentally chomp a character on
upgrade.
2011-11-18 05:15:15 +09:00
Damien Elmes
c76c08069e
change template replacement behaviour
...
Previously {{field}} wrapped the field in a span with the field's font
properties. This wasn't obvious, and caused frequent problems with people
trying to combine field and template text, or use field content in dictionary
links.
Now that AnkiWeb has a wizard for configuring the front & back layout, we can
just put the formatting in the template instead.
2011-11-18 02:50:47 +09:00
Damien Elmes
770f402905
don't allow template removal to orphan facts
2011-11-17 23:09:18 +09:00
Damien Elmes
a51307701d
del -> rem for consistency
2011-11-17 22:55:03 +09:00
Damien Elmes
16ecfe4097
add forgetting index adj; thanks to adam mesha for the inspiration
2011-11-15 19:15:22 +09:00
Damien Elmes
58c56c433a
apply review limit; fix finished msg
2011-11-15 04:05:44 +09:00
Damien Elmes
4a4f4797db
update daily counts on reset instead of each review
2011-11-15 02:53:55 +09:00
Damien Elmes
0dfcfd9171
make sure conf name set on create
2011-11-14 23:33:05 +09:00
Damien Elmes
47f4b271dc
mark recycled models for card generation; drop superfluous flagModels
2011-11-08 22:32:43 +09:00
Damien Elmes
357e5e7036
media.check() takes a list of files for ankiweb integration
2011-11-08 22:32:24 +09:00
Damien Elmes
01b297babc
fix model gencards
2011-11-08 22:32:02 +09:00
Damien Elmes
37b3de23cf
remove inactive templates that are unused on upgrade
2011-11-08 18:52:31 +09:00
Damien Elmes
795cdd7d3f
remove the concept of non-active templates
...
The old template handling was too complicated, and generated frequent
questions on the forums. By dropping non-active templates we can do away with
the generate cards function, and advanced users can simulate the old behaviour
by using conditional field templates.
2011-11-08 18:06:19 +09:00
Damien Elmes
f8eefe5ee1
model deleting should use the string id
2011-11-07 18:38:48 +09:00
Damien Elmes
c6c6af4328
split remote sync tests into separate file
2011-11-07 16:21:29 +09:00
Damien Elmes
aef7626557
add fieldNames(); fix scmhash()
2011-11-07 14:27:15 +09:00
Damien Elmes
688a680b54
when importing, set the new group as current
2011-11-07 14:26:56 +09:00
Damien Elmes
cbdb283b20
refactor model copying
2011-10-31 11:34:03 +09:00
Damien Elmes
b1bf50c677
make sure to save after import
2011-10-30 19:04:52 +09:00
Damien Elmes
3bf0b253f2
handle bad field references and tags; don't create empty fields
2011-10-30 10:12:24 +09:00
Damien Elmes
e99e7baa3c
need to keep latex in unicode until preamble concat
2011-10-29 21:36:29 +09:00
Damien Elmes
82f9d484da
don't die on non-field references
2011-10-29 20:11:37 +09:00
Damien Elmes
0c03da52f5
fix latex rewriting
2011-10-29 17:15:13 +09:00
Damien Elmes
7a849fccc5
fix allMedia() and unit tests
2011-10-29 15:31:27 +09:00
Damien Elmes
ed7367d67f
fix reporting of latex errors; catch some bad commands
2011-10-29 15:12:57 +09:00
Damien Elmes
6911ae839e
on upgrade convert media references in template to separate field
2011-10-29 10:44:32 +09:00
Damien Elmes
ad81a564d1
don't leak fds in upgrade
2011-10-27 17:42:23 +09:00
Damien Elmes
caf46e948a
speed up import when there are lots of duplicate ids
2011-10-26 15:37:18 +09:00
Damien Elmes
1edd724c3e
raise an error on an invalid file import, so cmd line tools notice
2011-10-26 15:16:32 +09:00
Damien Elmes
37ea359931
add indices to upgrade check if missing
2011-10-26 12:19:12 +09:00
Damien Elmes
4668b1a210
on import make sure we update post; use static random range
2011-10-26 06:24:14 +09:00
Damien Elmes
c16cb6ee9b
fix more bugs in group count tree
2011-10-24 01:28:43 +09:00
Damien Elmes
8be318d749
when removing a group should ensure there's an active one left
2011-10-23 06:08:57 +09:00
Damien Elmes
1ce5a7552e
ensure top level properties updated on rename
2011-10-23 05:45:15 +09:00
Damien Elmes
f37f4aff96
need to sort tree based on split components, not string order
2011-10-22 21:14:46 +09:00
Damien Elmes
716684edae
make sure to save on group delete
2011-10-22 21:04:57 +09:00
Damien Elmes
b9dc5764a3
add group renaming
2011-10-22 20:41:33 +09:00
Damien Elmes
3068e79b42
Merge branch 'new'
2011-10-22 18:39:08 +09:00
Damien Elmes
ae839dd3a3
group deletion should be recursive; fix css in import
2011-10-22 10:04:32 +09:00
Damien Elmes
b31bd5c091
vacuum after import; make sure models.current() always returns
2011-10-22 07:39:13 +09:00
Damien Elmes
1772474765
make sure we record the prefix before changing filename
2011-10-22 04:46:21 +09:00
Damien Elmes
5ac6cc7a36
don't die if deck has no media folder
2011-10-22 04:33:49 +09:00
Damien Elmes
bbe2973952
add newly created clozes too
2011-10-22 03:58:54 +09:00