Closed Bug 1915589 Opened 1 year ago Closed 10 months ago

fanczs.com - The page does not load

Categories

(Core :: DOM: Performance APIs, defect, P3)

Firefox 129
Desktop
Windows 10
defect

Tracking

()

RESOLVED FIXED
136 Branch
Tracking Status
firefox-esr128 --- fixed
firefox129 --- wontfix
firefox131 --- wontfix
firefox134 --- wontfix
firefox135 --- fixed
firefox136 --- fixed

People

(Reporter: rbucata, Assigned: hiro)

References

()

Details

(Keywords: webcompat:needs-diagnosis, webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:product], [wptsync upstream])

User Story

platform:windows,mac,linux,android
impact:site-broken
configuration:general
affects:all
branch:release
diagnosis-team:performance

Attachments

(2 files)

Environment:
Operating system: Windows 10
Firefox version: Firefox 129.0.1 (release)

Preconditions:

  • Clean profile

Steps to reproduce:

  1. Navigate to: https://mmo.fanczs.com/scs/home
  2. Observe

Expected Behavior:
The page loads

Actual Behavior:
Blank page

Notes:

  • Reproducible on the latest Firefox Release and Nightly
  • Reproducible regardless of the ETP setting
  • Works as expected using Chrome

Created from webcompat-user-report:f724d713-6718-462b-93a4-c4a59009b746

Severity: -- → S2
User Story: (updated)
Priority: -- → P3

Seeing this error in the console:

Uncaught TypeError: PerformanceObserver.observe: Can't call observe with both `type` and `entryTypes`
User Story: (updated)

The call to observe looks like: .observe({entryTypes:["resource"],buffered:!0} which the spec says should throw a TypeError. https://w3c.github.io/performance-timeline/#observe-method

We should check if Chrome throws an exception in this case.

Attached file Reduced test case

Chrome and Safari both don't throw on this test case. We should either update the spec and implementation or get Chrome and Safari to fix theirs.

Hiro, thoughts on what we should do here?

Flags: needinfo?(hikezoe.birchill)

The buffered argument was added after I implemented the initial v1 spec, so I didn't know about it at all, thus I learned the background.

From what I can tell is the best thing we can do here is to reach out the web site author and ask to stop calling observe() both with entryTypes and buffered.

There's a chromium bug that they have been struggling to change their behavior to throw an exception. It looks to me they've waited for a state where the incorrect usage drops, I am not sure what the threshold of the usage percentage is.

CCing npm@chromium who wrote the spec change for the buffered support.

Flags: needinfo?(hikezoe.birchill)
Flags: needinfo?(npm)

Redirect a needinfo that is pending on an inactive user to the triage owner.
:twisniewski, since the bug has high severity, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(npm) → needinfo?(twisniewski)

Noam from Chromium here. The usage is still at ~0.12%. I think the easiest path forward here would be to change the spec.

(In reply to Noam Rosenthal from comment #7)

Noam from Chromium here. The usage is still at ~0.12%. I think the easiest path forward here would be to change the spec.

Sorry, apparently it's on the interop list, will see where that goes.

Hiro, it doesn't sound like Chrome is very likely to change behaviour soon. Can we align our behaviour with Chrome for now and sort things out later as needed.

Flags: needinfo?(twisniewski) → needinfo?(hikezoe.birchill)

I personally think we can. But I'd like to defer the decision to DOM team since I am not sure what the final judge of the interop issue was made.

Hsin-Yi?

Flags: needinfo?(hikezoe.birchill) → needinfo?(htsai)

(In reply to Hiroyuki Ikezoe (:hiro) from comment #10)

I personally think we can. But I'd like to defer the decision to DOM team since I am not sure what the final judge of the interop issue was made.

Hsin-Yi?

Sorry for another NI bounce, as I wasn't involved in the interop issue discussion and I think James may know better given he created that GH issue.

Flags: needinfo?(htsai) → needinfo?(james)

If we think we need to change behaviours we should do that and not worry about implications for Interop. In practice if that issue is accepted in Interop, and we think the spec as written is not web compatible, that would cover the work needed to align the spec and tests on the defacto required behaviour.

Flags: needinfo?(james)

Thank you James. Your comment cleared our my concerns. I am going to post a patch with a (tentative) web-platform test. Thanks!

Assignee: nobody → hikezoe.birchill
Status: NEW → ASSIGNED
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fb9d78b72655 Allow co-existing entrypTypes and buffered options in PerformanceObserver.observe() method. r=sefeng
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/50003 for changes under testing/web-platform/tests
Whiteboard: [webcompat-source:product] → [webcompat-source:product], [wptsync upstream]
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Upstream PR merged by moz-wptsync-bot
Component: Site Reports → DOM: Performance APIs
Product: Web Compatibility → Core
Target Milestone: --- → 136 Branch
Flags: in-testsuite+

I moved this over to the DOM: Performance component since that's where the fix ended up landing, but NI Honza to make sure it gets counted in our webcompat fix metrics.

Flags: needinfo?(odvarko)

Oops, I am sorry for confusing. I innocently used this bug to fix the issue without opening a new platform bug. :/

The patch landed in nightly and beta is affected.
:hiro, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox135 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(hikezoe.birchill)

Comment on attachment 9446172 [details]
Bug 1915589 - Allow co-existing entrypTypes and buffered options in PerformanceObserver.observe() method. r?sefeng

Beta/Release Uplift Approval Request

  • User impact if declined/Reason for urgency: Some kind of sites are not able to be used at all
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's a one liner change to drop a check whether buffered option is specified, very simple straight forward. It is what other browsers do.
  • String changes made/needed: none
  • Is Android affected?: Yes
Flags: needinfo?(hikezoe.birchill)
Attachment #9446172 - Flags: approval-mozilla-beta?

Comment on attachment 9446172 [details]
Bug 1915589 - Allow co-existing entrypTypes and buffered options in PerformanceObserver.observe() method. r?sefeng

Approved for 135.0b5.

Attachment #9446172 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: needinfo?(odvarko)
Attachment #9446172 - Flags: approval-mozilla-esr128?

Comment on attachment 9446172 [details]
Bug 1915589 - Allow co-existing entrypTypes and buffered options in PerformanceObserver.observe() method. r?sefeng

Approved for 128.7esr.

Attachment #9446172 - Flags: approval-mozilla-esr128? → approval-mozilla-esr128+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: