From 7f29cf23847a0a494974a253b7a882cd54905d31 Mon Sep 17 00:00:00 2001 From: LTbinglingfeng Date: Thu, 28 May 2026 00:41:54 +0800 Subject: [PATCH] refactor(transformers): tighten normalizeBoolean to accept real booleans only All bool-tagged config fields on the backend are Go bools and serialize as JSON true/false (e.g. Debug, RequestLog, WebsocketAuth, Disabled, Websockets, ForceModelPrefix). normalizeBoolean is only called against those response paths, so the number / string / Boolean(value) fallbacks never fire. --- src/services/api/transformers.ts | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/services/api/transformers.ts b/src/services/api/transformers.ts index 3ea17ba..c7203a3 100644 --- a/src/services/api/transformers.ts +++ b/src/services/api/transformers.ts @@ -15,17 +15,8 @@ import { buildHeaderObject } from '@/utils/headers'; const isRecord = (value: unknown): value is Record => value !== null && typeof value === 'object' && !Array.isArray(value); -const normalizeBoolean = (value: unknown): boolean | undefined => { - if (value === undefined || value === null) return undefined; - if (typeof value === 'boolean') return value; - if (typeof value === 'number') return value !== 0; - if (typeof value === 'string') { - const trimmed = value.trim().toLowerCase(); - if (['true', '1', 'yes', 'y', 'on'].includes(trimmed)) return true; - if (['false', '0', 'no', 'n', 'off'].includes(trimmed)) return false; - } - return Boolean(value); -}; +const normalizeBoolean = (value: unknown): boolean | undefined => + typeof value === 'boolean' ? value : undefined; const normalizeModelAliases = (models: unknown): ModelAlias[] => { if (!Array.isArray(models)) return [];