Our project includes a desktop application and extensions for Internet Explorer, Chrome and Firefox. The Chrome and Firefox extensions are the same code-base using webextension-polyfill. The build process generates new versions of each item, keeping the version numbers in-sync across all of them, so we typically push a new version every week.
The build uses web-ext sign
to generate and sign the Firefox extension automatically. It then bundles that file into the installer. When the user chooses to install the Firefox extension, the installer places the .xpi on the computer and adds registry entries to install the add-on like listed here.
We’ve had problems with the Chrome extension where a user manually uninstalls the add-on “accidentally”, which places it on an internal block-list and prevents the add-on from being reinstalled administratively. We haven’t encountered this problem with the Firefox extension, but due to the problem we’ve decided to publish the extensions publicly in the stores.
For the Chrome extension, it’s literally as simple as changing a toggle in the developer dashboard for the extension to public. For AMO, the process seems much more complicated. I found this forum post, but it’s over 3 years old and I have some additional questions.
It looks like when I manually upload a new version, I have the option of changing where the add-on is published. Is there not a way using web-ext
to automate public publishing and also still receive the signed .xpi back so it can be included in the installer during the build process? Will every version of the add-on have to go through a detailed review process where we have to manually attach source code, etc?