Testing the update process before updating

320 views
Skip to first unread message

馮韋元

unread,
Jun 3, 2021, 2:52:10 AM6/3/21
to Chromium Extensions
Are there any known ways to simulate the update process of an extension before the official update?

We added new features which use new variables. Existing users won't have these variables in their local storage, so those variables need to be initialized when receiving the update.
How to verify it works well for existing users before the actual release?

For example on Mozilla, it was possible to simulate by adding the matching ID in the manifest file of the local test extension, and drag/drop to the extension page. It would then execute the update flow (chrome.runtime.onInstalled with installedReason === "update").

Thanks!
Francois

Vladimir Yankovich

unread,
Jun 3, 2021, 10:06:36 AM6/3/21
to Chromium Extensions, 馮韋元
Oh, this is relevant to us. Hope someone knows a solution.

Tony Confrey

unread,
Jun 3, 2021, 10:19:23 AM6/3/21
to Chromium Extensions, 馮韋元
You can do more of less the same thing in Chrome. 

From the chrome://extensions page use the 'Pack extension' to create a locally installable package of version N. It will create a .crx file which is the extension, and a .pem file which is a newly generated private key. Drop the .crx file onto the extensions page to install. Then update the code and manifest to version N+1 and repackage using the previously generated .pem file. When you drop the updated .crx file onto /extensions it will go thru the upgrade process.

馮韋元Francois Devatine

unread,
Jun 3, 2021, 10:35:32 AM6/3/21
to Tony Confrey, Chromium Extensions
Amazing answer Tony, thank you so much!
Message has been deleted
Message has been deleted

Roberto Oneto

unread,
Jun 3, 2021, 10:48:49 AM6/3/21
to Chromium Extensions, 馮韋元, Chromium Extensions, tcon...@gmail.com
From my (limited) personal experience I found that the only chromiun based browser that still allows to create crx packages and then install it by dragging the file onto extensions page is SRWare Iron.
Other browsers travel on the same railtrack. I mean that they allow you to create the crx, allow you to install it but then disable the extension immediately after the installation

Cameron Eckelberry

unread,
Jun 3, 2021, 10:58:04 AM6/3/21
to Chromium Extensions, rob...@gmail.com, 馮韋元, Chromium Extensions, tcon...@gmail.com
You can also replace the files and reload.

- Install previous version in developer mode
- Overwrite the previous version files with the new version files
- Reload the app

John Ahlander

unread,
Jun 4, 2021, 4:36:44 PM6/4/21
to Chromium Extensions, cecke...@malwarebytes.com, rob...@gmail.com, 馮韋元, Chromium Extensions, tcon...@gmail.com
We have a private "BETA" version of our extension in the web store that we post to first.  This only has a small set of BETA users, where we can test all new changes.  After validation there, we publish to the public extension (with the 1000s of users).  This allows us to test the actual update from the web store.  I know there are restrictions about having 2 of the same app, but with one being private and we made it clear in the description what the purpose is, it seems Google allows this.

On this topic, a really nice feature add to the Chrome web store would be to be able to post a new release to "release groups" in the same listing.  So, we could create a "test" or "beta" group and then we could decide to post the release to small group before full public.  This is how most software releases work in other areas.

- John


Deco

unread,
Jun 4, 2021, 7:47:40 PM6/4/21
to John Ahlander, Chromium Extensions, cecke...@malwarebytes.com, rob...@gmail.com, 馮韋元, tcon...@gmail.com
Hi John, this is actually already possible. You are able to publish an extension update to a specific number of testers by adding them to the extension trusted tester's group through their email address, which can be added on the CWS dashboard.

Hope this helps.

Regards,
Deco

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/ed94eafd-e51b-4386-9c39-0494b480d88dn%40chromium.org.

John Ahlander

unread,
Jun 7, 2021, 11:21:25 AM6/7/21
to Chromium Extensions, decklin...@gmail.com, Chromium Extensions, cecke...@malwarebytes.com, rob...@gmail.com, 馮韋元, tcon...@gmail.com, John Ahlander
This is possible before you have published it publicly.  Once you have published it publicly, you have to unpublish it to mark it "private".  That means that while you are testing a new version of your extension, the stable version of your extension is not available to users, and it is not listed on the Chrome web store.  Here's the screenshot from the "payments & distribution" section:

Screenshot 2021-06-07 091935.png

The way software releases generally work is your new version can be published to a set of BETA testers while the current stable version is still published to the world.  The only way I can find to do that is to have the other private extension listing (as Google mentions in the description).

If someone knows of another way, I'd love to find out...but what I'd really like is a new feature that works like most software releases work.

Thanks,

John

Reply all
Reply to author
Forward
0 new messages