Proto commits in daveight/ankicode

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:3c3da8a
Author:daveight

migration

The documentation is generated from this commit.

Commit:7d9ef82
Author:daveight
Committer:GitHub

v1.0.0 (#5) v1.0.0 version - new deck type "CodingQuiz" - integrated code editor - support of Java and Python

Commit:0cc7f36
Author:Damien Elmes
Committer:Damien Elmes

rename some card+note fields in backend

Commit:56ceb6b
Author:Damien Elmes

set_deck()

Commit:b65174a
Author:Damien Elmes
Committer:Damien Elmes

move card sorting and resetting to backend

Commit:39212a3
Author:Damien Elmes
Committer:Damien Elmes

move reschedCards() to backend

Commit:ce49ca9
Author:Damien Elmes
Committer:Damien Elmes

log manual reschedule, but ignore the log entry in the stats

Commit:8f9037c
Author:Damien Elmes
Committer:Damien Elmes

move filtered deck empty/fill to backend emptying of individual card ids still to be done

Commit:ccfa989
Author:Damien Elmes
Committer:Damien Elmes

move unbury/unsuspend routines into backend

Commit:a834df6
Author:Damien Elmes
Committer:Damien Elmes

rename some card+note fields in backend

Commit:d3dede0
Author:Damien Elmes
Committer:Damien Elmes

move bury/suspend into backend

Commit:e568525
Author:Damien Elmes
Committer:Damien Elmes

reimplement congrats screen in Rust+Typescript

Commit:f7a7c95
Author:Damien Elmes
Committer:Damien Elmes

fix early reviews not appearing in graph https://forums.ankiweb.net/t/differences-between-new-and-old-stats-2-1-28/1602

Commit:4692726
Author:Damien Elmes
Committer:Damien Elmes

fix hour graph not handling timezones west of UTC https://forums.ankiweb.net/t/statistics-bugs-after-update-2-1-5-to-2-1-29/1620

Commit:19541c4
Author:Damien Elmes
Committer:Damien Elmes

fix deck tree with a day delta, and support arbitrary timestamps

Commit:329186f
Author:Damien Elmes
Committer:Damien Elmes

qt's js code now shares ts/node_modules; more graph work

Commit:28a6755
Author:Damien Elmes
Committer:Damien Elmes

i18n card counts

Commit:41d77b0
Author:Damien Elmes
Committer:Damien Elmes

get i18n working in typescript

Commit:0cab26d
Author:Damien Elmes
Committer:Damien Elmes

cards added graph

Commit:510f8b8
Author:Damien Elmes
Committer:Damien Elmes

some initial work on updating the graphs

Commit:82568a1
Author:Damien Elmes
Committer:Damien Elmes

experiment with exposing raw card/revlog data to frontend

Commit:3ca4a13
Author:Damien Elmes
Committer:Damien Elmes

protobuf package should be in PascalCase

Commit:b51f030
Author:Damien Elmes
Committer:Damien Elmes

migrate card stats to backend Currently this renders the HTML directly like the previous Python implementation - doing it in JS would probably make more sense in the future.

Commit:7c444b4
Author:Damien Elmes
Committer:Damien Elmes

add progress to db check

Commit:1fe1871
Author:Damien Elmes

add daily count updating to backend

Commit:fee6cdf
Author:Damien Elmes

support generating a due tree for a different date

Commit:4a69b55
Author:Damien Elmes

add note/card removal to backend

Commit:4d7e231
Author:Damien Elmes

change sync label to indicate sync state - blue for normal sync, red for full sync required - refactor status fetching code so we don't hold a collection lock during the network request, which slows things down - fix sync spinner restarting when returning to deck list

Commit:b254b1f
Author:Damien Elmes
Committer:Damien Elmes

another snapshot of sync work progress handler is going to need to be reworked to function across threads

Commit:90e19da
Author:Damien Elmes
Committer:Damien Elmes

handle aborting normal sync - Use a separate abort handle, as the media sync is running in the background and we need to be able to target them separately. The current progress handling is going to need a rethink if we introduce any other background tasks in the future. - Roll back the transaction when interrupting.

Commit:c6f0710
Author:Damien Elmes
Committer:Damien Elmes

report normal sync progress Also: - provide a way for the progress handler to skip the throttling so that we can ensure progress is updated at the end of a stage - show 'checking' at the end of full sync

Commit:0e5b7da
Author:Damien Elmes
Committer:Damien Elmes

login/full up/full down plugged in

Commit:ee6d7f8
Author:Damien Elmes
Committer:Damien Elmes

rework progress handling - client now polls status instead of backend pushing it - supports multiple threads - update throttling happens in one place

Commit:f10d0ee
Author:Damien Elmes
Committer:Damien Elmes

more syncing work no checks yet

Commit:c8d1320
Author:Damien Elmes

move dupe check to backend

Commit:38508c3
Author:Damien Elmes
Committer:Damien Elmes

use keyword args for calls with more than one argument

Commit:89dde3a
Author:Damien Elmes

migrate the remaining methods

Commit:4bf8175
Author:Damien Elmes

migrate more scheduling/media/etc almost there

Commit:a105037
Author:Damien Elmes

migrate notetypes, update GIL list

Commit:6710e3d
Author:Damien Elmes
Committer:Damien Elmes

add some more newtypes to the RPC defs

Commit:95735f1
Author:Damien Elmes

migrate cards and notes

Commit:7550e62
Author:Damien Elmes

migrate decks and dconf methods

Commit:081a61a
Author:Damien Elmes
Committer:Damien Elmes

more methods

Commit:175afa9
Author:Damien Elmes
Committer:Damien Elmes

migrate more methods to service

Commit:9c20d9a
Author:Damien Elmes
Committer:Damien Elmes

start reworking protobuf handling Will allow us to cut down on boilerplate by automatically generating code from RPC service definitions

Commit:68465ae
Author:Damien Elmes
Committer:Damien Elmes

protobuf tidyups

Commit:6114836
Author:Damien Elmes

move deck config to protobuf

Commit:5467058
Author:Damien Elmes
Committer:Damien Elmes

add option to limit deck tree counts to a particular node

Commit:f2086fc
Author:Damien Elmes

switch to new deck tree in deck browser Saves us having to look up collapsed/filtered as we render, and gives us type completion.

Commit:964a69e
Author:Damien Elmes

handle default deck and filtered deck suppression in the backend

Commit:2ac3350
Author:Damien Elmes
Committer:Damien Elmes

fetch stock notetypes from backend

Commit:7829114
Author:Damien Elmes

add "fill empty" checkbox

Commit:f23eb35
Author:Damien Elmes

drop availOrds(), and use backend for getting cloze numbers

Commit:6680cdf
Author:Damien Elmes

update the card layout screen - changes are now committed in bulk when closing the dialog, and can be canceled - it's not necessary to save the note to the database to preview it - duplicate fields are now shown as duplicates in the top list - redraw preview more quickly - use + instead of _ when deduplicating names, as the latter is a glob character

Commit:826cbb0
Author:Damien Elmes
Committer:Damien Elmes

fetch template and note fields in backend during normal card render Saves having to serialize the note fields and q/a templates, which is particularly a win when rendering question/answer in the browse screen. Also some work towards being able to preview notes without having to commit them to the database.

Commit:a7a485d
Author:Damien Elmes
Committer:Damien Elmes

use backend for genCards() and updateFieldCache()

Commit:9317cee
Author:Damien Elmes
Committer:Damien Elmes

handle scheduling preferences in the backend

Commit:ea4f150
Author:Damien Elmes
Committer:Damien Elmes

fetch timing_today() params in backend

Commit:eee0d7e
Author:Damien Elmes
Committer:Damien Elmes

switch server back into a bool and rely on config

Commit:70cc169
Author:Damien Elmes
Committer:Damien Elmes

rewrite DB check - notes with wrong field count are now recovered instead of being deleted - notes with missing note types are now recovered - notes with missing cards are now recovered - recover_missing_deck() still needs implementing - checks required

Commit:2413f28
Author:Damien Elmes
Committer:Damien Elmes

bulk tag add/remove/update; canonify on note save also remove the tag list updated hook - we'll need a better solution in the future than having the library code call back into the GUI code

Commit:8b557ec
Author:Damien Elmes
Committer:Damien Elmes

move find&replace to backend

Commit:805a3a7
Author:Damien Elmes
Committer:Damien Elmes

split note types into separate tables - store the config in protobuf instead of json - still loading+saving in bulk for now - code using the schema11 structs needs to be migrated

Commit:238441f
Author:Damien Elmes
Committer:Damien Elmes

use the backend for the deck due tree - approx 3x faster on a large test deck - counts are no longer capped to 1000 in the tree

Commit:5fb5338
Author:Damien Elmes
Committer:Damien Elmes

add missing decks in backend - need to compare parents with unicode case folding - duplicate check enforced by the DB

Commit:67421e0
Author:Damien Elmes
Committer:Damien Elmes

add browserCollapsed as part of tree build

Commit:a88bc1e
Author:Damien Elmes
Committer:Damien Elmes

speed up browser load by rendering deck tree in Rust and skipping counts

Commit:f592672
Author:Damien Elmes
Committer:Damien Elmes

add separate decks table, and start on moving deck handling to Rust The Python tests are passing, but there are still a number of issues to work through, and the table/protobuf schema is not yet finalized.

Commit:6e1d299
Author:Damien Elmes
Committer:Damien Elmes

remove unused _updateRequired and associated code

Commit:bee0eb1
Author:Damien Elmes
Committer:Damien Elmes

empty card handling

Commit:6cc2bdb
Author:Damien Elmes
Committer:Damien Elmes

start on exposing notes and individual note type methods changes to note: - add_note() now takes a provided deck id instead of looking it up in the notetype - note type use counts fetched using a single table scan - make sure note type changes are persisted - expose optionalness of ords in templates and fields json

Commit:527c8bf
Author:Damien Elmes
Committer:Damien Elmes

embed enum to avoid conflicts

Commit:a17ddfd
Author:Damien Elmes
Committer:Damien Elmes

native struct for CardTemplate

Commit:9080f60
Author:Damien Elmes
Committer:Damien Elmes

native struct for NoteField ord is made optional so we can keep track of changes in the future

Commit:d6646a6
Author:Damien Elmes
Committer:Damien Elmes

expose stock notetypes

Commit:5408926
Author:Damien Elmes
Committer:Damien Elmes

add stock note types in backend

Commit:b557425
Author:Damien Elmes
Committer:Damien Elmes

embed sort kind enum to avoid future namespace conflicts

Commit:4c7210b
Author:Damien Elmes
Committer:Damien Elmes

(de)serialize decks in backend

Commit:36ec783
Author:Damien Elmes

load/save note types in backend This allows us to normalize bad data, and is the first step towards splitting note types into separate tables.

Commit:75faba1
Author:Damien Elmes

add separate json error

Commit:dc62d50
Author:Damien Elmes
Committer:Damien Elmes

use bytes for deck config proto

Commit:164bd29
Author:Damien Elmes
Committer:Damien Elmes

use bytes for config proto

Commit:676f4e7
Author:Damien Elmes
Committer:Damien Elmes

store config in separate DB table - mtime is tracked on each key individually, which will allow merging of config changes when syncing in the future - added col.(get|set|remove)_config() - in order to support existing code that was mutating returned values (eg col.conf["something"]["another"] = 5), the returned list/dict will be automatically wrapped so that when the value is dropped, it will save the mutated item back to the DB if it's changed. Code that is fetching lists/dicts from the config like so: col.conf["foo"]["bar"] = baz col.setMod() will continue to work in most case, but should be gradually updated to: conf = col.get_config("foo") conf["bar"] = baz col.set_config("foo", conf)

Commit:ac4284b
Author:Damien Elmes
Committer:Damien Elmes

update tag handling - tag list stored in a separate DB table - non-wildcard searches now do full unicode case folding (eg tag:masse matches 'Maße') - wildcard matches do simple unicode case folding - some functions haven't been updated yet, so ascii folding will continue to be used in some operations

Commit:333d073
Author:Damien Elmes
Committer:Damien Elmes

preserve mtime/usn when syncing deck config, and add snake_case names

Commit:c9da4bc
Author:Damien Elmes

allow aborting a media sync while http req in flight The progress handling code needs a rethink, as we now have two separate ways to flag that the media sync should abort. In the future, it may make sense to switch to polling the backend for progress, instead of passing a callback in.

Commit:35c03af
Author:Damien Elmes

split deck config into separate SQL table - on collection load, the schema is upgraded to 12 - on collection close, the changes are reversed so older clients can continue to open the collection - in the future, we could potentially skip the reversal except when exporting/doing a full sync - the same approach should work for decks, note types and tags in the future too - the deck list code needs updating to cache the deck confs for the life of the call

Commit:004cc2b
Author:Damien Elmes

move deck conf handling to backend

Commit:84b84ae
Author:Damien Elmes

use add_card()

Commit:7f16f43
Author:Damien Elmes

handle mtime/usn bump in backend, and tweak integer sizes

Commit:4750424
Author:Damien Elmes

update_card()

Commit:7ddaf93
Author:Damien Elmes

use backend to get card

Commit:69d8cdd
Author:Damien Elmes
Committer:Damien Elmes

use backend for v1 and v2 cutoff calculations this should also fix the CI failures, which were happening because the datetime module wasn't matching the shifted time.time()

Commit:f28e57a
Author:Damien Elmes

add enum for controlling sort order eg col.find_cards("", order=BuiltinSortKind.CARD_DUE)

Commit:a578778
Author:Damien Elmes

add note searching

Commit:5debd3e
Author:Damien Elmes
Committer:Damien Elmes

add the ability to provide a custom sort order; use backend for find

Commit:b51e575
Author:Damien Elmes
Committer:Damien Elmes

drop the protobuf prototype

Commit:bca5f2d
Author:Damien Elmes
Committer:Damien Elmes

prototype of integration no ordering yet, and no tests

Commit:874bc08
Author:Damien Elmes
Committer:Damien Elmes

support opening and closing the DB while keeping backend alive This is safer than just dropping the backend, as .close() will block if something else is holding the mutex. Also means we can drop the extra I18nBackend code. Media syncing still needs fixing.

Commit:1322d8c
Author:Damien Elmes
Committer:Damien Elmes

make the collection optional