  
  						if (!isDomainOrSubdomain(request.url, locationURL)) {
 diff --git a/node_modules/node-fetch/lib/index.mjs b/node_modules/node-fetch/lib/index.mjs
-index 49ee05e..bc639aa 100644
+index 49ee05e..ec12540 100644
 --- a/node_modules/node-fetch/lib/index.mjs
 +++ b/node_modules/node-fetch/lib/index.mjs
 @@ -1251,6 +1251,9 @@ class Request {

 }
 
 /**
@@ -1556,7 +1559,8 @@ function fetch(url, opts) {
 							body: request.body,
 							signal: request.signal,
 							timeout: request.timeout,

 }
 
 /**
@@ -1404,11 +1407,20 @@ const URL$1 = Url.URL || whatwgUrl.URL;
 // fix an issue where "PassThrough", "resolve" aren't a named export for node <10
 const PassThrough$1 = Stream.PassThrough;
 
+function isSignalVoipUrl(hostname) {
+	return hostname.endsWith('.voip.signal.org');
+}
+
 const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {
 	const orig = new URL$1(original).hostname;
 	const dest = new URL$1(destination).hostname;
 
-	return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);
+	return (
+		orig === dest ||
+		(orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest)) ||
+		// An additional check to keep Authorization for Signal's voip URLs.
+		(isSignalVoipUrl(orig) && isSignalVoipUrl(dest))
+	);
 };
 
 /**
@@ -1554,7 +1566,8 @@ function fetch(url, opts) {
 							body: request.body,
 							signal: request.signal,
 							timeout: request.timeout,
