Skip to content

Conversation

@SecretX33
Copy link

@SecretX33 SecretX33 commented Dec 27, 2025

Motivation

Anki has two update notification mechanisms:

  1. Program updates - The "Anki Updated" message when a new version is available
  2. Add-on updates - The "Update Add-ons" dialog that appears on every application startup

While the program update check could already be disabled via Preferences, there was no way to disable the add-on update check. This is particularly annoying for users who prefer to manage add-ons manually, or for those that want full control over when their add-ons update (similar to the Linux approach, where users can use automatic package upgrade via apt, but they choose when to upgrade their packages, without being constantly prompted to do so), since today they are constantly bombarded by the same "there's an update available for X add-on" message every time they open the app.

This message:

python_CUvdD65WWy

Changes

1. Add option to toggle add-on update checks

Added new option to allow toggling "Check for add-on updates" feature ON and OFF. I opted to group both update options in a subsection because I felt it looked better.

Users can still manually check for add-on updates through Tools > Add-ons > Check for Updates button even if "Check for add-on updates" is disabled (this is already the current behavior).

Current

python_CUvdD65WWy

Updated

python_CUvdD65WWy

2. Add "Check for Updates" menu action

Note: this change was reverted as per request.

I noticed that currently, there's simply no way of manually triggering update checking, and that's inconsistent with add-on update checking.

Update Type Manual Trigger? How
Program updates No -
Add-on updates Yes Tools > Add-ons > "Check for Updates" button

I went ahead and added added a new "Check for Updates..." option in the Help menu to fix this, allowing users to manually check for program updates at any time. This is especially useful for users who disabled automatic update checks but want to occasionally check manually.

python_CUvdD65WWy

But then I noticed that, if the user is in the latest version and performs an update check, nothing happened. The reason behind this is because the application, when checking for updates in the latest version, simply does nothing. I added this simple dialog message to give the user feedback for his action (clicking the "Check for Updates..." option).

python_CUvdD65WWy

This message only appears when triggering the check update flow via Help menu option. During app startup, nothing will be displayed to the user in case there's no updates (this is already the current behavior).

Notes

This is my first time contributing to the Anki project. If you have any feedback, feel free to drop it in this PR, thanks.

I have no idea why the CI is failing with this error:

<html><body>
<!--StartFragment-->
2025-12-27 15:34:30 [ERROR] failed to load advisory database: parse error: error parsing /state/.cargo/advisory-db/github.com-2f857891b7f43c59/crates/cap-primitives/RUSTSEC-2024-0445.md: parse error: TOML parse error at line 8, column 8
--


<!--EndFragment-->
</body>
</html>

I didn't touch anything related to that.

@GithubAnon0000
Copy link
Contributor

  1. Add "Check for Updates" menu action

There is Tools > Upgrade/Downgrade, then pressing "1" in the launcher. That will check for updates and install the newer version if one is available. You should wait for dae or abdnh to review your PR, but I am guessing you can / should remove those changes. You might have to wait a bit for a review, most of the time it is around 1 to 2 weeks (but currently it might take a bit longer).

I have no idea why the CI is failing with this error:

The CI is currently failing for all PRs. If you run the check on your own computer and it passes (see https://github.com/ankitects/anki/blob/main/docs/contributing.md#tests-must-pass) then, CI-wise, you're good. If it isn't passing locally, you can do the following to fix it and then re-run the ninja tests: https://github.com/ankitects/anki/blob/main/docs/development.md#running-testschecks.


Thank you for writing a PR for this one, I think this is really important!

@iamllama
Copy link
Contributor

This can be particularly annoying for users who prefer to manage and update their add-ons manually, since today they are constantly bombarded by the same "there's an update available for X add-on" message every time they open the app.

You can unselect whichever addons you don't want to update and click Ok, which will prevent it from being shown, until the next time an addon you've updated or newly added has an update

@GithubAnon0000
Copy link
Contributor

There shouldn't be any user unapproved network connections going out of Anki, though; being able to turn it off completely seems to be the right thing to do in my opinion, even if the popup can be hidden in that way.

@SecretX33
Copy link
Author

SecretX33 commented Dec 28, 2025

There is Tools > Upgrade/Downgrade, then pressing "1" in the launcher. That will check for updates and install the newer version if one is available. You should wait for dae or abdnh to review your PR, but I am guessing you can / should remove those changes. You might have to wait a bit for a review, most of the time it is around 1 to 2 weeks (but currently it might take a bit longer).

Got it, I'll revert this in a single commit, and if dae/abdnh decides, I can revert the removal of the feature to bring it back. Thanks for also letting me know the average time to review.

Edit: where exactly is this "Upgrade/Downgrade" option? I think I don't see it in my Tools menu:

image

If you run the check on your own computer and it passes (see https://github.com/ankitects/anki/blob/main/docs/contributing.md#tests-must-pass) then, CI-wise, you're good.

Okay, I'll make sure the unit tests pass locally.

Thank you for writing a PR for this one, I think this is really important!

Thanks! I'm glad I'm not the only one that thinks this is important.

You can unselect whichever addons you don't want to update and click Ok, which will prevent it from being shown, until the next time an addon you've updated or newly added has an update

That's nice to know, but I don't want to have to uncheck the update of each add-on individually (and having to remember that when installing new add-ons, otherwise I'd be seeing the annoying update reminder once again). I agree with @GithubAnon0000 here, I want to have control over what network connections Anki is making.

I updated the PR description to also say:

or for those that want full control over when their add-ons update (similar to the Linux approach, where users can use automatic package upgrade via apt, but they choose when to upgrade their packages, without being constantly prompted to do so)

Which hopefully exemplifies another situation where users might want this feature.

@GithubAnon0000
Copy link
Contributor

Edit: where exactly is this "Upgrade/Downgrade" option? I think I don't see it in my Tools menu:

It gets hidden when you run Anki without the launcher (e.g. because you built from source). I didn't know that. Maybe a PR / your PR could address this, then. For reference:

anki/qt/aqt/main.py

Lines 1428 to 1430 in 8f21445

qconnect(m.action_upgrade_downgrade.triggered, self.on_upgrade_downgrade)
if not launcher_executable():
m.action_upgrade_downgrade.setVisible(False)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants