From 9a71a3919e8489054d1aa82df96eccf77d90f609 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:41:49 +0200 Subject: [PATCH] dashboard: Construct Wireguard.js row ID from if+public-key (#7838) * dashboard: Construct Wireguard.js row ID from if+public-key to ensure uniqueness when public keys are reused. * dashboard: Wireguard.js use concatenated string for uniqueId --- src/opnsense/www/js/widgets/Wireguard.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/opnsense/www/js/widgets/Wireguard.js b/src/opnsense/www/js/widgets/Wireguard.js index c27720f94..fa519eee8 100644 --- a/src/opnsense/www/js/widgets/Wireguard.js +++ b/src/opnsense/www/js/widgets/Wireguard.js @@ -88,7 +88,8 @@ export default class Wireguard extends BaseTableWidget { latest_handshake_fmt: row['latest-handshake'] ? moment.unix(row['latest-handshake']).local().format('YYYY-MM-DD HH:mm:ss') : null, connected: row['latest-handshake'] && (now - row['latest-handshake']) <= 180, // Considered online if last handshake was within 3 minutes statusIcon: row['latest-handshake'] && (now - row['latest-handshake']) <= 180 ? 'fa-exchange text-success' : 'fa-exchange text-danger', - publicKey: row['public-key'] + publicKey: row['public-key'], + uniqueId: row.if + row['public-key'] })); tunnels.sort((a, b) => a.connected === b.connected ? 0 : a.connected ? -1 : 1); @@ -133,7 +134,7 @@ export default class Wireguard extends BaseTableWidget { `; // Update the HTML table with the sorted rows - super.updateTable('wgTunnelTable', [[header, row]], tunnel.publicKey); + super.updateTable('wgTunnelTable', [[header, row]], tunnel.uniqueId); }); // Activate tooltips for new dynamic elements