anki/rslib
Damien Elmes d52c36e920 Make flag changes undoable again
The previous change in 1871b57663 failed
to consider the browser refreshing case, as reported here:
https://forums.ankiweb.net/t/anki-2-1-50-beta-3-4/17501/30

I previously attempted to solve this by having SetFlag skip the queue
rebuild, then mutating the captured mtimes in the queues. That didn't
work correctly when undoing, as the queue mutations weren't recorded.
This approach combines that attempt and the previous change: flag
setting is an undoable operation again, but does not change the card's
modification time, so it can be applied/undone without a queue build
being required. Instead of special-casing flag changes in the review
screen, we now just redraw the flag on changes.card, as any other card
op will have triggered a queue rebuild.
2022-02-25 15:06:07 +10:00
..
.cargo initial Bazel conversion 2020-11-01 14:26:58 +10:00
benches New TTS/AV tag handling (#1559) 2021-12-17 19:04:42 +10:00
build Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
cargo V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
i18n V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
i18n_helpers V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
linkchecker V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
src Make flag changes undoable again 2022-02-25 15:06:07 +10:00
tests/support move linkchecker into separate crate 2021-12-20 17:27:43 +10:00
.gitignore initial Bazel conversion 2020-11-01 14:26:58 +10:00
bench.sh New TTS/AV tag handling (#1559) 2021-12-17 19:04:42 +10:00
BUILD.bazel V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
Cargo.toml V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
empty.rs Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
README.md add some code editing/completion docs 2020-12-16 14:16:08 +10:00
rustfmt.bzl update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
rustfmt.toml tidy up Rust imports 2021-04-18 18:38:54 +10:00

Anki's Rust code.

backend.proto stores the interfaces used to communicate backend messages between Rust, Python and TypeScript.