mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
Anki is a smart spaced repetition flashcard program
![]() There were a few issues going on here: - If some operation had invalidated the queues, they were subsequently recreated with a call to .get_queues() in the undo handling code. This could happen after the changes to the card had already been reverted, leading to a queue state that didn't match our expectations. - More generally, it's not safe to assume our mutations will apply cleanly after the queue has been rebuilt. The next card will vary depending on the number of remaining cards when interspersing cards of different types, and a queue-invalidating operation will have changed the learning cutoff. So rather than rebuilding the queues on demand, we now check that they already exist, and were created at the time we expect. If not, we invalidate them and skip applying the mutations, and a subsequent refresh of the UI should rebuild the queues correctly. As part of this change, the cutoff snapshot has been moved into the normal answer update object. One possible downside here is that adding a note during review may cause a newly due learning card to appear when undoing a different review. If this proves to be a problem, we could potentially note down the learning cutoff and apply it when queues are rebuilt later. |
||
---|---|---|
.buildkite | ||
.github/ISSUE_TEMPLATE | ||
cargo | ||
docs | ||
ftl | ||
pip | ||
platforms | ||
proto | ||
pylib | ||
qt | ||
rslib | ||
scripts | ||
ts | ||
.bazelignore | ||
.bazelrc | ||
.bazelversion | ||
.gitattributes | ||
.gitignore | ||
bazel.bat | ||
BUILD.bazel | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTORS | ||
defs.bzl | ||
late_deps.bzl | ||
LICENSE | ||
pkgkey.asc | ||
python.bzl | ||
README.md | ||
repos.bzl | ||
run | ||
run.bat | ||
WORKSPACE |
Anki
This repo contains the source code for the computer version of Anki.
If you'd like to try development builds of Anki but don't feel comfortable building the code, please see https://betas.ankiweb.net/
For more information on building, please see Development.