Extension in an inconsistent state after updating
Categories
(GeckoView :: Extensions, defect, P1)
Tracking
(firefox75 verified, firefox76 verified)
People
(Reporter: amejia, Assigned: bdahl)
Details
(Whiteboard: [geckoview:m76])
Attachments
(2 files)
47 bytes,
text/x-phabricator-request
|
jcristau
:
approval-mozilla-beta+
|
Details | Review |
47 bytes,
text/x-phabricator-request
|
Details | Review |
After updating uBlock origin from version 1.25.0
to 1.25.2
, the add-on is in an inconsistent state, making it unresponsive. For more details see the Fenix related issue.
Steps to reproduce:
- Install uBlock version 1.25.0
- Request to update to version
1.25.2
.
I believe the issue is related that we are not honouring the below contract with runtime.onUpdateAvailable. As uBlock is listening to runtime.onUpdateAvailable but doesn't call runtime.reload()
, the add-on is getting into a weird inconsistent state, where even if the user restarts the app, the extension is not usable anymore until the add-on is disable and enable back where runtime.reload()
is called.
<blockquote>
If the extension is not listening for this event when an update becomes available, the extension is reloaded immediately and the update is applied. If the extension is listening, then the update will be applied the next time the extension is reloaded. This happens if:
- the browser is restarted <- (This is not being honoured)
- the extension is disabled and re-enabled <- (This is being honoured)
- the extension explicitly reloads itself by calling runtime.reload().
</blockquote>
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
The extension background page should be loaded when either an event needs
to be sent to it or after the browser has started up. When an extension
is updated the special startup event listeners do not appear to be built
yet and GeckoView was not sending browser started notification, which meant the
background page never being loaded.
Assignee | ||
Comment 3•5 years ago
|
||
Depends on D66717
Comment 5•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/765685adf961
https://hg.mozilla.org/mozilla-central/rev/b25fbbe62520
Assignee | ||
Comment 6•5 years ago
|
||
We're going to want to uplift this, but I'm not seeing a good way for QA to verify. Do you have any thoughts on how to verify this?
Comment 7•5 years ago
|
||
there might be an easier way but:
- install old fennec nightly
- navigate to the 1.25.0 ublock link from AMO: https://addons.mozilla.org/firefox/downloads/file/3521827/ublock_origin-1.25.0-an+fx.xpi?src=dp-btn-primary
- update fennec to fenix (you can just update from the playstore)
- wait for fenix to update ublock
- check that ublock is still working, e.g. by navigating to a google page and accessing the popup (three dots -> ublock origin)
Assignee | ||
Comment 9•5 years ago
|
||
Slightly updated steps:
- install old fennec nightly
- navigate to the 1.25.0 ublock link from AMO: https://addons.mozilla.org/firefox/downloads/file/3521827/ublock_origin-1.25.0-an+fx.xpi?src=dp-btn-primary
- update fennec to fenix (you can just update from the playstore)
- wait for fenix to update ublock
- kill and restart fenix
- check that ublock is still working, e.g. by navigating to a google page and accessing the popup (three dots -> ublock origin)
Assignee | ||
Comment 10•5 years ago
|
||
Comment on attachment 9133083 [details]
Bug 1621503 - Notify the extension system when GeckoView has started. r=#geckoview-reviewers
Beta/Release Uplift Approval Request
- User impact if declined: Ublock could end up in a broken state after updating.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: No
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: See https://bugzilla.mozilla.org/show_bug.cgi?id=1621503#c9
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Only sends a message to kickstart extension loading.
- String changes made/needed:
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 11•5 years ago
|
||
Hi! I could reproduce this issue on a Nightly migration build from 3/8 with Pixel 2 (Android 9).
On the latest Nightly build 200317 GV 76 from 3/17, this issue is not reproducible with Pixel 2 (Android 9), following the steps from Comment 9.
Due to my findings, I will move this to Verified. Thanks!
Comment 12•5 years ago
|
||
Comment on attachment 9133083 [details]
Bug 1621503 - Notify the extension system when GeckoView has started. r=#geckoview-reviewers
fix an issue with extension update on geckoview, approved for 75.0b5
Updated•5 years ago
|
Updated•5 years ago
|
Comment 13•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Comment 15•5 years ago
•
|
||
Hi! I could reproduce this issue on a Beta migration 74.0.0-beta.3 GV 74 from 3/4 with Pixel 2 (Android 9).
On the latest Beta build 75.0.0-beta.2 GV 75 from 3/25, this issue is not reproducible with Pixel 2 (Android 9), following the steps from Comment 9.
Due to my findings, I will move this to Verified. Thanks!
Description
•