Damien Elmes
41bddfc6cb
Ensure fuzz doesn't go backwards
...
Closes #2694
2023-10-03 13:23:27 +10:00
Damien Elmes
72b0c81761
When learning steps are missing, start from the SM-2 state
...
Closes https://github.com/open-spaced-repetition/fsrs-rs/issues/87
2023-10-03 12:20:10 +10:00
Damien Elmes
257d7bbbbc
Update FSRS crate
2023-10-03 11:28:56 +10:00
Damien Elmes
9fd8a8bb40
Add stability graph
2023-10-01 15:44:33 +10:00
Damien Elmes
072cd37b42
Support rescheduling on weight/retention change
2023-10-01 15:20:58 +10:00
Damien Elmes
d16faacd0f
Allow cards with no learning history when not training
2023-09-30 16:10:23 +10:00
Damien Elmes
93499d4182
Display the default weights as a placeholder
2023-09-30 16:10:23 +10:00
Damien Elmes
50c8a1ba9f
Update FSRS
...
- up to 10x performance increase in optimal retention
- expose loss aversion
- use SpinBoxes
2023-09-30 16:10:22 +10:00
Damien Elmes
f3bb845961
Update incompatible Rust deps
2023-09-28 10:00:47 +10:00
Damien Elmes
b8390d096e
Shift weight calculation to backend so it can be run in parallel
2023-09-28 09:10:54 +10:00
Damien Elmes
1f55ad1d44
Expose the ability to train weights from items ( #2687 )
2023-09-28 08:28:24 +10:00
Jarrett Ye
05499297e0
Fix first_rating_count & learn_cost ( #2688 )
...
* fix first_rating_count & learn_cost
* Update CONTRIBUTORS
* cargo clippy --fix
* cargo fmt
2023-09-27 18:31:40 +10:00
Damien Elmes
0532c1f5b0
Use revlog to determine days_elapsed when studying/for card info
...
Currently prop searches and the retrievability column will continue to
derive the days from the card only, as it's difficulty to integrate revlog
upgrade lookups into those code paths, especially in a performant way.
One possible way we could solve this in the future is to store last_review_day
in the card data, so we can know it even if the due date has been shifted.
Check DB could fill it in for existing cards.
2023-09-27 16:17:47 +10:00
Damien Elmes
66b944b722
Fix days_since_last_review() when used in filtered deck
2023-09-27 16:17:47 +10:00
Abdo
ab7e64865e
Implement "stop timer on answer" as a preset option ( #2686 )
...
* Implement "stop timer on answer" as a preset option
* Hide timer setting on AnkiMobile (dae)
2023-09-27 16:10:14 +10:00
Damien Elmes
ab4e820608
Update FSRS; fix handling of invalid revlogs
...
State is now inferred from SM-2 data when the revlog is not suitable
2023-09-27 13:13:10 +10:00
Damien Elmes
add6f6f62f
Fix invalid utf-8 in tags
2023-09-27 10:06:31 +10:00
Damien Elmes
a1f4bcb3cb
Fix optimal retention caps
2023-09-26 14:17:55 +10:00
Abdo
4cf2ab35ab
Match IO extensions in a case-insensitive manner ( #2683 )
2023-09-26 13:14:59 +10:00
Damien Elmes
bae8038178
Allow desired retention to be set to 0.7
...
https://github.com/open-spaced-repetition/fsrs-rs/issues/79#issuecomment-1733779005
2023-09-26 13:03:49 +10:00
Damien Elmes
1395f3e5e6
Fix changes_since_open()
2023-09-26 11:02:16 +10:00
Damien Elmes
c9ca5ee6e7
Fix cancel signal being ignored if sent quickly
2023-09-25 16:32:12 +10:00
Damien Elmes
e0399bcad2
Allow cards with no learning history when not training
2023-09-25 15:57:35 +10:00
Damien Elmes
baae685dbb
UI tweaks
...
https://forums.ankiweb.net/t/anki-23-10-beta-1/34912/19
2023-09-25 15:54:18 +10:00
Damien Elmes
bb0acd9d92
Support retrievability calculation for (re)learning cards
2023-09-25 14:58:39 +10:00
Damien Elmes
da0e42ea03
Fix extract_fsrs_retrievabilty()
...
- Need to use fuzzed interval to accurately determine elapsed days
- saturating_sub on an i32 is not useful
2023-09-25 14:40:44 +10:00
Damien Elmes
e6aaeb85e9
Expose memory state computation to Python
...
Closes #2676
2023-09-25 11:05:47 +10:00
Damien Elmes
69c4efea8a
Use memory state to calculate relative overdueness
2023-09-24 13:07:11 +10:00
Damien Elmes
907a73eb88
When calculating retrievability, use stability instead of fuzzed interval
2023-09-24 12:53:05 +10:00
Damien Elmes
9cc4720efe
Support fetching new cards by deck then random note
...
https://forums.ankiweb.net/t/feature-request-option-for-new-card-gather-order-that-prioritizes-subdecks-closer-to-top-but-gathers-cards-randomly-from-each-subdeck/23178
2023-09-24 11:54:10 +10:00
Damien Elmes
e6fdfc20a9
Use FSRS difficulty when sorting by ease
2023-09-23 16:20:36 +10:00
Damien Elmes
06d99b5871
Allow extracting desired retention
2023-09-23 16:11:35 +10:00
Damien Elmes
2126ff9a16
Gate graph display on fsrs status
2023-09-23 15:59:02 +10:00
Damien Elmes
8b849dd629
Avoid excessive floating point precision when serializing
2023-09-23 15:50:10 +10:00
Damien Elmes
03edb7bf9e
Store desired retention in card data
...
If we want to be able to factor the desired retention into a sort based
on relative overdueness, having the values accessible on the card makes
things easier.
2023-09-23 15:42:42 +10:00
Damien Elmes
c78de23cf9
Convert FSRS to a global option
...
Allowing some decks to be FSRS and some SM-2 will lead to confusing
behavior when sorting on SM-2 or FSRS-specific fields, or when moving
cards between decks.
2023-09-23 14:41:55 +10:00
Abdo
f78c59176e
Add an option to stop the timer on answer ( #2673 )
...
* Add an option to stop the timer on answer
* Fix tab order
2023-09-23 14:01:03 +10:00
Abdo
c2b1ab5eb0
Skip template checks in Fields screen ( #2670 )
2023-09-20 16:09:54 +10:00
Damien Elmes
b8ec76fb66
Fix crash when using FSRS with a low max interval setting
2023-09-20 13:14:03 +10:00
Damien Elmes
6074865763
Calculate parameters automatically
...
Logic derived from d8e2f6a0ff
Closes #2661
2023-09-18 16:43:36 +10:00
Sam Waechter
e7bf248a62
Fix unable to save field dialog if certain fields are deleted ( #2663 )
...
* Fix unable to save field dialog if certain fields are deleted
Implemented solution suggested in issue #2556
* Fix unable to save field dialog if certain fields are deleted
fixed code formating
* Fix unable to save field dialog if certain fields are deleted
Made new functions to check referencelessness. Added unit test.
2023-09-18 14:33:56 +10:00
Damien Elmes
a7b4c90146
Use field tags instead of hard-coding occlusion fields
...
+ Don't protect the comments field
It's not required by our current code. We can remove the protection
from Header and Back Extra in the future too, once we no longer depend
on them.
Closes #2621
2023-09-18 10:10:11 +10:00
Damien Elmes
906a937faf
Add tags in DB check
2023-09-17 15:00:28 +10:00
Damien Elmes
f0be697b55
Protect image occlusion fields and cloze field
2023-09-17 14:22:25 +10:00
Damien Elmes
1e37c806e5
Add support for tagging + protecting fields
2023-09-17 14:03:42 +10:00
Damien Elmes
59759b468f
Start on a 'get params' button
2023-09-17 12:58:13 +10:00
Damien Elmes
736054a2e4
Fix preset searches, and expose in text search
2023-09-17 12:51:22 +10:00
Damien Elmes
25d5e56397
Clear memory state when user disables FSRS
2023-09-17 11:50:38 +10:00
Damien Elmes
75de1f9709
Record FSRS difficulty in the review log
...
Will allow user to see a record of difficulty changes, and allows us
to identify reviews that have been done with FSRS vs SM-2, since the
valid range is different.
2023-09-17 11:50:38 +10:00
Damien Elmes
0301ae1d8a
fsrs_memory_state -> memory_state
2023-09-17 11:50:38 +10:00