anki/rslib
Damien Elmes de668441b5 clear_unused_tags and browser redraw improvements
- clear_unused_tags() is now undoable, and returns the number of removed
notes
- add a new mw.query_op() helper for immutable queries
- decouple "freeze/unfreeze ui state" hooks from the "interface update
required" hook, so that the former is fired even on error, and can be
made re-entrant
- use a 'block_updates' flag in Python, instead of setUpdatesEnabled(),
as the latter has the side-effect of preventing child windows like
tooltips from appearing, and forces a full redrawn when updates are
enabled again. The new behaviour leads to the card list blanking out
when a long-running op is running, but in the future if we cache the
cell values we can just display them from the cache instead.
- we were indiscriminately saving the note with saveNow(), due to the
call to saveTags(). Changed so that it only saves when the tags field
is focused.
- drain the "on_done" queue on main before launching a new background
task, to lower the chances of something in on_done making a small query
to the DB and hanging until a long op finishes
- the duplicate check in the editor was executed after the webview loads,
leading to it hanging until the sidebar finishes loading. Run it at
set_note() time instead, so that the editor loads first.
- don't throw an error when a long-running op started with with_progress()
finishes after the window it was launched from has closed
- don't throw an error when the browser is closed before the sidebar
has finished loading
2021-03-19 19:45:21 +10:00
..
.cargo initial Bazel conversion 2020-11-01 14:26:58 +10:00
build split out remaining rpc methods 2021-03-11 17:04:32 +10:00
cargo roll back slog-term due to Windows break (2/2) 2021-03-10 13:28:32 +10:00
src clear_unused_tags and browser redraw improvements 2021-03-19 19:45:21 +10:00
templates migrate card stats to backend 2020-06-15 17:22:16 +10:00
tests/support initial Bazel conversion 2020-11-01 14:26:58 +10:00
.clang-format add .clang-format so VS Code preserves formatting style on .proto save 2021-01-12 18:47:08 +10:00
.gitignore initial Bazel conversion 2020-11-01 14:26:58 +10:00
backend.proto clear_unused_tags and browser redraw improvements 2021-03-19 19:45:21 +10:00
BUILD.bazel add strum crate 2021-03-10 11:53:27 +10:00
Cargo.toml roll back slog-term due to Windows break (2/2) 2021-03-10 13:28:32 +10:00
clang_format.bzl NF: add AGPL licence missing in some file 2021-01-31 21:50:21 +01:00
proto_format.py NF: add AGPL licence missing in some file 2021-01-31 21:50:21 +01:00
README.md add some code editing/completion docs 2020-12-16 14:16:08 +10:00
rustfmt.bzl NF: add AGPL licence missing in some file 2021-01-31 21:50:21 +01:00

Anki's Rust code.

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