diff --git a/src/renderer/api/navidrome/navidrome-api.ts b/src/renderer/api/navidrome/navidrome-api.ts index 2e23fb91..455de0f0 100644 --- a/src/renderer/api/navidrome/navidrome-api.ts +++ b/src/renderer/api/navidrome/navidrome-api.ts @@ -205,7 +205,21 @@ const parsePath = (fullPath: string) => { const [path, params] = fullPath.split('?'); const parsedParams = qs.parse(params); - const notNilParams = omitBy(parsedParams, (value) => value === 'undefined' || value === 'null'); + + // Convert indexed object to array + const newParams: Record = {}; + Object.keys(parsedParams).forEach((key) => { + const isIndexedArrayObject = + typeof parsedParams[key] === 'object' && Object.keys(parsedParams[key] || {}).includes('0'); + + if (!isIndexedArrayObject) { + newParams[key] = parsedParams[key]; + } else { + newParams[key] = Object.values(parsedParams[key] || {}); + } + }); + + const notNilParams = omitBy(newParams, (value) => value === 'undefined' || value === 'null'); return { params: notNilParams,