Damien Elmes
c4d00bce05
When the user has no relearning steps, synthesize the value
2023-10-03 13:50:29 +10:00
Damien Elmes
e8154d8678
Ensure fuzz doesn't go backwards
...
Closes #2694
2023-10-03 13:23:27 +10:00
Damien Elmes
32ca7d237f
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
9168e33ac6
Update FSRS crate
2023-10-03 11:28:56 +10:00
Damien Elmes
8731a1f7ce
Add stability graph
2023-10-01 15:44:33 +10:00
Damien Elmes
49fcbe8f8f
Support rescheduling on weight/retention change
2023-10-01 15:20:58 +10:00
Damien Elmes
cf69ca38ad
Allow cards with no learning history when not training
2023-09-30 16:10:23 +10:00
Damien Elmes
6b0bc2ce71
Display the default weights as a placeholder
2023-09-30 16:10:23 +10:00
Damien Elmes
63088b0caf
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
a0e32286bb
Update incompatible Rust deps
2023-09-28 10:00:47 +10:00
Damien Elmes
d631a7fb9c
Shift weight calculation to backend so it can be run in parallel
2023-09-28 09:10:54 +10:00
Damien Elmes
00825d015c
Expose the ability to train weights from items ( #2687 )
2023-09-28 08:28:24 +10:00
Jarrett Ye
742b7a7daa
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
170d0c737d
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
68d4878d55
Fix days_since_last_review() when used in filtered deck
2023-09-27 16:17:47 +10:00
Abdo
97bd06dc49
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
c9b35c4fc6
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
a82021cb05
Fix invalid utf-8 in tags
2023-09-27 10:06:31 +10:00
Damien Elmes
676c5bb3ce
Fix optimal retention caps
2023-09-26 14:17:55 +10:00
Abdo
da4d6f547c
Match IO extensions in a case-insensitive manner ( #2683 )
2023-09-26 13:14:59 +10:00
Damien Elmes
3a6dd627d7
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
189b4f51d6
Fix changes_since_open()
2023-09-26 11:02:16 +10:00
Damien Elmes
35bcfa8679
Fix cancel signal being ignored if sent quickly
2023-09-25 16:32:12 +10:00
Damien Elmes
e9f6d181ed
Allow cards with no learning history when not training
2023-09-25 15:57:35 +10:00
Damien Elmes
790644de66
UI tweaks
...
https://forums.ankiweb.net/t/anki-23-10-beta-1/34912/19
2023-09-25 15:54:18 +10:00
Damien Elmes
620a55c6e5
Support retrievability calculation for (re)learning cards
2023-09-25 14:58:39 +10:00
Damien Elmes
105addfa0d
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
681d561a98
Expose memory state computation to Python
...
Closes #2676
2023-09-25 11:05:47 +10:00
Damien Elmes
48f643485c
Use memory state to calculate relative overdueness
2023-09-24 13:07:11 +10:00
Damien Elmes
bdeca36234
When calculating retrievability, use stability instead of fuzzed interval
2023-09-24 12:53:05 +10:00
Damien Elmes
fc83f8d3cc
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
d2a00948ef
Use FSRS difficulty when sorting by ease
2023-09-23 16:20:36 +10:00
Damien Elmes
57941e499a
Allow extracting desired retention
2023-09-23 16:11:35 +10:00
Damien Elmes
af171c96d7
Gate graph display on fsrs status
2023-09-23 15:59:02 +10:00
Damien Elmes
0b84905c85
Avoid excessive floating point precision when serializing
2023-09-23 15:50:10 +10:00
Damien Elmes
3d59a0eebe
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
0f899efea7
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
a3c7a07a96
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
df8b439200
Skip template checks in Fields screen ( #2670 )
2023-09-20 16:09:54 +10:00
Damien Elmes
be725dca11
Fix crash when using FSRS with a low max interval setting
2023-09-20 13:14:03 +10:00
Damien Elmes
cafba25f4c
Calculate parameters automatically
...
Logic derived from d8e2f6a0ff
Closes #2661
2023-09-18 16:43:36 +10:00
Sam Waechter
2e99c71464
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
41220ea61b
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
125d0a2ad0
Add tags in DB check
2023-09-17 15:00:28 +10:00
Damien Elmes
b201feea69
Protect image occlusion fields and cloze field
2023-09-17 14:22:25 +10:00
Damien Elmes
581c7c87f1
Add support for tagging + protecting fields
2023-09-17 14:03:42 +10:00
Damien Elmes
a1756ea771
Start on a 'get params' button
2023-09-17 12:58:13 +10:00
Damien Elmes
e04c4957d7
Fix preset searches, and expose in text search
2023-09-17 12:51:22 +10:00
Damien Elmes
02a823c846
Clear memory state when user disables FSRS
2023-09-17 11:50:38 +10:00
Damien Elmes
608769ff75
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