Anki is a smart spaced repetition flashcard program
Find a file
Jarrett Ye 1f7f7bc8a3
Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards (#4189)
* Fix/FSRS simulator fallback to memory_state_from_sm2 for after setting “Ignore cards reviewed before”

* add comment to fsrs_item_for_memory_state

* Add historical retention field to FSRS review request and update related logic

- Added `historical_retention` field to `SimulateFsrsReviewRequest` in `scheduler.proto`.
- Updated `simulator.rs` to use `req.historical_retention` instead of the removed `desired_retention`.
- Modified `FsrsOptions.svelte` to include `historicalRetention` in the options passed to the component.

* Update rslib/src/scheduler/fsrs/memory_state.rs

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

* Update rslib/src/scheduler/fsrs/simulator.rs

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

* pass ci

* Update rslib/src/scheduler/fsrs/simulator.rs

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>

* format

* Update rslib/src/scheduler/fsrs/simulator.rs

Co-authored-by: Luc Mcgrady <lucmcgrady@gmail.com>

* format

* Fix condition in is_included_card function to check CardType instead of CardQueue

---------

Co-authored-by: user1823 <92206575+user1823@users.noreply.github.com>
Co-authored-by: Luc Mcgrady <lucmcgrady@gmail.com>
2025-07-09 16:22:59 +07:00
.buildkite Auto-expand bundle progress in Buildkite on Linux 2025-01-26 19:37:34 +11:00
.cargo Statically link MSVC runtime, removing the need to install the redistributable (#4166) 2025-07-05 15:03:14 +03:00
.config Drop workspace-hack in favor of workspace deps 2023-06-23 17:41:31 +10:00
.cursor/rules Make URL schemes dialog more ergonomic (#4002) 2025-05-15 16:17:33 +10:00
.github/ISSUE_TEMPLATE Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.vscode.dist Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
build respect env var UV_BINARY with OFFLINE_BUILD being set (#4170) 2025-07-07 15:16:00 +07:00
cargo Upgrade to nom 8.0.0 (#4105) 2025-06-21 19:15:19 +07:00
docs Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
ftl Allow creating deck via #deck:... if non-existent when importing (#4154) 2025-07-08 00:46:04 +07:00
proto Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards (#4189) 2025-07-09 16:22:59 +07:00
pylib Add last_review_time to card data for performance and accuracy (#4124) 2025-07-08 00:41:01 +07:00
python Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
qt Re-order terminals, again, for better UX. (#4186) 2025-07-08 16:29:07 +07:00
rslib Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards (#4189) 2025-07-09 16:22:59 +07:00
tools Update to Qt 6.9.1 2025-07-08 01:14:40 +07:00
ts Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards (#4189) 2025-07-09 16:22:59 +07:00
.deny.toml Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
.dockerignore Add distroless Dockerfile and implement internal health check (#3366) 2024-08-29 17:05:33 +07:00
.dprint.json Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
.eslintrc.cjs Include error message text on page 2024-06-24 15:35:47 +07:00
.gitattributes try again to improve GitHub's language stats 2021-01-20 13:20:45 +10:00
.gitignore Support hidden local Claude config 2025-06-29 22:16:59 +07:00
.gitmodules Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
.mypy.ini Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
.prettierrc Switch back to Prettier for Svelte formatting 2025-01-13 15:53:55 +11:00
.python-version Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
.ruff.toml Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
.rustfmt-empty.toml Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.rustfmt.toml Move ascii_percent_encoding into a separate repo 2023-04-12 08:45:23 +10:00
.version Bump version 2025-07-08 01:15:30 +07:00
.yarnrc.yml Yarn 4 (#3772) 2025-01-26 14:40:17 +11:00
Cargo.lock Show recent versions in launcher 2025-07-07 23:46:33 +07:00
Cargo.toml Add search keyword to strip clozes beforehand (#4145) 2025-07-01 16:35:21 +07:00
check Add a shortcut to auto-format before running checks 2023-07-02 09:59:05 +10:00
CLAUDE.md Support hidden local Claude config 2025-06-29 22:16:59 +07:00
CONTRIBUTORS Statically link MSVC runtime, removing the need to install the redistributable (#4166) 2025-07-05 15:03:14 +03:00
LICENSE Drop Pauker and SuperMemo importers from legacy importer 2025-06-27 16:10:12 +07:00
ninja Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
package.json Update svelte/vite/esbuild for CWEs 2025-07-01 18:01:48 +07:00
pkgkey.asc add public key for release signing 2018-09-18 10:40:45 +10:00
pyproject.toml Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
README.md Add a trademark symbol to the readme and about screens 2025-07-01 11:40:03 +07:00
run Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
run.bat Migrate build system to uv (#4074) 2025-06-19 14:03:16 +07:00
rust-toolchain.toml Update to Rust 1.88 2025-06-29 11:50:49 +07:00
SECURITY.md add SECURITY.md 2021-09-22 22:55:19 +10:00
uv.lock Update to Qt 6.9.1 2025-07-08 01:14:40 +07:00
yarn Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
yarn.bat Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
yarn.lock Update svelte/vite/esbuild for CWEs 2025-07-01 18:01:48 +07:00

Anki®

Build status

This repo contains the source code for the computer version of Anki.

About

Anki is a spaced repetition program. Please see the website to learn more.

Getting Started

Anki Betas

If you'd like to try development builds of Anki but don't feel comfortable building the code, please see Anki betas

Developing

For more information on building and developing, please see Development.

Contributing

Want to contribute to Anki? Check out the Contribution Guidelines.

Anki Contributors

CONTRIBUTORS

License

Anki's license: LICENSE