diff --git a/packages/common/misc/browser-check.js b/packages/common/misc/browser-check.js index 171e1044a137687e38ba8dac928f2f1c02af084a..8bd4abc1aeaec56f6ee09a29c1592911f2bb7335 100644 --- a/packages/common/misc/browser-check.js +++ b/packages/common/misc/browser-check.js @@ -74,6 +74,13 @@ function supportsEval() { return true; } +// https://caniuse.com/abortcontroller +function supportsAbortController() { + // AbortController in older Safari is broken, so check for the signal property + // as well. + return (!!window.AbortController && Request.prototype.hasOwnProperty('signal')); +} + function isBrowserSupported() { if (!supportsEval()) { console.log("Eval support disabled, skipping browser feature detection."); @@ -110,6 +117,11 @@ function isBrowserSupported() { return false; } + if (!supportsAbortController()) { + console.log("AbortController not supported"); + return false; + } + return true; }