Abdo
22ac77896f
Show review count for Evaluate/Optimize button ( #3170 )
...
* Revert "Show review count with FSRS evaluation results (#3165 )"
This reverts commit b7e782c7e1 .
* Show review count for Evaluate/Optimize button
2024-05-01 17:02:59 +10:00
Abdo
b7e782c7e1
Show review count with FSRS evaluation results ( #3165 )
2024-04-25 17:10:41 +10:00
Jarrett Ye
2c9accf595
update optimal retention and parameters tooltip ( #3148 )
...
* update optimal retention and parameters tooltip
* Revert "update optimal retention and parameters tooltip"
This reverts commit 32fdc5c1c3 .
* update optimal retention and parameters tooltip
* check num of revlogs at first
* use new translation string
* Update deck-config.ftl
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
* Update deck-config.ftl
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
* Update deck-config.ftl
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
* Update ftl/core/deck-config.ftl
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
* fix position of translation string
* Update deck-config.ftl
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
* Update deck-config.ftl
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
* Update deck-config.ftl
---------
Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
2024-04-24 02:38:52 +01:00
Jarrett Ye
d1b2ab5983
Return current weights if fsrs items is zero & handle error in evaluation and optimal retention ( #3141 )
...
* return current weights if fsrs_items is zero
* handle error of evaluation if items.is_empty()
* TODO: handle error of optimal retention
* Revert "TODO: handle error of optimal retention"
This reverts commit 80a5b3803e .
* Revert "handle error of evaluation if items.is_empty()"
This reverts commit 7f0a5570e7 .
2024-04-17 20:18:00 +10:00
Jarrett Ye
10d567f937
Update to FSRS-rs v0.6.1 ( #3106 )
...
* update to FSRS-rs 0.6.0
* update to crates.io version
* format
* update to FSRS-rs v0.6.01
* ./ninja fix:minilints
* update python backend code
2024-04-05 13:04:50 +01:00
Jarrett Ye
15506328e9
rename sm2 retention to historical retention ( #3101 )
...
* rename sm2 retention to historical retention
* ninja format
* keep sm2_retention in DeckConfSchema11
* update wording
* Update schema11.rs
2024-03-29 09:34:26 +00:00
ijqq
22559929f9
Replace deprecated method chrono::NaiveDateTime::timestamp_millis ( #3097 )
...
* Replace deprecated method `chrono::NaiveDateTime::timestamp_millis`
* Update CONTRIBUTORS
2024-03-28 08:30:02 +00:00
Jarrett Ye
74a603e61b
use rmse in comparing parameters ( #3087 )
2024-03-24 08:28:15 +00:00
Damien Elmes
656cfe0b9c
When updating all FSRS parameters at once, exclude suspended cards
2024-03-20 12:56:36 +07:00
Jarrett Ye
8d197a1555
Feat/fsrs simulator backend part ( #3075 )
...
* [WIP] FSRS simulator
* add desired_retention as input
* cargo fmt
* fix format
* add standard copyright header
* support existing cards
* fix format
* pass days_elapsed into Card::convert & return None
2024-03-18 13:42:38 +00:00
Jarrett Ye
8c9d7d64d9
refactor optimal retention to minimize workload per memorization & fix progress goes backwards ( #3065 )
...
* Feat/optimal retention for minimal workload per memorization
* ./ninja fix:minilints
* update to FSRS-rs 0.5.2
* update to FSRS-rs 0.5.3
* ./ninja fix:minilints
* 'estimated retention' -> 'predicted optimal retention'; add warning (dae)
2024-03-11 16:16:37 +07:00
Jarrett Ye
f2acf40221
alert when the resp.weights is empty ( #3061 )
...
* alert when the resp.weights is empty
* format
2024-03-09 10:26:59 +00:00
Jarrett Ye
055b6e30f8
update FSRS-rs to 0.5.0 & export benchmark API ( #3056 )
...
* update fsrs to 0.4.5
* update to fsrs 0.4.6
* add benchmark API
* update fsrs to 0.5.0
* cargo fmt
* ./ninja fix:minilints
* ./ninja format
* Add a brief comment about the new method (dae)
2024-03-08 12:37:06 +00:00
Jarrett Ye
eb597475c5
Fix/set pretrain_only by fsrs_items ( #3051 )
...
* Fix/set pretrain_only and insufficient reviews based on fsrs_items
* use review_count for FsrsInsufficientReviews
* Update weights.rs
* Update weights.rs
2024-03-05 07:54:34 +00:00
Jarrett Ye
c7556f17e6
update fsrs to 0.4.4 ( #3045 )
...
* update fsrs to 0.4.4
* fix bypassed_learning_is_handled
2024-03-03 14:30:34 +07:00
Abdo
60f8399aed
Show total review count when optimizing FSRS parameters ( #3027 )
...
* Show total review count when optimizing FSRS parameters
* Do not expose items
2024-02-26 13:27:22 +07:00
Jarrett Ye
103ea6ded0
clamp interval before fuzz_bounds ( #3024 )
...
* clamp interval before fuzz_bounds
* update unit test of with_review_fuzz
2024-02-25 12:18:01 +07:00
Abdo
6843d65ed1
Check required review count for FSRS after filtering ( #3019 )
...
* Check for required review count for FSRS after filtering
* Remove unreachable check
* Update minimum review count in optimal retention calculation
* Fix review check in optimal retention routine too
2024-02-24 14:53:38 +07:00
Luc Mcgrady
8b18a08b3b
FSRS - Ignore revlogs before date while optimizing ( #2922 )
...
* Added: Date input button
* Added: ignoreDate to config
* Added: Backend
* Optimize function passes value
* Fix: Spelling
* Moved: filter logic from revlog_for_srs to update_memory_state
* fmt
* Copyright header
* ./check
* Fix: Test
* Renamed: Ignore_date -> Ignore_before_date
* Neaten parameters
* evaluate weights
* ./check
* Optimize all presets
* Added: Label localizations
* Removed globe label
* Added: Tooltip
* Changed error type
* fmt
* Moved filter to own function
* missing function call replacement
* Fix: Typo
* Apply suggestions from code review
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
* timestamp * 1000 -> timestamp_millis
* ignoreBefore -> ignore_before
* clarified ignore_before variables
* i64 -> TimestampMillis
* Un-traitified remove_revlogs_before
* Added: ms == 0 guard
* Added: Ignore_before affects scheduling
* Moved filter to fsrs_items_for_training
* removed filter from revlog_for_srs
* Tuple -> UpdateMemoryStateEntry
* Removed unused function
* Removed superfluous _ms from variables
* cid -> id
* Different ignore method
* Added: Unit test
* cid -> id
* Test: Exact ms edge case
* ./check
* Fix: re-learns could be before ignore date in cards without learning steps
* getignoreRevlogsBeforeMs -> getIgnoreRevlogsBeforeMs
* Removed pub(crate)
* Clarified unit test
* last_learn_entry -> first_of_last_learn_entries
* @user1823's method
* IOS fix
* ./check
* Fix: width defined twice
2024-02-22 11:01:10 +07:00
Damien Elmes
9642a69b88
FSRS items, not revlogs
...
https://forums.ankiweb.net/t/discrepancy-between-revlog-count-in-optimize-and-evaluate/41224/5
2024-02-19 17:51:07 +07:00
Jarrett Ye
492178c107
Fix/ignore revlogs before Forget entry ( #3002 )
...
* Fix/ignore revlogs before Forget entry
* Update weights.rs
2024-02-12 16:09:39 +10:00
Abdo
4ef389b580
Keep previous FSRS parameters if they get worse when optimizing ( #2996 )
...
* Update to fsrs-rs 0.3.0
* Keep previous FSRS parameters if they get worse when optimizing
2024-02-11 16:26:04 +10:00
Abdo
85a8824c8c
Do not reset original_due when card stays in filtered deck ( #2988 )
2024-02-07 13:27:54 +10:00
Jarrett Ye
2fffe4b7ba
update FSRS to v0.2.0 ( #2977 )
...
* update FSRS to v0.2.0
* update comments
* ./ninja fix:minilints
* 1000 -> 400 in translation (dae)
2024-01-30 16:27:12 +10:00
Damien Elmes
bf06020855
Use card.reps - 1 when calculating fuzz ( #2933 )
...
https://github.com/open-spaced-repetition/fsrs4anki-helper/issues/343#issuecomment-1879584562
https://forums.ankiweb.net/t/reschedule-is-inconsistent-with-normal-schedule-in-fuzz/39363
2024-01-09 12:26:46 +10:00
Damien Elmes
66d0046b8a
Check review count up front
...
https://forums.ankiweb.net/t/inconsistent-number-of-reviews-when-clicking-optimize/39275/7
2024-01-08 14:05:09 +10:00
Damien Elmes
3982e0c8fe
Update to Rust 1.75
2024-01-05 14:28:23 +10:00
Damien Elmes
1a1d4d5419
Work around test failure on Windows
2023-12-28 18:43:28 +10:00
Damien Elmes
b73c1c7f87
Pull in FSRS fix for pretrain
2023-12-28 18:15:44 +10:00
RumovZ
c39f2cacae
Fix new cards from parent decks being gathered ( #2907 )
...
Fixes #2906 .
2023-12-24 20:04:28 +10:00
Jarrett Ye
3378e476e6
Update to FSRS-4.5 ( #2901 )
2023-12-22 16:17:40 +10:00
Damien Elmes
4908be62ed
Update FSRS
...
We're on the commit prior to
https://github.com/open-spaced-repetition/fsrs-rs/pull/141 , as that is
going to require work that will need to wait until after 23.12
2023-12-22 14:02:39 +10:00
Damien Elmes
4678b0cc4a
Use seconds instead of minutes for preview delay
...
Since this is not compatible with older clients, preview_delay has been
brought back so the configured value will still sync.
2023-12-21 11:02:29 +10:00
Damien Elmes
edd38ca067
Calculate elapsed days for intraday learning cards
...
https://forums.ankiweb.net/t/anki-23-12-beta/37771/109
2023-12-13 10:18:29 +10:00
Damien Elmes
db93939ded
Don't use SM2 memory state when cards are manually introduced
...
https://github.com/open-spaced-repetition/fsrs4anki/issues/540#issuecomment-1848833376
2023-12-12 09:40:31 +10:00
Damien Elmes
cfc6bc6548
Update FSRS for new default weights
2023-12-08 13:54:31 +10:00
Damien Elmes
e778cba089
Allow user to configure hard/good buttons when rescheduling off
...
Closes #2858
2023-12-08 11:04:34 +10:00
Damien Elmes
86aafa74a6
Treat cards with no reps like new cards
...
https://github.com/open-spaced-repetition/fsrs4anki/issues/540#issuecomment-1837780217
2023-12-07 14:56:39 +10:00
Damien Elmes
96ae3a5d63
Update to latest fsrs-rs
...
The extra entries in Cargo.lock and licenses.json are mostly spurious,
and caused by https://github.com/tracel-ai/burn/pull/1025#issuecomment-1842006690
2023-12-07 14:13:58 +10:00
Gustaf-C
63260631e4
Include elapsed_secs in learning card state ( #2862 )
...
* Include elapsed_time in learning card state
* Suggested updates, elapsed_time -> elapsed_secs
* Remove outdated comment
2023-12-06 16:40:22 +10:00
Jarrett Ye
80c5f2d491
skip revlog with time = 0 when calc recall cost ( #2870 )
...
* skip revlog with time = 0 when calc recall cost
* Update retention.rs
2023-12-05 13:08:34 +10:00
Damien Elmes
e5170f341b
Remove some v3 checks
2023-11-28 14:06:49 +10:00
Damien Elmes
d767e9ad3c
Suppress manual revlog entry if the previous entry was also manual
...
Means we lose some detail in the history, but should reduce the
collection bloat caused by a user experimenting with reschedule multiple
times in a short period, when they don't restore from backup afterwards.
https://forums.ankiweb.net/t/possible-syncing-limitation-by-fsrs-manual-scheduling-data-accumulation/37610
2023-11-27 11:24:31 +10:00
Damien Elmes
452e012c71
Add option to calculate all weights at once
2023-11-27 11:24:31 +10:00
Damien Elmes
c67f510b9a
Update to latest FSRS
2023-11-27 11:24:31 +10:00
Jarrett Ye
3713c86373
don't convert from sm2 when ivl = 0 ( #2849 )
2023-11-26 13:14:31 +10:00
Damien Elmes
a50b086b33
Use note order when previewing
...
https://forums.ankiweb.net/t/card-in-disorder/37534/2
2023-11-24 15:01:14 +10:00
Damien Elmes
366f78715b
Include next_day timestamp in revlog export
2023-11-23 14:46:48 +10:00
Damien Elmes
a9d73fc3be
Add a method for exporting revlogs in binary
2023-11-22 11:57:40 +10:00
Damien Elmes
f8e0321ca5
When training with the whole collection, include deleted card history
2023-11-22 10:53:08 +10:00