[Bug]: request.signal.aborted older browsers compatibility
Closes #11907
Added optional chaining operator (?.) when checking for signal.aborted because it throws an error in older browsers.
⚠️ No Changeset found
Latest commit: 2fa57421bea13067ddaee26e186a17d3b847e126
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Any chance of merging this as soon as possible? This issue is directly affecting a cordova app I have. Just to give more context, the cordova app loads a micro frontend application that has your own router. In this case, it's using the react router (latest version). However testing in iOS it's occurring this issue and the changes applied by this PR solve the issue.
Thanks in advance.
@felipeloge An easy workaround is to add Request.prototype.signal = {} somewhere globally in your app as a "polyfill" of sorts.
The request signal is core to the routers capability to handle interruptions and cancellations so I think making that check defensive would cause more problems than it would fix. It looks like this should be present back through iOS 12.2: https://caniuse.com/mdn-api_request_signal.