user1823
6ec22e5118
Apply fuzz to SM2 lapse interval and respect max ivl ( #3275 )
...
* Apply fuzz to SM2 lapse interval and respect max ivl
Imo, there is no reason for not applying fuzz to SM2 lapse intervals
* Update review.rs
* Format
* Update review.rs
* Update review.rs
* Update review.rs
* Update review.rs
2024-07-10 20:28:21 +07:00
Damien Elmes
6b3b545a9a
Some lint fixes for newer Rust
2024-07-06 18:40:37 +07:00
Damien Elmes
f98fbbf298
Revert "Ensure minimum doesn't exceed maximum"
...
This reverts commit 37ce4e8426 .
Also remove a stale comment that is no longer relevant after
b8ec76fb66
2024-06-28 19:49:23 +08:00
Jarrett Ye
6d13221ae5
Remove threshold of compute minimum recommended retention ( #3246 )
...
* remove threshold of compute minimum recommended retention
* update tool tip of compute-optimal-retention
* cargo clippy --fix
* Update FsrsOptionsOuter.svelte
* Remove 'from 0 cards' reference (dae)
2024-06-28 18:26:39 +07:00
user1823
8d11a909ed
Fix FSRS easy interval being same as good interval in relearning cards ( #3256 )
...
* Fix FSRS easy interval being same as good interval in relearning cards
https://github.com/ankitects/anki/pull/3236#issuecomment-2187787774
* Update relearning.rs
* Update relearning.rs
* Set min interval of easy to Good + 1
* Ensure minimum doesn't exceed maximum (dae)
With a maximum interval set, it would be possible to confuse with_review_fuzz()
by passing min > max.
2024-06-28 18:20:45 +07:00
Jarrett Ye
79917bbd2d
Fix/Relearning cards' Intervals don't update after changing Desired Retention ( #3236 )
...
* Fix/Relearning cards' Intervals don't update after changing Desired Retention
* cargo clippy --fix
2024-06-22 10:44:02 +01:00
Jarrett Ye
2b890b0eee
Fix/ignore revlogs when there is not learn entry after the last forget entry ( #3199 )
2024-05-17 06:07:15 +01:00
Abdo
ce8ddc84b9
Fix finished preview learning cards being repeated ( #3196 )
2024-05-15 12:55:25 +01:00
Jarrett Ye
c9c7a3133c
Use median in calculating cost and remove outliers ( #3181 )
...
* Use median in calculating cost and remove outliers
* extract fn median_secs
2024-05-02 20:16:04 +10:00
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