Anki is a smart spaced repetition flashcard program
Find a file
user1823 b0665a8ef1
Fix/Ensure fuzz doesn't go backward during rescheduling (#4364)
* Fix/Ensure fuzz doesn't go backward during rescheduling

Fixes https://github.com/ankitects/anki/issues/2694

* Fix

* Get previous_interval from LastRevlogInfo

* Fix

* Format

* Format

* Exclude lapses

* Force reconfigure in CI

The cached build.ninja may reference files that don't exist in the PR.
On a local build this tends to auto-fix itself as the build scripts detect
a quick failure and re-run the configure, but CI tends to be too slow.

https://github.com/ankitects/anki/pull/4364#issuecomment-3338026129

* Rename min/max to make it clear they restrict interval, not fuzz

* Wording tweaks/comments for clarity

---------

Co-authored-by: Damien Elmes <gpg@ankiweb.net>
2025-09-27 16:43:34 +10:00
.buildkite Fix/Ensure fuzz doesn't go backward during rescheduling (#4364) 2025-09-27 16:43:34 +10: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 Disable NPM package scripts, and assert lockfile unchanged 2025-09-17 09:31:23 +10:00
cargo Update to Rust 1.89 + latest deps 2025-09-01 14:55:49 +10:00
docs Updated Dockerfile to use Ninja build system (#4321) 2025-09-17 14:02:09 +10:00
ftl Update translations 2025-09-17 15:50:02 +10:00
proto Export last_interval to Python (#4365) 2025-09-27 15:58:41 +10:00
pylib feat: add support for tag:nc:... searches (#4344) 2025-09-25 07:11:07 +03:00
python Switch to Ruff (#4119) 2025-06-29 14:38:35 +07:00
qt feat: show saved custom colours as options in fill tool colour picker on mobile (#4348) 2025-09-25 06:34:27 +03:00
rslib Fix/Ensure fuzz doesn't go backward during rescheduling (#4364) 2025-09-27 16:43:34 +10:00
tools Exclude version numbers from cargo/licenses.json 2025-08-19 23:48:04 +10:00
ts Stats - Retention rate help box links to Deck Options manual page #4198 (#4329) 2025-09-27 14:46:11 +10: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-09-17 16:50:13 +10:00
.yarnrc.yml Disable NPM package scripts, and assert lockfile unchanged 2025-09-17 09:31:23 +10:00
Cargo.lock Bump ammonia from 4.1.1 to 4.1.2 (#4355) 2025-09-23 18:14:05 +10:00
Cargo.toml Bump ammonia from 4.1.1 to 4.1.2 (#4355) 2025-09-23 18:14:05 +10: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 Stats - Retention rate help box links to Deck Options manual page #4198 (#4329) 2025-09-27 14:46:11 +10: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 Bump devalue for latest CVE 2025-09-01 13:41:00 +10: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 One step closer to tools/run-qt* on Windows 2025-09-01 13:39:46 +10:00
rust-toolchain.toml Update to Rust 1.89 + latest deps 2025-09-01 14:55:49 +10:00
SECURITY.md add SECURITY.md 2021-09-22 22:55:19 +10:00
uv.lock Expose control over AppNap for AnkiConnect 2025-08-19 19:46:11 +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 vite from 6.3.5 to 6.3.6 (#4328) 2025-09-17 12:08:11 +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