Use external downloader link as link target for icon
Some checks are pending
system-test / waitForNative (push) Waiting to run
system-test / buildMockserver (push) Waiting to run
system-test / runSystemTestsLinux (map[name:core port:5076]) (push) Blocked by required conditions
system-test / runSystemTestsLinux (map[name:v1Migration port:5077]) (push) Blocked by required conditions
system-test / runSystemTestsWindows (push) Blocked by required conditions

Closes #999
This commit is contained in:
TheOtherP 2025-07-27 18:11:32 +02:00
parent 54ec28bc1f
commit be33f3843c
7 changed files with 12 additions and 8 deletions

View File

@ -56,7 +56,7 @@ public class DownloaderStatusRetrieval {
DownloaderStatus status;
try {
status = downloader.get().getStatus();
status.setUrl(downloader.get().getUrl());
status.setUrl(configProvider.getBaseConfig().getDownloading().getExternalUrl().orElse(downloader.get().getUrl()));
} catch (Exception e) {
logger.error("Error while retrieving downloader status", e);
status = DownloaderStatus.builder().state(DownloaderStatus.State.OFFLINE).build();

View File

@ -1,8 +1,10 @@
#@formatter:off
- version: "v7.16.9"
- version: "v7.16.0"
changes:
- type: "added"
text: "Added newznab and torznab support for Torbox. You can add it as two separate indexers from the presets. It should now be possible to send any torrent or usenet results (from torbox or anywhere else) to Torbox. See #1005"
- type: "fixed"
text: "If an external URL for a downloader is set it's used as link target for the downloader icon in the lower left."
final: true
date: "2025-07-27"
- version: "v7.15.3"

View File

@ -2587,6 +2587,7 @@ function downloaderStatusFooter() {
$scope.foo.downloaderImage = downloaderStatus.downloaderType.toLowerCase() + "logo";
$scope.foo.url = downloaderStatus.url;
//We need to splice the variable with the rates because it's watched by angular and when overwriting it we would lose the watch and it wouldn't be updated
var maxEntriesHistory = 200;
if ($scope.downloaderChart.data[0].values.length < maxEntriesHistory) {
@ -8058,13 +8059,13 @@ function ConfigFields($injector) {
key: 'externalUrl',
type: 'horizontalInput',
hideExpression: function ($viewValue, $modelValue, scope) {
return !_.any(scope.model.downloaders, function (downloader) {
return !scope.model.showDownloaderStatus && !_.any(scope.model.downloaders, function (downloader) {
return downloader.nzbAddingType === "SEND_LINK";
});
},
templateOptions: {
label: 'External URL',
help: 'Used for links when sending links to the downloader.',
help: 'Used for links when sending links to the downloader and as link target for the downloader icon in the footer (when set).',
tooltip: 'When using "Add links" to add NZBs to your downloader the links are usually calculated using the URL with which you accessed NZBHydra. This might be a URL that\'s not accessible by the downloader (e.g. when it\'s inside a docker container). Set the URL for NZBHydra that\'s accessible by the downloader here and it will be used instead. ',
advanced: true
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1824,13 +1824,13 @@ function ConfigFields($injector) {
key: 'externalUrl',
type: 'horizontalInput',
hideExpression: function ($viewValue, $modelValue, scope) {
return !_.any(scope.model.downloaders, function (downloader) {
return !scope.model.showDownloaderStatus && !_.any(scope.model.downloaders, function (downloader) {
return downloader.nzbAddingType === "SEND_LINK";
});
},
templateOptions: {
label: 'External URL',
help: 'Used for links when sending links to the downloader.',
help: 'Used for links when sending links to the downloader and as link target for the downloader icon in the footer (when set).',
tooltip: 'When using "Add links" to add NZBs to your downloader the links are usually calculated using the URL with which you accessed NZBHydra. This might be a URL that\'s not accessible by the downloader (e.g. when it\'s inside a docker container). Set the URL for NZBHydra that\'s accessible by the downloader here and it will be used instead. ',
advanced: true
}

View File

@ -126,6 +126,7 @@ function downloaderStatusFooter() {
$scope.foo.downloaderImage = downloaderStatus.downloaderType.toLowerCase() + "logo";
$scope.foo.url = downloaderStatus.url;
//We need to splice the variable with the rates because it's watched by angular and when overwriting it we would lose the watch and it wouldn't be updated
var maxEntriesHistory = 200;
if ($scope.downloaderChart.data[0].values.length < maxEntriesHistory) {