From 9b2b54d5850a52db83a53f80ab21ef0fefffc0ca Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sat, 10 May 2025 12:18:20 -0600 Subject: [PATCH] fix osUpdate check and address parser for Tor without protocol (#2941) --- .../routes/portal/components/interfaces/interface.utils.ts | 6 ++++-- web/projects/ui/src/app/services/os.service.ts | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts index 4e2ebc1e8..7d366df10 100644 --- a/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts +++ b/web/projects/ui/src/app/routes/portal/components/interfaces/interface.utils.ts @@ -56,7 +56,9 @@ export function getAddresses( addresses.forEach(url => { if (h.kind === 'onion') { tor.push({ - protocol: new URL(url).protocol.replace(':', '').toUpperCase(), + protocol: /^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(url) + ? new URL(url).protocol.replace(':', '').toUpperCase() + : null, url, }) } else { @@ -128,5 +130,5 @@ export type LocalAddress = { export type TorAddress = { url: string - protocol: string + protocol: string | null } diff --git a/web/projects/ui/src/app/services/os.service.ts b/web/projects/ui/src/app/services/os.service.ts index 5e29d53c2..422ce1643 100644 --- a/web/projects/ui/src/app/services/os.service.ts +++ b/web/projects/ui/src/app/services/os.service.ts @@ -54,10 +54,12 @@ export class OSService { serverId: id, }) - const [latest, _] = Object.entries(this.osUpdate).at(-1)! + const latest = Object.entries(this.osUpdate).at(-1)?.[0] this.updateAvailable$.next( - Version.parse(latest).compare(Version.parse(version)) === 'greater', + latest + ? Version.parse(latest).compare(Version.parse(version)) === 'greater' + : false, ) } }