From c7caae1150c085b517e349f33ce322e46b18079f 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 599273585..bbac67db7 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -993,9 +993,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"); }