From cfafeecda3591c342d5f2aeb756fde4adc536024 Mon Sep 17 00:00:00 2001 From: Viren070 Date: Fri, 20 Jun 2025 20:07:38 +0100 Subject: [PATCH] fix: simplify and fix configuration generation for services and providers in TorrentioPreset --- packages/core/src/presets/torrentio.ts | 29 +++++++++++++++----------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/core/src/presets/torrentio.ts b/packages/core/src/presets/torrentio.ts index 17706b35..e3ec2645 100644 --- a/packages/core/src/presets/torrentio.ts +++ b/packages/core/src/presets/torrentio.ts @@ -286,19 +286,24 @@ export class TorrentioPreset extends Preset { providers = TorrentioPreset.defaultProviders; } - const configString = services.length - ? this.urlEncodeKeyValuePairs([ - ...services.map((service) => [ - service, - this.getServiceCredential(service, userData, { - [constants.PUTIO_SERVICE]: (credentials: any) => - `${credentials.clientId}@${credentials.token}`, - }), - ]), - ['providers', providers.join(',')], - ]) - : ''; + let config: string[][] = []; + // add services to config + if (services.length) { + // generate a [serviceId, credential] array for each service and push it to config + config = services.map((service) => [ + service, + this.getServiceCredential(service, userData, { + [constants.PUTIO_SERVICE]: (credentials: any) => + `${credentials.clientId}@${credentials.token}`, + }), + ]); + } + + // add providers to config + config.push(['providers', providers.join(',')]); + + const configString = this.urlEncodeKeyValuePairs(config); return `${url}${configString ? '/' + configString : ''}/manifest.json`; } }