Commit Graph

10557 Commits

Author SHA1 Message Date
Damien Elmes
e525704571 Clarify stability subtitle
Based on #2699. Closes #2699.
2023-10-03 14:40:41 +10:00
Damien Elmes
3636c7c90e When the user has no relearning steps, synthesize the value 2023-10-03 13:50:29 +10:00
Damien Elmes
41bddfc6cb Ensure fuzz doesn't go backwards
Closes #2694
2023-10-03 13:23:27 +10:00
Damien Elmes
259ed9c34d Show tooltip on sync completion
Closes #2695
2023-10-03 12:57:39 +10:00
Damien Elmes
a5f01329a0 Update translations 2023-10-03 12:39:01 +10:00
Damien Elmes
9165a7efaf Update urllib3
Minor CVEs
2023-10-03 12:25:06 +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
0ef28853fd Fix TypeError when deck list or overview refreshes during optimal retention
Caused by legacy code blocking the main thread.

https://forums.ankiweb.net/t/anki-23-10-beta/34912/79
2023-09-30 16:10:23 +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
Abdo
074f452762
Allow creating an image occlusion from the clipboard (#2689)
* Allow creating an image occlusion from the clipboard

* Refactor pasted image name construction into methods

* Reduce button's top padding

* Fix capitalization

* Fix quality parameter of pasted image

* Fix lint errors

* setup_mask_editor_for_file -> setup_mask_editor

* Select -> Paste

* Extract image reading logic

* Fix inlinedImageToFilename
2023-09-29 15:51:44 +10:00
Damien Elmes
f3bb845961 Update incompatible Rust deps 2023-09-28 10:00:47 +10:00
Damien Elmes
ce11927f97 Update compatible Rust deps
Fixes a CVE in tungstenite
2023-09-28 09:54:56 +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
d2f392ff9f Update translations 2023-09-27 16:37:37 +10:00
Damien Elmes
da027bccd9 Tweak some wordings 2023-09-27 16:37:03 +10:00
Damien Elmes
65c2381f4d x% complete 2023-09-27 16:24:25 +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
Michael Eliachevitch
2580399552
Button to set desired FSRS retention to optimal/calculated (#2685)
* Draft set optimal/calculated retention button

Temporarily save the calculated optimal retention and display it with a button
that sets the desired retention above to this value.Don't show button until
attention had been calculated. Disable button when optimal and desired
attention are equal.

I find this nicer than the current alert-popup solution, as it avoids a popup
and gives a choice to the user to accept the calculated retention or not, while
also persisting the calculated retention on the screen for a bit.

TODO: What's still missing is that the `optimalRetention` variable is global and
persists when I change presets. When changing presets the variable should reset to
`undefined`, which would also makes the button disappear. Ideally it should also
disappear when changing the FSRS parameters. So probably it should be made part
of some deck options state and subscribe to some events. But with that I might
need some help. Also I thought whether that variable should go into the deck
options schema but tbh it's not something we want to persist between sessions,
users should recalculate it.

* Add me to contributors for tests so pass

* Add formatting ant type fixes to make tests pass

* Minor fixes (dae)

* Remove the period
2023-09-27 16:12:49 +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
Damien Elmes
aee6fcf456 Fix weight computation progress not showing 2023-09-26 14:02:12 +10:00
Michael Eliachevitch
2491b93ea6
More sensible lower FSRS progress indicator precision (#2684)
It's very helpful having a sub-permille precision in a progress
indicator, percent-precision or at most a tenth of a percent should be
sufficient for any indicator.

But in particular the compute-retention progress has 10 steps, i.e. the progress
increases in 10%-intervals (10%, 20%, ...), it *cannot* have sub-decimal
progress-percentages, see 2d5b19b494/src/optimal_retention.rs (L365-L368). So there integer percents should be
enough, everything else is misleading.

The compute-weights progress is currently (as of beta-2) not showing up at all.
Maybe if the bug is fixed it can show sub-percent percentages, so for know I changed that
to 0.1% precision. But I think integer percentages should be fine here as well,
so upon request I can fix that.

Also see my comment on this problem in https://forums.ankiweb.net/t/anki-23-10-beta/34912/39.
2023-09-26 14:01:05 +10:00
Abdo
4cf2ab35ab
Match IO extensions in a case-insensitive manner (#2683) 2023-09-26 13:14:59 +10:00
Abdo
bccc5b0995
Fix wrong mask position after merging groups (#2682) 2023-09-26 13:14:13 +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
8214aa42a1 Don't show multiple cancel buttons 2023-09-25 16:40:11 +10:00
Damien Elmes
c9ca5ee6e7 Fix cancel signal being ignored if sent quickly 2023-09-25 16:32:12 +10:00
Damien Elmes
17cfec5e35 Prohibit weight generation when reps < 1000 2023-09-25 16:17:00 +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
3c62a8345a Cap optimal retention simulation to 10 years 2023-09-25 14:34:26 +10:00
Damien Elmes
ba9ee93fa8 Expose deck-then-random option in UI 2023-09-25 11:12:28 +10:00
Damien Elmes
e6aaeb85e9 Expose memory state computation to Python
Closes #2676
2023-09-25 11:05:47 +10:00
Damien Elmes
4dc9890845 Include v2 scheduler in "no longer supported" message 2023-09-25 09:39:59 +10:00
Damien Elmes
c788f8ac8a Fix entire collection being used to calculate weights 2023-09-24 19:42:50 +10:00
Damien Elmes
2ab8aa002e QtQml was also required 2023-09-24 16:42:26 +10:00
Damien Elmes
52293dc371 Update Qt for Mac bundle 2023-09-24 16:24:11 +10:00