From 0897f0114ce2ecc7adb60a0b10e1948115e5e63a Mon Sep 17 00:00:00 2001 From: Trim21 Date: Thu, 11 Jul 2024 01:23:36 +0800 Subject: [PATCH 1/3] fix(transmission): avoid set down/upload speed to 0 --- .../Transmission/clientGatewayService.ts | 41 ++++++++++++------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/server/services/Transmission/clientGatewayService.ts b/server/services/Transmission/clientGatewayService.ts index d1f24e5ee..e061c5ab7 100644 --- a/server/services/Transmission/clientGatewayService.ts +++ b/server/services/Transmission/clientGatewayService.ts @@ -509,21 +509,34 @@ class TransmissionClientGatewayService extends ClientGatewayService { } async setClientSettings(settings: SetClientSettingsOptions): Promise { + const req: Record = { + 'dht-enabled': settings.dht, + 'download-dir': settings.directoryDefault, + 'peer-port-random-on-start': settings.networkPortRandom, + 'pex-enabled': settings.protocolPex, + }; + + if (typeof settings.networkPortRandom !== 'undefined') { + req['peer-port'] = Number(settings.networkPortRange?.split('-')[0]); + } + + if (typeof settings.throttleMaxUploadsGlobal === 'undefined') { + req['seed-queue-enabled'] = settings.throttleMaxUploadsGlobal !== 0; + req['seed-queue-size'] = settings.throttleMaxUploadsGlobal; + } + + if (typeof settings.throttleGlobalUpSpeed !== 'undefined') { + req['speed-limit-down-enabled'] = settings.throttleGlobalUpSpeed !== 0; + req['speed-limit-up'] = settings.throttleGlobalUpSpeed / 1024; + } + + if (typeof settings.throttleGlobalDownSpeed !== 'undefined') { + req['speed-limit-down-enabled'] = settings.throttleGlobalDownSpeed !== 0; + req['speed-limit-down'] = settings.throttleGlobalDownSpeed / 1024; + } + return this.clientRequestManager - .setSessionProperties({ - 'dht-enabled': settings.dht, - 'download-dir': settings.directoryDefault, - 'peer-port': settings.networkPortRange ? Number(settings.networkPortRange?.split('-')[0]) : undefined, - 'peer-port-random-on-start': settings.networkPortRandom, - 'pex-enabled': settings.protocolPex, - 'speed-limit-down-enabled': settings.throttleGlobalDownSpeed !== 0, - 'speed-limit-down': - settings.throttleGlobalDownSpeed != null ? settings.throttleGlobalDownSpeed / 1024 : undefined, - 'speed-limit-up-enabled': settings.throttleGlobalUpSpeed !== 0, - 'speed-limit-up': settings.throttleGlobalUpSpeed != null ? settings.throttleGlobalUpSpeed / 1024 : undefined, - 'seed-queue-enabled': settings.throttleMaxUploadsGlobal !== 0, - 'seed-queue-size': settings.throttleMaxUploadsGlobal, - }) + .setSessionProperties(req) .then(this.processClientRequestSuccess, this.processClientRequestError); } From 62dce793dbfca5d3eb43e6a6d730e43b3c70711c Mon Sep 17 00:00:00 2001 From: Trim21 Date: Thu, 11 Jul 2024 01:26:46 +0800 Subject: [PATCH 2/3] fix lint --- server/services/Transmission/clientGatewayService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/services/Transmission/clientGatewayService.ts b/server/services/Transmission/clientGatewayService.ts index e061c5ab7..ca2ebe515 100644 --- a/server/services/Transmission/clientGatewayService.ts +++ b/server/services/Transmission/clientGatewayService.ts @@ -509,7 +509,7 @@ class TransmissionClientGatewayService extends ClientGatewayService { } async setClientSettings(settings: SetClientSettingsOptions): Promise { - const req: Record = { + const req: Record = { 'dht-enabled': settings.dht, 'download-dir': settings.directoryDefault, 'peer-port-random-on-start': settings.networkPortRandom, From beea922338bde9e3d933c620a6d8df721d8efd65 Mon Sep 17 00:00:00 2001 From: Trim21 Date: Thu, 11 Jul 2024 01:35:46 +0800 Subject: [PATCH 3/3] fix --- server/services/Transmission/clientGatewayService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/services/Transmission/clientGatewayService.ts b/server/services/Transmission/clientGatewayService.ts index ca2ebe515..8b9048489 100644 --- a/server/services/Transmission/clientGatewayService.ts +++ b/server/services/Transmission/clientGatewayService.ts @@ -526,7 +526,7 @@ class TransmissionClientGatewayService extends ClientGatewayService { } if (typeof settings.throttleGlobalUpSpeed !== 'undefined') { - req['speed-limit-down-enabled'] = settings.throttleGlobalUpSpeed !== 0; + req['speed-limit-up-enabled'] = settings.throttleGlobalUpSpeed !== 0; req['speed-limit-up'] = settings.throttleGlobalUpSpeed / 1024; }