Of course. Like I said, I’d need a list of add-ons to take a look at.
I don’t break things on purpose, it’s just that I don’t use add-ons myself and most hooks have been implemented by add-on authors, so it’s difficult for me to keep them in mind when developing.
Also, it’s easier to break the shackles of add-on compatibility for a while to make progress, and then weld them on again once the goals are met.
This add-on is not working properly in these beta versions. It has always worked since version 2.1.15. https://ankiweb.net/shared/info/1829090218
I believe they have changed the class name in this new beta version.
@kleinerpirat I hope my comment didn’t come off too aggressive either. I understand where you’re coming from. I was frustrated with all the editor breaks to 2.1.54, but I put up with it because my understanding was that it was for a better future. The reason I am so frustrated with the new editor changes is because it doesn’t add any function and comes immediately after I just put in hours of work to update things for the last big change.
In regards to my business, this isn’t even a part of it. Ever since the beginning I have tested add-ons and helped collect donations and pay for public add-ons to be updated. I don’t receive any benefit from that as most of them are not my add-ons. I keep track of all this here but have not done robust testing on 2.1.55 yet because it takes me a couple hours to do so and I prefer to wait until we’re closer to release. Your comment about two parties and mine only being because I’m charging things is completely unfounded here, especially with your suggestion that I don’t deserve to decide what happens to Anki. Testing and assisting with Beta versions of Anki is something I do as a hobby and just because I am not actually contributing to the code doesn’t mean I can’t be valuable in testing and advocating for the user-friendliness of Anki. I have tried to do this for years. In my opinion, the priorities should be 1. functionality, 2. user-friendliness (something Anki struggles with) and 3. appearance. The latest changes affect #3 and make #1 and #2 worse, hence why I suggest that we roll them back until they can better address #1 and #2.
I’ll say it again just so it’s clear. This has nothing to do with corporate interests. I am advocating for better integration and user-friendliness of Anki. I have done this for every single update since I started using Anki 4 years ago, long before I ever received money for this. Beyond that, all the money that goes into updating the add-ons now is money that I would otherwise be keeping for myself, but I choose to put it back into the community instead. You should know as you’ve received some of it.
The fact that AnKingMed happens to run a business that makes money off of add-ons is irrelevant because if their add-ons are breaking, then it’s likely that all sorts of other add-ons will break too. A breaking change in Anki could easily kill some add-ons permanently if their developers (who often also work for free) are tired of needing to constantly revise their add-ons.
This sums my point up well
We already did that. As per my point above, I don’t really consider the recent change progress beyond improving appearance and it’s certainly backtracking in terms of functionality.
I hope this doesn’t come off as too aggressive. I don’t mean to say “your changes are ugly lets get rid of them.”. What I hope you understand is that the changes are fine, but we shouldn’t introduce them unless they can preserve add-on compatibility or offer significant functional changes. @dae I would appreciate if you can take this into consideration as well when merging PRs in the future
I apologize for my reaction above. Anki means a lot to me and I put in a lot of time trying to make people happy (i know you do too), so I got a bit emotional. Sorry, Nick. I hope you didn’t take it personal.
If my last message wasn’t clear enough - I am even willing to help fund the addition of better UI and I actually think your post @kleinerpirat on what needs to be improved is brilliant. But those updates should be done professionally and with consideration for add-ons, user friendliness, and future directions. If you don’t have enough time to make the changes that robust because you’re understandably busy, I am happy to help fund the project. We should not make the mistake of making small changes for the now that compromise the future (and perhaps that’s what the last set of changes were and they were a mistake?)
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.
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.
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.
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.
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
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.
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.