Testing the web store update process

瀏覽次數:72 次
跳到第一則未讀訊息

Tom Riley

未讀,
2023年2月6日 清晨7:28:452023/2/6
收件者:Chromium Extensions
Does anyone have a reliable way to do this that works currently? If the schema of our extension's local data changes, we need to test auto-updating users are able to move to the new version smoothly.

Reading this older thread https://groups.google.com/a/chromium.org/g/chromium-extensions/c/hJt82E8hgHs/m/QzJtIGQfAgAJ it seems that using browser-packed CRX files was possible, but when I add a CRX in Chrome 109, it warns "This extension is not listed in the Chrome Web Store and may have been added without your knowledge" and disables the toggle for enabling the extension (maybe MV3 related?) 

In the web store, we have internal test users in a group under "Group publisher memberships" on a draft publish of the new version, and I appear to be able to add myself as a "Trusted tester" elsewhere in there, but I'm failing to see how this whole test process works. Are these users identified by the receiving browser as being allowed the draft version because they're logged into a Chrome profile in the browser?

The best workaround I have found is to do an unpacked install of an older version, store some user data, swap in the dist files for the new version, then restart the extension manually - is this a reasonable simulation of what will happen when users auto-update in production?

Thanks to anyone who can help.


Screenshot 2023-02-06 at 11.21.01.png

Oliver Dunk

未讀,
2023年2月6日 清晨7:40:272023/2/6
收件者:Tom Riley、Chromium Extensions
Hey Tom,

I've also tried to run experiments like this in the past and admittedly I haven't found a perfect solution. I'd love for us to offer something better there.

To start with the easy option:

The best workaround I have found is to do an unpacked install of an older version, store some user data, swap in the dist files for the new version, then restart the extension manually - is this a reasonable simulation of what will happen when users auto-update in production?

I'd say this is fairly good and I can't immediately think of any limitations you'd want to be aware of. If this exercises the code paths you're interested in, it's probably the best option.

A few notes that may be useful if you want to try some of the alternatives you mentioned...

If you want to go down the "Trusted Testers" route, this isn't linked to the draft state, but is instead a list of people who can access the extension even if the visibility is set to Private. You could perhaps setup a private extension with a list of trusted testers and submit separately there for your testing?

If you want to use a packed extension, extensions installed by policy can run even if downloaded outside of the Chrome Web Store. This is non trivial to setup - you need a web server to serve the updates (https://developer.chrome.com/docs/apps/autoupdate/), and then to install management policy on your machine to force install the extension: https://chromeenterprise.google/policies/?policy=ExtensionInstallForcelist. This is probably more work than you want to do, but I wanted to mention it because it's something I've done in the past.

As far as I know nothing has changed here with regards to MV3, by the way - these are protections which have existed for a while to prevent malicious extensions from being installed.

Hope this helps.
Oliver Dunk | DevRel, Chrome Extensions | https://developer.chrome.com/ | London, GB


--
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/35e5495f-3d86-422c-a864-dbaafb3b4041n%40chromium.org.

Tom Riley

未讀,
2023年2月6日 清晨7:58:522023/2/6
收件者:Chromium Extensions、olive...@google.com、Chromium Extensions、Tom Riley
Thanks Oliver, that has made things a bit clearer for me.
回覆所有人
回覆作者
轉寄
0 則新訊息