I’m cautiously optimistic that it isn’t as bad as it seems. The changes under the hood aren’t that big, it’s mostly UI/UX stuff. Give me a list of add-ons and I’ll test them and see what I can fix.
@kleinerpirat I was touched by your words.
I haven’t contributed as much as I would like (@AnKingMed uses an add-on of mine and I’m happy) with Anki, but I’m willing to help when we talk about Anki 3.0.
We have a very strong Anki community in Brazil on Telegram.
The use here in Brazil is very different from the rest of the world beyond language study.
I still think the environment for developing add-ons is complex. They should improve that part.
In the most, we are going to test the beta version as we can.
I had originally intended 2.1.55 to be mostly a bugfix release, and some of @hengiesel’s changes have been waiting for a number of months now because I wanted to focus on polish before introducing changes that could potentially cause regressions (sorry Henrik ). I was not as worried about @kleinerpirat’s changes, as they were mainly focused on appearance rather than functionality, which is less likely to break things. I suspect they will not cause widespread add-on breakages or require large changes to fix, but let’s see how that plays out.
Balancing the competing desires of add-on authors and people contributing to Anki is difficult. Add-on authors understandably want Anki updates to focus on bug fixes, and want changes to existing functionality to be infrequent, so that they don’t need to make changes to their add-ons. That is not very rewarding for people wanting to contribute to Anki however - people want to build things rather than just do maintenance, and if they expend effort improving Anki’s out-of-the-box experience, then have to wait for months and months before their changes get merged in (after the inevitable conflicts are dealt with), there’s a good chance they’ll lose interest and move on to something else that is more rewarding. I didn’t want that to happen here - design is not my forte, and when a motivated person comes along willing to put in the time and effort to improve Anki’s oft-critized UI, I think we should make the most of it.
The simplest solution in my opinion is to add a neat and clear log with each change, in which file it was made, and what replaces the class/function that existed before.
In at least half of the add-ons I worked on to solve bugs because of a new version, this could have saved me about half the time as a user who does not go through the github on a daily basis.
My method at the moment is to go through the files with BeyondCompare… pretty bad but it is what it is.
@AnKingMed so I downloaded about 20 of the add-ons on your Notion list and only three of them seem to be broken.
Theming add-ons
This one is obvious. Add-ons that change colors are going to be broken because of Introduce new color palette using Sass maps by kleinerpirat · Pull Request #2016 · ankitects/anki · GitHub.
I’ve been working on a PR that adds comments to each color, so add-on authors will have an easier time mapping the old variable names to the new ones. And as I’ve said before, their add-ons will be redundant soon.
Field Autocomplete
This one uses a DOM query to insert an icon into the field-state
element inside LabelContainer
. This kind of approach is risky and bound to break when the DOM tree changes.
const fieldState = fieldElm.getElementsByClassName("field-state")[0]
fieldState.insertBefore(
icon,
fieldState.querySelector("span")
);
In this case it breaks because this element has moved outside the field. Of course, your dev didn’t have another choice than to query the element directly. But we can provide it to them. The solution is to create an API to add clickable icons to this area. We can easily do that before 2.1.55 comes out.
The custom background add-on works on my build.
Usually, Anki devs create an add-on porting guide for updates. I’ll certainly do my part when it’s time.
Running Anki 2.1.55-beta2 on Linux, Qt6
Regression: When writing in the MathJax popup, being at last character and pressing right arrow will result in cursor appearing at the beginning of the line, instead of after the MathJax.
In the example below, having the cursor in the after Example in the MathJax input and pressing right arrow will result in cursor being placed before the B in the beginning of the line, expected to be after the e outside the MathJax tag.
Edit: Also, still a bug where adding a tag from the selection menu will sometimes add a new empty tag, example below
Naturally, add-on authors will only note what’s broken, and not what’s been painstakingly kept working. As a contributor, I can assure you that for every major contribution, a significant portion of time goes toward legacy support, which is an active effort and not a matter of ‘simply not breaking stuff’. And that despite it being the least rewarding part of development, as you usually don’t benefit personally and never get any feedback from the actual beneficiaries – in fact, you don’t even know if there are any.
I don’t know about the JS side of things, but as far as Python is concerned, no used functions or classes are quietly removed, unless by accident. There is a whole infrastructure for redirecting legacy calls or printing warnings where that’s not possible.
Also, as @kleinerpirat has pointed out, there was an extensive porting guide for the last major breaking update, 2.1.45. Since there was hardly any reaction at the time I regard this discussion as an improvement.
As always, 2.1.55 contains a lot of important fixes and improvements and I feel it would be a disservice to the community to indiscriminately advise against upgrading.
I hope that together and with empathy for other actors we can continue to build Anki as a software and community!
Absolutely agree on this point. I am hoping to fully support 2.1.55 with all its fixes and improvements and hope we can get it to a place where all add-ons are able to work with this
Report a bug
Extreme slowness in pasting multiple characters to the editor. (compared to 2.1.49)
I can’t switch between deck presets. I can select a preset in the deck options screen and click save, but it doesn’t actually bring about a change.
Anki 2.1.55 (e14f87ba) Python 3.9.7 Qt 5.15.2 PyQt 5.15.5
Platform: Windows-10-10.0.19044
Flags: frz=True ao=True sv=3
It works fine in 2.1.54.
Also, 2.1.55 beta messes up the presets! It uses the wrong one.
I open the profile in 2.1.54, deck presets are correct.
I open it in 2.1.55, and Enhance Main Window shows the correct preset, but once I open the deck options screen, I see a wrong preset. And I can confirm that Anki does indeed use the wrong preset because it follows the wrong preset’s setting of mixing new cards into reviews instead of the correct preset’s setting of showing new cards after reviews.
In the test I conducted:
Pasting of formatted text from “word”, 5600 words long. Takes about 20 seconds!!!
Compared to anki 2.1.49, one second.
I think it’s really excessive…
Thank you for your reports. The deck config screen has received some new input components, which still have some bugs. I’m working on a fix for the issues you mentioned, please bear with me.
The width where the card browser switches from a horizontal split to a verticle split seems to be too narrow.
Would you be able to provide me with a sample document to test with? You can share it with me privately if you want.
Thanks for sending the document. In the current development code on a Mac, I’m not seeing much of a difference between 2.1.49 and the current performance. 2.1.50 was noticeably slower, so it’s possible this has been fixed. Please let me know if it’s an issue with the next beta release.
Two issues I’ve noticed with the Wayland version thus far:
- I can’t copy text from outside the application into Anki. XWayland instance works fine.
- The automatic dark mode doesn’t affect the window borders. Launching directly into dark mode works. Almost certain that is a gnome issue though.
*The field heading overlaps with the field content when scrolling:
This is a feature that’s been broken by a past PR. It’s intentional that the field name sticks to the view, but not that it doesn’t have a background color. The fix has been lying around on GitHub with #2070 since September, but @hengiesel went inactive. If he doesn’t respond here, I’ll see if I can get his PRs over the finish line.
I’m on Windows 11
Although the resources he takes are not exaggerated. But the time is unlikely.
We will wait for the next
2.1.5x broke the Multi-column note editor addon, which makes 2.1.5x unusable for me. Losing the ability to have fields laid out in a tabular form vastly reduces the usability of Anki for me, and a minor change in field presentation in no way makes up for that.
It is frustrating as a user that when upgrading to a new version you never know what addons will break.
In my view Anki should have built-in support for showing fields in a tabular layout in the editor. Without that notes with large number of fields are much harder to create and update.