From 486b467af2906801d0171ee767722cbae7b26aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Xavier=20Talbot?= <108630700+fetchfern@users.noreply.github.com> Date: Wed, 17 Jun 2026 18:54:09 -0400 Subject: [PATCH] cont: fix(frontend): dont assume wss for panel pingtest as well (#6421) * fix(frontend): dont assume wss for panel pingtest as well * fix(frontend): wss assumptions * chore: fix export * chore: prettier --- packages/api-client/src/index.ts | 1 + packages/api-client/src/utils/node-url.ts | 8 +++++++- .../ui/src/layouts/wrapped/hosting/manage/root.vue | 14 ++++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/api-client/src/index.ts b/packages/api-client/src/index.ts index e675904fc..091c1a05c 100644 --- a/packages/api-client/src/index.ts +++ b/packages/api-client/src/index.ts @@ -43,6 +43,7 @@ export { XHRUploadClient } from './platform/xhr-upload-client' export { clearNodeAuthState, nodeAuthState, setNodeAuthState } from './state/node-auth' export * from './types' export { withJWTRetry } from './utils/jwt-retry' +export { getNodeWebSocketUrl } from './utils/node-url' export { type ParsedSseEvent, type ParsedSseItem, diff --git a/packages/api-client/src/utils/node-url.ts b/packages/api-client/src/utils/node-url.ts index 834250e4a..2bea1274b 100644 --- a/packages/api-client/src/utils/node-url.ts +++ b/packages/api-client/src/utils/node-url.ts @@ -1,6 +1,8 @@ const NODE_FS_PATH_REGEX = /\/modrinth\/v\d+\/fs\/?$/ const HTTP_SCHEME_REGEX = /^https?:\/\//i const WS_SCHEME_REGEX = /^wss?:\/\//i +const HTTP_SECURE_SCHEME_REGEX = /^https:\/\//i +const HTTP_INSECURE_SCHEME_REGEX = /^http:\/\//i export function getNodeBaseUrl(url: string): string { const baseUrl = url.replace(NODE_FS_PATH_REGEX, '') @@ -8,5 +10,9 @@ export function getNodeBaseUrl(url: string): string { } export function getNodeWebSocketUrl(url: string): string { - return WS_SCHEME_REGEX.test(url) ? url : `wss://${url}` + if (WS_SCHEME_REGEX.test(url)) return url + if (HTTP_SECURE_SCHEME_REGEX.test(url)) return url.replace(HTTP_SECURE_SCHEME_REGEX, 'wss://') + if (HTTP_INSECURE_SCHEME_REGEX.test(url)) return url.replace(HTTP_INSECURE_SCHEME_REGEX, 'ws://') + + return `wss://${url}` } diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/root.vue b/packages/ui/src/layouts/wrapped/hosting/manage/root.vue index 281d2f90e..92f908ea6 100644 --- a/packages/ui/src/layouts/wrapped/hosting/manage/root.vue +++ b/packages/ui/src/layouts/wrapped/hosting/manage/root.vue @@ -344,7 +344,7 @@