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;
 }