Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance web API implementation crashing Safari 12/iOS 14/Android 9/Firefox 102 and earlier #54389

Closed
1 task done
MaoSHYJ opened this issue Aug 22, 2023 · 7 comments · Fixed by #54808
Closed
1 task done
Labels
bug Issue was opened via the bug report template. locked

Comments

@MaoSHYJ
Copy link

MaoSHYJ commented Aug 22, 2023

Verify canary release

  • I verified that the issue exists in the latest Next.js canary release

Provide environment information

Operating System:
      Platform: darwin
      Arch: arm64
      Version: Darwin Kernel Version 22.5.0: Thu Jun  8 22:22:19 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8103
    Binaries:
      Node: 20.4.0
      npm: 7.24.2
      Yarn: 1.22.19
      pnpm: 8.6.12
    Relevant Packages:
      next: 13.4.19
      eslint-config-next: N/A
      react: 18.2.0
      react-dom: 18.2.0
      typescript: 4.5.5
    Next.js Config:
      output: standalone

Which area(s) of Next.js are affected? (leave empty if unsure)

No response

Link to the code that reproduces this issue or a replay of the bug

https://github.com/vercel/next.js/tree/v13.4.17

To Reproduce

Any project that is in at least v13.4.17 on safari 12 will crash

Describe the Bug

On https://github.com/vercel/next.js/blob/v13.4.17/packages/next/src/client/index.tsx#L457
You can see that it is using PerformanceMeasure return interface, which is not implemented on Safari 12

Expected Behavior

To not crash on Safari 12

Which browser are you using? (if relevant)

Safari 12.1.2

How are you deploying your application? (if relevant)

No response

@MaoSHYJ MaoSHYJ added the bug Issue was opened via the bug report template. label Aug 22, 2023
@apuyou
Copy link
Contributor

apuyou commented Aug 22, 2023

I am facing the same issue, the error collected by Sentry is undefined is not an object (evaluating 'e.startTime') and happens on older devices only (iOS 14/Android 9 and earlier).

This started in 13.4.17 and seems related to #54078

@MaoSHYJ MaoSHYJ changed the title Performance web API implementation crashing Safari 12 Performance web API implementation crashing Safari 12/iOS 14/Android 9 and earlier Aug 22, 2023
@WavyWalk
Copy link

We faced the same issue after updating to 13.4.17.

For us update broke Firefox ~102 and other mentioned browsers in production as well.

@tavvy
Copy link

tavvy commented Aug 23, 2023

Same issues here. Older iOS devices. We've downgraded to 13.4.16

@MaoSHYJ MaoSHYJ changed the title Performance web API implementation crashing Safari 12/iOS 14/Android 9 and earlier Performance web API implementation crashing Safari 12/iOS 14/Android 9/Firefox 102 and earlier Aug 23, 2023
@galaxynova1999
Copy link

same here for ios12.6 devices

error msg: TypeError: undefined is not an object (evaluating 'beforeHydrationMeasure.startTime')

@leeDav
Copy link

leeDav commented Aug 25, 2023

Is there any update/recognition of this from the Next.js team?

This should not have been a minor version bump but a major/breaking change, especially given Next's own supported browser list still cites Safari 12 and up.

Until this is resolved we're stuck on 13.4.16.

@pbs-jmo
Copy link

pbs-jmo commented Aug 30, 2023

Also seeing this issue after upgrading from 13.4.16 to newer versions. It's a bit disconcerting since as others have mentioned, Safari 12 is an officially supported browser, and this entirely breaks next.js websites running on that browser.

wbinnssmith added a commit that referenced this issue Aug 31, 2023
…ements

Fixes #54389.

Old versions of Safari appear to return `undefined` from `performance.measure()` instead of `PerformanceMeasure` values.
@kodiakhq kodiakhq bot closed this as completed in #54808 Aug 31, 2023
kodiakhq bot pushed a commit that referenced this issue Aug 31, 2023
…ements (#54808)

Fixes #54389.

Old versions of Safari appear to return `undefined` from `performance.measure()` instead of `PerformanceMeasure` values.


Closes WEB-1477
@github-actions
Copy link
Contributor

This closed issue has been automatically locked because it had no new activity for 2 weeks. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue was opened via the bug report template. locked
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants