Private new tab missing text with developer tools enabled
Categories
(Firefox :: Messaging System, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox111 | --- | unaffected |
firefox112 | --- | unaffected |
firefox113 | --- | verified |
firefox114 | --- | verified |
People
(Reporter: ke5trel, Assigned: aminomancer)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(2 files)
STR:
- Set
browser.newtabpage.activity-stream.asrouter.devtoolsEnabled = true
. - Restart browser.
- Open a new private window.
Private browsing info box is missing text and error appears in console:
NotFoundError: WindowGlobalParent.getActor: No such JSWindowActor 'FormAutofill' 3 ASRouterTargeting.jsm:856
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=9beb0c7925afd8d72836dd2ae5b8ca9193ec9ab6&tochange=be4ae540a6d573c2b54644fc93ada9bcff0dd737
Regressed by Bug 1822893.
Comment 1•2 years ago
|
||
:aminomancer, since you are the author of the regressor, bug 1822893, could you take a look? Also, could you set the severity field?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 2•2 years ago
•
|
||
Seems like STR requires form autofill to not be supported. I was able to reproduce by disabling form autofill credit cards with extensions.formautofill.creditCards.supported
= off
. Form autofill is disabled in some regions. I think calling getActor
on an unregistered actor throws, doesn't merely return null. So these targeting attributes throw in form autofill-unsupported regions in spite of the optional chaining operator.
We might want to consider the alternative of importing the storage object directly. I like that a lot better than using the actor, which is more finnicky. But the actor is where the logic for interpreting the storage into credit cards/addresses is, so we'd have to reimplement that in our targeting getter. And importing the storage means a lot of additional imports that may otherwise happen later, slowing down startup. Other code across Firefox mostly uses the actor - the only imports I could find outside of form autofill code were for actions that could not use the actor because it doesn't support a sync-related parameter. I will bring this up in one of our meetings or something.
Edit: I'm working on a patch to land asap. Thanks for taking the time to report, Kestrel. If you have a moment to check something, it would be good to confirm that it's the region support issue causing the actor to throw. Can you try setting the following prefs in about:config and restarting to see if the bug still happens? It shouldn't have any permanent effect once you set them back:
extensions.formautofill.creditCards.supported = "on"
extensions.formautofill.creditCards.enabled = true
extensions.formautofill.addresses.supported = "on"
extensions.formautofill.addresses.enabled = true
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
The new form autofill targeting attributes use an actor that may not be
registered in regions where neither credit card nor address autofill is
supported. In that case, the actor never gets registered, and requesting
an unrecognized JSActor throws an exception, which causes JEXL
evaluation to fail, ultimately causing message requests to fail. The
simplest fix is to just catch the exception and report 0 for targeting.
Using an actor externally isn't ideal, but in this case it's
conventional and the alternative - importing the storage object - isn't
great either.
Assignee | ||
Comment 4•2 years ago
|
||
Also, note to self to request QA for unsupported regions after this lands. We should make sure both the targeting and trigger behave as expected (basically as no-ops) in regions where one of credit cards or addresses is unsupported, as well as in regions where both are unsupported (causing the actor to not be registered).
Updated•2 years ago
|
Comment 6•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Reproducible on a 2023-04-03 Nightly build on Windows 10.
Verified as fixed on Firefox 113.0b3(build ID: 20230412155147) and Nightly 114.0a1(build ID: 20230413035039) on Windows 10, Ubuntu 22, macOS 12.
Description
•