Wow, these changes are absolutely spectacular. Really excited about putting them to use. Thanks a lot, Damien!
My only request would be to give add-on authors a few weeks to adjust (I assume you were planning on giving 2.1.24 a longer beta testing period anyway, giving the breadth of changes, but just in case). The changes to the Finder and removal of named sqlite bindings do affect Review Heatmap for instance, and I assume there are other popular add-ons that will also need to be adjusted.
This might sound weird, but I don't get any error messages from my add-on code since updating. I updated from 2.1.22 to 2.1.24.
The following does not produce any error message:
prints "1" but not "2", no error message displayed.
Starting with 5debd3e0, opening/reloading the browser resets the sorting to "oldest to newest" when I am sorting by "Created".
I can invert the order by clicking on the column header, but when I close and open it again, it's sorted oldest to newest again (the sort order indicator in the column header stays unchanged though).
I've been testing Anki 2.1.24 Beta 2, and the removal of named SQL bindings seems to be a common cause of trouble among add-ons. Although the workaround is trivial in most cases, is there any chance of having named bindings back?
Even without named bindings, the assert in DBProxy._query catches valid queries that include a literal colon. In my case it was a '::' used as a hierarchial tag separator. I think the assert can be removed because calls with keyword arguments will fail anyway.
I've removed the ':' check in git, but I'm afraid named args probably won't come back - I did grep through all add-ons before making the change, and only about 10% are affected, and those that are are easily updated.
HeatMap was disabled and Anki worked OK. After enabling it, Anki fails to start even if I press Shift while starting Anki to disable all add ons.
I am using Linux Mint 19.3 XFCE
An error occurred. Please use Tools > Check Database to see if that fixes the problem.
If problems persist, please report the problem on our support site. Please copy and paste the information below into your report.
Anki 2.1.24 (d3964603) Python 3.8.1 Qt 5.14.1 PyQt 5.14.1
Flags: frz=True ao=False sv=2
Add-ons, last update check: 2020-04-01 12:49:12
Traceback (most recent call last):
File "aqt/main.py", line 468, in loadCollection
File "aqt/main.py", line 604, in moveToState
File "aqt/main.py", line 611, in _deckBrowserState
File "aqt/deckbrowser.py", line 54, in show
File "aqt/deckbrowser.py", line 109, in _renderPage
File "anki/schedv2.py", line 275, in deckDueTree
File "anki/schedv2.py", line 253, in deckDueList
File "anki/schedv2.py", line 478, in _deckNewLimitSingle
File "anki/decks.py", line 369, in confForDid
TypeError: 'NoneType' object does not support item assignment
Thanks, Chris. I fixed this in RH’s master branch a couple of weeks ago. Still need to address another .24 compat issue with the finder, and then I’ll push a new beta.
Just out of curiosity, but why did we end up dropping named SQL arguments in the first place? I’m sure there is a good technical reason for it, it’s just that even if all affected add-ons are fixed ahead if time, it will still cause a lot of support requests (especially with RH and other add-ons with large user bases affected). Does the Rust implementation not support named args?