Remove all references to webkitAudioContext. NFC - #27444
Conversation
|
I asked Gemini: Explain the confusion between Safari 14.1 and 14.5: The ConfusionApple caused confusion by mixing browser and OS numbers.
The Mix-up
Why It Mattered
Are you looking for a specific feature or a bug fix from this version? |
1c1fbd0 to
6e5919c
Compare
|
Hmm, but iOS version is how versions are reported for Mobile Safari? That is, caniuse and other websites do refer to a 14.5 browser on iOS. Shouldn't we use the same version numbers as them? E.g. |
|
But iOS 14.5 run Safari 14.1, effectively: https://firt.dev/ios-14.5/ : "iOS 14.5 brings the new Safari 14.1 to PWAs and the Web Platform". Basically, by saying the we don't support browser older that safari 14.1 (which we already say in out feature_matrix.py) we are effectively already saying we don't support iOS prior to 14.5, I believe. |
|
Note: Safari 14.1 and iOS 14.5 have the same release date, so the cutoff is the same. |
|
Apparently the UserAgent string for iOS safari looks like this: Note that the Safari version is shown in the I'm fairly sure that iOS 14.5 will report emscripten/src/minimum_runtime_check.js Line 45 in c407b75 |
|
Here is report of the exact UserAgent string used in iOS 14.5: AzureAD/microsoft-authentication-library-for-objc#1409 (comment) Prior to iOS 14.5 the safari version was lower the 14.1, so we already do not support iOS older that 14.5, at least not since #26677. |
6e5919c to
fed89f8
Compare
We were only keeping this code around to support older safari versions. However the oldest safari version we currently support is 14.1, which is the first release to support the modern AudioContext object. There is some confusion only about Safari 14.1 was release as part of iOS 14.5. As far as I can tell Safari 14.1 is the version we should be caring about for AudioContext. See https://webkit.org/blog/11648/new-webkit-features-in-safari-14-1/
fed89f8 to
8ba7f51
Compare
Seems reasonable, yes, but what do you think about my point about caniuse? My thinking is that the version numbers people use in practice are likely coming from there. That is, a developer checks on caniuse and sees version X seems right, and they insert that as the version number in emscripten. So us following caniuse, rather than the technically-more-correct internal WebKit version, seems safer to me? |
I'm not quire sure what you are proposing a solution though. Right now we have MIN_SAFARI_VERSION that corresponds the the Safari / Webkit version and not the iOS version. It corresponds the Verion/XXX reported by the user-agent. Should we create a new MIN_IOS_VERSION (which would currently have a minimum of 14.5 to match the current MIN_SAFARI_VERSION)? |
|
In any case the status quo in emscripten does not match what what you are saying. If I say This PR is just a continuation of the status quo IIUC. What you are suggesting (using iOS version numbers) would be a departure I think,. |
kripken
left a comment
There was a problem hiding this comment.
Ok, fair enough. I worry slightly that users could get confused by this (if all they know is caniuse), but these are versions from 5 years ago so maybe the risk is low. And the precise definition of the terms is as you say.
We were only keeping this code around to support older safari versions. However the oldest safari version we currently support is 14.1, which is the first release to support the modern AudioContext object.
There is some confusion only about Safari 14.1 was release as part of iOS 14.5. As far as I can tell Safari 14.1 is the version we should be caring about for AudioContext.
See https://webkit.org/blog/11648/new-webkit-features-in-safari-14-1/