Pixiv doesn't load on 103.0a1 (2022-06-11)
Categories
(Web Compatibility :: Site Reports, defect)
Tracking
(firefox-esr91 unaffected, firefox-esr102 unaffected, firefox101 unaffected, firefox102 unaffected, firefox103 ?)
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox-esr102 | --- | unaffected |
firefox101 | --- | unaffected |
firefox102 | --- | unaffected |
firefox103 | --- | ? |
People
(Reporter: hikaph+mozilla, Unassigned)
References
(Regression)
Details
(Keywords: regression, webcompat:needs-contact)
Steps to reproduce:
- I opened pixiv.net.
I also repeated this by
- opening in both private mode and in stable channel (100.0.2 for Fedora).
- clearing cookies and site data.
By clearing cookies and site data, I could see and interact with the Pixiv login prompt normally. However, upon attempting to complete sign-in, I'm back to the blank white page.
Actual results:
- The page finished loading but didn't render — it manifested as a blank white page.
Expected results:
- I expected the page to load.
Reporter | ||
Comment 1•2 years ago
|
||
mozregression
suggests this change is the culprit. I have zero context here and am happy to rerun mozregression
if this looks spurious.
Comment 2•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 3•2 years ago
|
||
I can reproduce the issue in Nightly103.0a1 Windows10.
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=0caaf8ce42dbe6723c64270dd0d5364fca731979&tochange=cf9ea7c98e76650942e52b3463a0c58b90a759d0
Regressed by Bug 1772901.
And I confirmed that setting extensions.InstallTriggerImpl.enabled to true fixes the issue.
Comment 4•2 years ago
|
||
:rpl, since you are the author of the regressor, bug 1772901, could you take a look?
For more information, please visit auto_nag documentation.
Comment 5•2 years ago
|
||
Web Console had this message:
Uncaught TypeError: can't access property "enabled", InstallTrigger is null
104 https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:82
r https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:8
519 https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:6689
519 https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:6691
r https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:8
1327 https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:752
r https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:8
1228 https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:612
r https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:8
a https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:5
d https://s.pximg.net/www/js/build/runtime.cf99f34e6a53012c7095.js:4
<anonymous> https://s.pximg.net/www/js/build/spa.3d21ab9ac4502b5d5587.js:1
spa.3d21ab9ac4502b5d5587.js:82:360
With extensions.InstallTriggerImpl.enabled
false, InstallTrigger
is null
. So pages will throw if it tries to acess InstallTrigger.enabled
.
Comment 6•2 years ago
|
||
Thanks Masathosi,
this is clearly a UserAgent detection use case, and pivix.net is apparently using a variant of the common typeof InstallTrigger !== "undefined"
pattern, which is unfortunately also checking one of the InstallTrigger properly and in particular it does that without taking into account that InstallTrigger
may be of type "object" also when it is null
:
The minified code of that check looks like:
"object" === ("undefined" == typeof InstallTrigger ? "undefined" : Object(o.a)(InstallTrigger) ) && "function" == typeof InstallTrigger.enabled
That Object(o.a)(InstallTrigger)
seems to be basically doing a typeof InstallTrigger
:
function r(e){ return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}
Adn so in the end the check is basically doing:
"object" === typeof InstallTrigger && "function" == typeof InstallTrigger.enabled
When InstallTrigger is null
, then typeof InstallTrigger
is "object" and pass the first half of the &&
and then InstallTrigger.enabled
is going to throw.
Comment 7•2 years ago
|
||
Hi Dennis,
This is clearly another version of the InstallTrigger UserAgent detection use case, unfortunately one that fails even with just "extensions.InstallTriggerImpl.enabled" set to false (Bug 1772901, which landed in Nightly 103 and would be riding the release train with the pref set unconditionally to false
on all channels).
I'm needinfo-ing you to highlight this case for the WebCompat team, so that we can touch base explicitly about this asap and agree how we prefer to handle this kind of cases (e.g. if we should land a patch to followup on the value set on the pref from Bug 1772901 during this nightly cycle, or if we prefer to start to prepare webcompat interventions based on the cases we are getting more precise details about).
Comment 8•2 years ago
|
||
Thanks. I'll build and ship an intervention soon, filed bug 1774006 for that. I'll try to get this landed within a few days, and we can follow up with more things during the cycle.
Comment 9•2 years ago
|
||
Dennis, do you want to keep this bug open to reach out to the author? It doesn't seem like it should stay in General and the shim bug is on file for the actionable component on our own.
Comment 10•2 years ago
|
||
(In reply to Mark Striemer [:mstriemer] from comment #9)
Dennis, do you want to keep this bug open to reach out to the author?
That was my intention - yeah. Thanks for moving this into the WebCompat component, that is the right place for this bug!
Reporter | ||
Comment 11•2 years ago
|
||
Odd — I've just noticed Pixiv working again in 103.0a1 (2022-06-15)
. Happy to close this if that's expected at this time.
Comment 12•2 years ago
•
|
||
Bug 1772905 fixed the issue on Nightly (and probably on early beta). Now typeof InstallTrigger
returns "undefined"
.
But when Firefox late beta/release reaches to 103, pixiv will break again. We should still ship the shim and test it with extensions.InstallTrigger.enabled=true
and extensions.InstallTriggerImpl.enabled=false
.
Comment 14•2 years ago
|
||
We're shipping a shim in today's nightly, and that will ride the train. Regardless of what happens with the InstallTrigger prefs, InstallTrigger will always be a string for pixiv. In my tests, this should be a reliable solution until they addressed the issue on their end.
If the site has an issue again, we can re-visit and uplift another fix during Beta, but this should suffice for now. :)
Comment 15•2 years ago
|
||
Set release status flags based on info from the regressing bug 1772901
Comment 16•2 years ago
|
||
Should be set to fixed in Firefox 103 since this was fixed by bug 1774006.
Description
•