Anki is a smart spaced repetition flashcard program
Find a file
Jarrett Ye 474dbc2812
Fix/fallback to non-manual entry when first_of_last_learn_entries non found (#3639)
* Fix/fallback to non-manual entry when first_of_last_learn_entries non found

* refactor single_card_revlog_to_item(s)

* update unit test of bypassed_learning_is_handled

* move comment line

* remove first_relearn_entries

* skip cram entry

* only pick non_manual_entries after ignore date

* fallback to non_manual_entries if the first learning step is before the ignore date

* pass ci

* update ignore_before_date_between_learning_steps_when_reviewing

* shorten the comment

* Minor refactoring

- fsrs_items_for_memory_state - fsrs_items_for_memory_states
- single_card_revlog_to_item -> fsrs_item_for_memory_state
(to match fsrs_items_for_training)
- single_card_revlog_to_items -> reviews_for_fsrs
- Use struct instead of tuple for reviews_for_fsrs output
- Don't return count, since we're already returning the filtered list

* More renaming/comment tweaks

- non_manual_entries -> first_user_grade_idx
- change comments to reflect the fact that we're working backwards
- Use "user-graded" rather than "non-manual"

* Add extra unit test

* Some wording tweaks
2024-12-17 23:34:19 +11:00
.buildkite Install n2 in release entrypoint 2024-09-27 20:22:16 +10:00
.cargo Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
.config Drop workspace-hack in favor of workspace deps 2023-06-23 17:41:31 +10:00
.github/ISSUE_TEMPLATE Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
.vscode.dist HMR on Windows (#3144) 2024-04-17 21:23:34 +10:00
build Fix glibc tag for AMD build 2024-12-09 19:40:16 +11:00
cargo Fix/FSRS Simulator Failure: min > max (#3644) 2024-12-17 11:45:43 +03:00
docs Bump rust base image 1.80.1 to 1.82.0 (#3587) 2024-11-18 23:42:24 +10:00
ftl I18n: Improve i18n and multi-platform display of FSRS Simulator (#3611) 2024-12-14 21:59:00 +11:00
proto Apply gradient effect to forgetting curve (#3604) 2024-12-09 17:44:05 +11:00
pylib Enable strict_optional for aqt/tagedit, utils, sync (#3578) 2024-11-15 16:29:19 +03:00
python Latest waitress CVE 2024-11-05 18:30:08 +10:00
qt Split off path into its own arg (#3641) 2024-12-16 14:15:05 +03:00
rslib Fix/fallback to non-manual entry when first_of_last_learn_entries non found (#3639) 2024-12-17 23:34:19 +11:00
tools lazy_static → once_cell → stabilized versions (#3447) 2024-09-30 23:35:06 +10:00
ts Allow object to move to right edge and bottom edge and allow scroll of note fields when not using IO (#3630) 2024-12-15 19:30:47 +03:00
.deny.toml Allow Unicode-3 license 2024-07-20 18:07:06 +07:00
.dockerignore Add distroless Dockerfile and implement internal health check (#3366) 2024-08-29 17:05:33 +07:00
.dprint.json Update dprint (#3376) 2024-08-22 18:24:56 +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 chore: add mypy's cache to .gitignore file (#3360) 2024-08-17 13:09:30 +07:00
.gitmodules Exclude PyOxidizer from recursive checkout 2023-07-02 18:22:44 +10:00
.isort.cfg Specify Python version for auto-formatters (#3325) 2024-08-04 20:54:14 +07:00
.mypy.ini Enable strict_optional for aqt/tagedit, utils, sync (#3578) 2024-11-15 16:29:19 +03:00
.pylintrc Add ability to restore a notetype to its original configuration (#2472) 2023-04-18 14:07:51 +10:00
.ruff.toml Specify Python version for auto-formatters (#3325) 2024-08-04 20:54:14 +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 to 24.11 2024-11-07 17:05:27 +10:00
Cargo.lock Fix/FSRS Simulator Failure: min > max (#3644) 2024-12-17 11:45:43 +03:00
Cargo.toml Fix/FSRS Simulator Failure: min > max (#3644) 2024-12-17 11:45:43 +03:00
check Add a shortcut to auto-format before running checks 2023-07-02 09:59:05 +10:00
CONTRIBUTORS Remove hardcoded note/card colours from switch.py (#3629) 2024-12-14 21:30:28 +11:00
LICENSE Replace css_browser_selector with our own implementation (#2854) 2023-11-30 10:57:33 +10:00
ninja Switch to SvelteKit (#3077) 2024-03-31 09:16:31 +01:00
package.json Bump @sveltejs/kit from 2.7.3 to 2.8.3 (#3598) 2024-11-26 20:54:19 +10:00
pkgkey.asc add public key for release signing 2018-09-18 10:40:45 +10:00
pyproject.toml chore: add initial configuration for pyright (#3361) 2024-08-17 13:10:02 +07:00
README.md Updated README (#2718) 2023-10-11 14:11:07 +10:00
run Fix webengine remote debugging in Qt6 2023-11-05 12:41:17 +10:00
run.bat HMR on Windows (#3144) 2024-04-17 21:23:34 +10:00
rust-toolchain.toml Rust 1.82 2024-10-26 20:02:53 +10:00
SECURITY.md add SECURITY.md 2021-09-22 22:55:19 +10: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 Bump @sveltejs/kit from 2.7.3 to 2.8.3 (#3598) 2024-11-26 20:54:19 +10: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