From 3bb85d903179721f0590765c269a7e46ae91468c Mon Sep 17 00:00:00 2001 From: Kevin L'Hereec Date: Fri, 17 Jul 2026 14:21:02 +0200 Subject: [PATCH] fix: support alias-based IPv6 interface names and add engine reset utility - Home.vue: extend RE_IPV4/RE_IPV6 to match alias-based interface names like Device.IP.Interface.[BR_LAN].IPv6Address.[GUA_LAN].IPAddress (used by Sagemcom Livebox 4 with AliasBasedAddressing=1) - reference_engine.ts: add resetReferenceEngine() to allow config reload without restart (wassup provider disabled via config/references.json) --- app/services/references/reference_engine.ts | 4 ++++ inertia/pages/Home.vue | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/services/references/reference_engine.ts b/app/services/references/reference_engine.ts index 6321f1b..615429f 100644 --- a/app/services/references/reference_engine.ts +++ b/app/services/references/reference_engine.ts @@ -154,3 +154,7 @@ export function getReferenceEngine(): ReferenceEngine { } return instance } + +export function resetReferenceEngine(): void { + instance = null +} diff --git a/inertia/pages/Home.vue b/inertia/pages/Home.vue index c5ad335..22cb0b0 100644 --- a/inertia/pages/Home.vue +++ b/inertia/pages/Home.vue @@ -57,8 +57,10 @@ function getPropertyValue(props: any[], name: string): string { } // Hoisted regex constants — compiled once, not on every call -const RE_IPV4 = /^Device\.IP\.Interface\.\d+\.IPv4Address\.\d+\.IPAddress$/ -const RE_IPV6 = /^Device\.IP\.Interface\.\d+\.IPv6Address\.\d+\.IPAddress$/ +// Matches both numeric indexes (e.g. Interface.1) and alias-based names (e.g. Interface.[BR_LAN]) +const IF_SEG = /(\d+|\[[^\]]+\])/ +const RE_IPV4 = new RegExp(`^Device\\.IP\\.Interface\\.${IF_SEG.source}\\.IPv4Address\\.${IF_SEG.source}\\.IPAddress$`) +const RE_IPV6 = new RegExp(`^Device\\.IP\\.Interface\\.${IF_SEG.source}\\.IPv6Address\\.${IF_SEG.source}\\.IPAddress$`) function getIpAddress(parameters: any[], properties: any[]): string { // Priority 1 : TR-098 ExternalIPAddress (reuse existing helpers to avoid duplication)