Following up on https://github.com/mozilla/addons-server/issues/9147 and the plan we published in the Add-ons Blog, we need to disable all legacy add-on files.
What needs to be disabled:
This should be done early in October to meet the timeline we laid out.
… users will no longer be able to find …
Please: will the front end display anything distinctive in these cases?
Whilst I shouldn't expect to see the name of the non-found extension, it will be useful to use the word _legacy_ somewhere in the page. Generic. Maybe with reference to https://blog.mozilla.org/addons/2018/08/21/timeline-for-disabling-legacy-firefox-add-ons/
TIA
Once the files are disabled, nothing about them will be visible on the site. Add-ons that have only legacy versions will also stop being visible or searchable.
@jvillalobos, are you going to remove legacy dictionaries too?
No, legacy dictionaries were introduced in Firefox 61, which means they are still supported in the current ESR branch (60). We will probably remove them one the next ESR (68) becomes the norm.
QA: a command needs to be run to do this. Since it will disable a bunch of add-ons, let me know when you're ready for this to be done on dev & stage.
@diox I think you can run the command for dev and stage and I'm going to make time to test around this. Do you also want to push the changes in prod this week?
We should wait for bug 1495440 to be resolved before we run this in prod. Other than being late on our timeline, there's no strong pressure to do this.
I've launched the script on dev - it worked except for a hundred or so files that failed because of a transaction issue. I'll be pushing a follow-up commit to work around this.
Looks good now. The query I used to verify:
File.objects.only('id').filter(is_webextension=False, is_mozilla_signed_extension=False, version__addon__type__in=(amo.ADDON_EXTENSION, amo.ADDON_THEME, amo.ADDON_LPAPP)).exclude(status=amo.STATUS_DISABLED).exclude(version__addon__status__in=(amo.STATUS_DELETED, amo.STATUS_DISABLED)).exclude(version__deleted=True).count()
The signal handlers in our code should have disabled the corresponding add-ons when necessary (when they didn't have any public versions left) and re-indexed them.
Test results for AMO -dev (FF62, ESR60, Win10x64 and Android 8.0)
Dev Hub:
@diox I do have some questions:
Rev Tools:
Admin
So the problem is that on dev, we have a bunch of (*) add-ons that have all their versions disabled but are still in a public state. This wasn't caused by my script (last modified dates for the versions I checked were in 2011), and because the versions are already disabled, the script is ignoring them.
I'll add a migration or something to clean them up later in https://github.com/mozilla/addons-server/issues/9707, once we've ran the command everywhere.
(*) 639 if my count is correct. They have no _current_version set but status is set to amo.STATUS_PUBLIC.
(Meanwhile: I ran the command on stage)
I tested on Stage with same results as for -dev. Since the remaining issues described above will be addressed in a different bug, I will mark this one as verified.
Bug 1495440 has been resolved, so this is now free to be run.