diff --git a/applications/docs-editor/src/app/Utils/sanitizeUrl.ts b/applications/docs-editor/src/app/Utils/sanitizeUrl.ts index 0f69c453ce0..d6a5148237e 100644 --- a/applications/docs-editor/src/app/Utils/sanitizeUrl.ts +++ b/applications/docs-editor/src/app/Utils/sanitizeUrl.ts @@ -3,6 +3,10 @@ export const sanitizeUrl = (url: string): string | undefined => { return undefined } + if (url.toLowerCase().startsWith('hxxps')) { + return url; + } + let parsedUrl: URL try { parsedUrl = new URL(url) diff --git a/applications/mail/src/app/helpers/transforms/transformLinks.ts b/applications/mail/src/app/helpers/transforms/transformLinks.ts index f94777f9cb3..a19b9f759dc 100644 --- a/applications/mail/src/app/helpers/transforms/transformLinks.ts +++ b/applications/mail/src/app/helpers/transforms/transformLinks.ts @@ -51,7 +51,7 @@ const sanitizeRelativeHttpLinks = (link: HTMLLinkElement) => { // link.href is the absolute value of the link: mail.proton.me is prepended, use getAttribute const url = link.getAttribute('href'); - if (url) { + if (url && !url.toLowerCase().startsWith('hxxps')) { link.setAttribute('href', `http://${url}`); } } diff --git a/packages/shared/lib/helpers/url.ts b/packages/shared/lib/helpers/url.ts index a2e44c87db0..6aecd81a8dd 100644 --- a/packages/shared/lib/helpers/url.ts +++ b/packages/shared/lib/helpers/url.ts @@ -229,6 +229,9 @@ export const getApiSubdomainUrl = (pathname: string, origin: string) => { }; export const getAppUrlFromApiUrl = (apiUrl: string, appName: APP_NAMES) => { + if (apiUrl.toLowerCase().startsWith('hxxps')) { + return new URL(apiUrl); + } const { subdomain } = APPS_CONFIGURATION[appName]; const url = new URL(apiUrl); const { hostname } = url;