Commit graph

105 commits

Author SHA1 Message Date
Damien Elmes
4334ab1ba9 Bump Rust deps
Primarily for prost, which had incompatible changes
2024-10-21 15:34:04 +10:00
Jarrett Ye
75ba49af76 Feat/option to enable FSRS short-term scheduler when (re)learning steps run out && speed up features based on simulation (#3505)
* Update to FSRS-rs v1.3.2

* add fsrs_short_term_with_steps_enabled to config

* ./ninja fix:minilints

* fix defaults_for_testing

* if current parameters are invalid, skip comparison

fix #3498

* fix redundant_field_names

* cargo clippy --fix

* Update to FSRS-rs v1.3.3

* Update to FSRS-rs v1.3.4

* Avoid an extra config lookup on each card answer (dae)
2024-10-21 15:09:07 +10:00
Han Yeong-woo
1346671f07 Fully switch to File::set_times() from utime crate (#3503)
* Fully switch to File::set_times() from utime crate

* Switch to open_file()

Future me will end up wondering why we're explicitly declaring read=true

* Fix failing on windows

* Minor tidy-up (dae)

* Fix comment typo
2024-10-16 02:35:37 +10:00
Damien Elmes
719f50db96 Revert "Fully switch to File::set_times() from utime crate (#3501)" (#3502)
This reverts commit 74a40da2a8.
2024-10-16 00:35:26 +10:00
Han Yeong-woo
74a40da2a8 Fully switch to File::set_times() from utime crate (#3501)
* Fully switch to File::set_times() from utime crate
 
* Switch to open_file() (dae)

Future me will end up wondering why we're explicitly declaring read=true
2024-10-16 00:31:17 +10:00
Damien Elmes
f68959d155 Update Rust deps
- Primarily for the latest RUSTSEC on pyo3
- utime has been pinned, as they've introduced a deprecation warning
without a solution being available for folder mtimes
2024-10-15 23:00:45 +10:00
Jarrett Ye
60cf8790ad Let FSRS control short term schedule (#3375)
* graduate card when user press hard and has 0 learning steps

* fix error: useless conversion to the same type

* do the same thing to again

* fix expected `Option<u32>`, found integer

* ./ninja format

* let FSRS control short term schedule

* Update to FSRS-rs v1.3.0

* ./ninja check:clippy

* Update to FSRS-rs v1.3.1

* Pin FSRS version (dae)

https://github.com/ankidroid/Anki-Android-Backend/pull/417

* Remove redundant parens (dae)
2024-10-06 12:20:18 +10:00
Jarrett Ye
ce51170149 Fix/keep the same-day reviews for training & optimized parameters should be consistent if the inputs are consistents (#3450)
* keep the same-day reviews in feature

* Update to FSRS-rs v1.2.3

* format

* don't remove short-term reviews if not training

* Update to FSRS-rs v1.2.4
2024-09-30 23:43:26 +10:00
a.r
2f31f9fec5 lazy_static → once_cell → stabilized versions (#3447)
* Anki: Replace lazy_static with once_cell

Unify to once_cell, lazy_static's replacement. The latter in unmaintained.

* Anki: Replace once_cell with stabilized LazyCell / LazyLock as far as possible

Since 1.80: https://github.com/rust-lang/rust/issues/109736 and https://github.com/rust-lang/rust/pull/98165

Non-Thread-Safe Lazy → std::cell::LazyCell https://doc.rust-lang.org/nightly/std/cell/struct.LazyCell.html

Thread-safe SyncLazy → std::sync::LazyLock https://doc.rust-lang.org/nightly/std/sync/struct.LazyLock.html

The compiler accepted LazyCell only in minilints.

The final use in rslib/src/log.rs couldn't be replaced since get_or_try_init has not yet been standardized: https://github.com/rust-lang/rust/issues/109737

* Declare correct MSRV (dae)

Some of our deps require newer Rust versions, so this was misleading.

Updating the MSRV also allows us to use .inspect() on Option now
2024-09-30 23:35:06 +10:00
Jarrett Ye
2567ba1490 Fix/simulator crashes if no history (#3405)
* Fix/simulator crashes if no history

* ./ninja format

* remove (experimental) from ComputeOptimalRetention

* update to fsrs-rs v1.2.2
2024-09-10 23:15:33 +07:00
Damien Elmes
94a38cc7ba Dependency updates (#3403)
* Bump Python deps

Primarily for flask-cors CVE

* Bump TS deps; pin license checker

Current checker is missing the binary
https://github.com/RSeidelsohn/license-checker-rseidelsohn/issues/118

* Update Rust deps

Hyper and axum are held back as we currently make use of the older
http library that reqwest pulls in
2024-09-04 12:21:50 +07:00
Jarrett Ye
8d22175471 graduate card when user presses again or hard and has 0 learning steps (#3367)
* graduate card when user press hard and has 0 learning steps

* fix error: useless conversion to the same type

* do the same thing to again

* fix expected `Option<u32>`, found integer

* ./ninja format

* Update to FSRS-rs v1.2.0

* if else -> match

* Weight length check has been moved into FSRS (dae)

* Don't mention the number of FSRS parameters (dae)

It has changed, and may change again.
2024-08-29 22:20:11 +07:00
Damien Elmes
dd806c07b4 Update dprint (#3376)
* Update amd64 docker container to Debian 11

This bumps the minimum required glibc to 2.29, which is 2019
Ubuntu/Fedora, and 2021 Debian.

Also remove the unused download of ninja

* Update to latest dprint

Unblocked by the glibc upgrade
2024-08-22 18:24:56 +07:00
Jarrett Ye
d8ada1fe82 Update to FSRS-rs v1.1.5 (#3369) 2024-08-22 16:02:50 +07:00
Jarrett Ye
da7c7d0ab7 Update to FSRS-rs v1.1.4 (#3329)
* update to fsrs-rs v1.1.4
2024-08-05 15:54:10 +07:00
Jarrett Ye
0a37d366f6 Feat/FSRS-5 (#3298)
* Feat/FSRS-5

* adapt the SimulatorConfig of FSRS-5

* update parameters from FSRS-4.5

* udpate to FSRS-rs v1.1.0

* ./ninja fix:minilints

* pass ci

* update cargo-deny to 0.14.24

* udpate to FSRS-rs v1.1.1

* update to fsrs-rs v1.1.2
2024-07-21 21:02:24 +07:00
Damien Elmes
8335618549 Update axum/reqwest for hyper 1.0 2024-07-06 18:45:32 +07:00
Damien Elmes
734962827d Update Rust + Rust deps 2024-07-06 18:40:38 +07:00
Voczi
f7f7f82289 Add support for custom certificates (#3203)
* Add support for custom certificates

* Update lints

* Update licenses

* Changes after feedback

* More changes
2024-05-24 10:57:54 +01:00
Jarrett Ye
54efd6d36c update to fsrs-rs v0.6.4 (#3200)
* update to fsrs-rs v0.6.3

* update to fsrs-rs v0.6.4
2024-05-17 06:26:06 +01:00
Jarrett Ye
c8b256786f update to fsrs-rs v0.6.2 (#3171) 2024-05-01 17:55:14 +10:00
Jarrett Ye
82efc59fbf 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
laalsaas
079f218213 sync-server: add option to store hashed passwords (#3083) 2024-03-26 07:39:57 +00:00
Jarrett Ye
40870b22a8 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
d7c27c8ace speed up computing optimal retention (#3072)
* speed up computing optimal retention

* ./ninja fix:minilints
2024-03-12 15:57:41 +07:00
Jarrett Ye
11423405d5 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
6c4e047eaf 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
0362727bd9 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
Damien Elmes
4cafd92c6d Dependency updates (#3040)
* Update JS deps

* Update semver-compat Rust deps

* Update some semver-incompat Rust deps

- hyper/axum held back because reqwests is not ready
- rusqlite held back due to burn-rs incompat version
- wiremock held back due to compile issue

* pylint wants changes to our _rsbridge.pyi

* Update Python deps

Also solves a security warning in orjson

Reformat with latest black
2024-02-28 16:28:04 +07:00
Abdo
739e0196e9 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
Jarrett Ye
f76763b10e 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
aaffcf2472 Update Rust deps 2024-01-18 11:00:01 +10:00
Damien Elmes
f94a129f5e Pull in FSRS fix for pretrain 2023-12-28 18:15:44 +10:00
Jarrett Ye
9af073cd0e Update to FSRS-4.5 (#2901) 2023-12-22 16:17:40 +10:00
Damien Elmes
08a7b3ccab 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
701e0b7e60 Fix error generating parameters when a parameter is 0 2023-12-12 12:33:32 +10:00
Damien Elmes
f4acaa17cd Update FSRS for new default weights 2023-12-08 13:54:31 +10:00
Damien Elmes
75681810b0 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
Damien Elmes
910d864ee7 Update to Rust 1.74, and update most Rust deps
hyper has been held back, as neither reqwest nor axum support 1.0 yet
2023-11-27 13:34:42 +10:00
Damien Elmes
91d2822358 Update to latest FSRS 2023-11-27 11:24:31 +10:00
Damien Elmes
b989c98639 Update fsrs-rs 2023-11-13 10:13:20 +10:00
Damien Elmes
0f2303002c Fix Android backend failing to build on Windows with n2 2023-11-08 13:31:35 +10:00
Damien Elmes
158eb4322a We can now use burn from crates.io 2023-10-28 08:23:33 +10:00
Damien Elmes
b9ffdcfbd5 Update fsrs and Rust deps 2023-10-25 10:22:36 +10:00
Damien Elmes
695bb9e291 Update to latest fsrs 2023-10-18 09:03:23 +10:00
Damien Elmes
e41e7cc508 Fix stuttering in FSRS progress display 2023-10-14 14:03:20 +10:00
Damien Elmes
7669dd3d2a Update to merged PR commit 2023-10-13 14:07:53 +10:00
Damien Elmes
c8f14d36af Update fsrs-rs for partial fix for #2706 2023-10-13 14:05:31 +10:00
Damien Elmes
ec8990dc11 Use sm2 retention when deriving memory state
Closes #2702
2023-10-13 10:37:35 +10:00
Damien Elmes
db6dc5a30f Update FSRS for performance improvement 2023-10-05 16:27:10 +10:00