From eaf9017aa428d891af8bf4b404dab48e4782ec3e Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sun, 18 May 2025 15:42:36 +0800 Subject: [PATCH] WebUI: fix wrong replacement sequence Only IPv6 addresses may have a 'zone index' and therefore it should be replaced last for the result to be correct. PR #22724. --- src/webui/www/private/scripts/client.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index c4941d2a6..c1418d960 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -991,9 +991,9 @@ window.addEventListener("DOMContentLoaded", (event) => { lastExternalAddressLabel = "QBT_TR(External IPs: %1, %2)QBT_TR[CONTEXT=HttpServer]"; else if (hasIPv4Address || hasIPv6Address) lastExternalAddressLabel = "QBT_TR(External IP: %1%2)QBT_TR[CONTEXT=HttpServer]"; - // replace in reverse order ('%2' before '%1') in case address contains a % character. - // for example, see https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses_(with_zone_index) - externalIPsElement.textContent = lastExternalAddressLabel.replace("%2", lastExternalAddressV6).replace("%1", lastExternalAddressV4); + // https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses_(with_zone_index) + lastExternalAddressLabel = lastExternalAddressLabel.replace("%1", lastExternalAddressV4).replace("%2", lastExternalAddressV6); + externalIPsElement.textContent = lastExternalAddressLabel; externalIPsElement.classList.remove("invisible"); externalIPsElement.previousElementSibling.classList.remove("invisible"); }