From 5dde5ae8930964a1734d64148ecf710d1d3e4086 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Thu, 2 Apr 2026 12:49:19 -0700 Subject: [PATCH] fix: add type annotations for network address functions - Add parseInt with empty string fallback for undefined env vars - getIpAddress returns string | undefined when no addresses available - Add type guard filters for network interface arrays --- server/src/ip.ts | 3 ++- server/src/server-settings.ts | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/server/src/ip.ts b/server/src/ip.ts index d5687dc73..f0c59c24e 100644 --- a/server/src/ip.ts +++ b/server/src/ip.ts @@ -70,6 +70,7 @@ export function getUsableNetworkAddresses() { const getUsable = (family: string | number) => { const usable = Object.values(nis) .flat() + .filter((details): details is os.NetworkInterfaceInfo => !!details) .filter((details) => details.family === family) .filter(details => isUsableNetworkAddress(details.address)); return usable; @@ -84,7 +85,7 @@ export function getUsableNetworkAddresses() { const fixedAddresses = ipv6.filter(details => details.address.includes('::')); const fixedRanges = fixedAddresses.map(details => { const block = new net.BlockList(); - const cidr = parseInt(details.address.split('/')[1]) || 1; + const cidr = parseInt(details.address.split('/')[1] ?? '') || 1; block.addSubnet(details.address, cidr, 'ipv6'); return block; }); diff --git a/server/src/server-settings.ts b/server/src/server-settings.ts index acb0b5cca..7d1e1adf0 100644 --- a/server/src/server-settings.ts +++ b/server/src/server-settings.ts @@ -1,10 +1,10 @@ import { getUsableNetworkAddresses } from './ip'; -export const SCRYPTED_INSECURE_PORT = parseInt(process.env.SCRYPTED_INSECURE_PORT) || 11080; -export const SCRYPTED_SECURE_PORT = parseInt(process.env.SCRYPTED_SECURE_PORT) || 10443; -export const SCRYPTED_DEBUG_PORT = parseInt(process.env.SCRYPTED_DEBUG_PORT) || 10081; -export const SCRYPTED_CLUSTER_WORKERS = parseInt(process.env.SCRYPTED_CLUSTER_WORKERS) || 32; +export const SCRYPTED_INSECURE_PORT = parseInt(process.env.SCRYPTED_INSECURE_PORT ?? '') || 11080; +export const SCRYPTED_SECURE_PORT = parseInt(process.env.SCRYPTED_SECURE_PORT ?? '') || 10443; +export const SCRYPTED_DEBUG_PORT = parseInt(process.env.SCRYPTED_DEBUG_PORT ?? '') || 10081; +export const SCRYPTED_CLUSTER_WORKERS = parseInt(process.env.SCRYPTED_CLUSTER_WORKERS ?? '') || 32; -export function getIpAddress(): string { +export function getIpAddress(): string | undefined { return getUsableNetworkAddresses()[0]; }