From 30547cc453d7b99099b7913f1c2d7c1a978b86b6 Mon Sep 17 00:00:00 2001 From: d00f <8052722+DrDoof@users.noreply.github.com> Date: Sun, 6 Sep 2026 21:13:23 +0200 Subject: [PATCH] ports: drop the SFP row, keep the link-state index fix Leaving SFP ports out of the table is deliberate for now, and being able to force a module's speed belongs in a feature of its own rather than arriving inside a fix, so that half goes again. What remains is the off-by-one: createPortTable() read pState[i] where the array is filled by portNum - 1, so every row started out showing the next port's link speed until the first refresh corrected it. The debug line above it goes too; it printed a third index, pState[i-2]. --- html/ports.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/html/ports.js b/html/ports.js index f84986b1..f76534f2 100644 --- a/html/ports.js +++ b/html/ports.js @@ -14,16 +14,14 @@ function createPortTable() { + ''; const dSwitch = '' for (let i = 1; i <= numPorts; i++) { + if (pIsSFP[i-1]) + continue; const tr = tbl.insertRow(); let td = tr.insertCell(); td.appendChild(document.createTextNode(t('common_port') + i)); let portName = portNames[physToLogPort[i-1]] || ''; td = tr.insertCell(); td.appendChild(document.createTextNode(portName)); td = tr.insertCell(); td.innerHTML = linkText(pState[i-1] + 1); tr.insertCell(); // filled by devRender() - if (pIsSFP[i-1]) { - tr.insertCell(); tr.insertCell(); tr.insertCell(); - continue; - } td = tr.insertCell(); td.innerHTML = sSelect.replaceAll("speed_sel", "speed_sel_" + i); td = tr.insertCell(); td.innerHTML = dSwitch.replaceAll("disable_port", "disable_port_" + i) .replace("portOnOff()", "portOnOff(" + i + ")"); @@ -68,9 +66,9 @@ function updatePortTable() { if (tbl.rows.length <= 2 || !numPorts) return; for (let i = 1; i <= numPorts ; i++) { - tbl.rows[i].cells[2].innerHTML = linkText(pState[i-1]+1); if (pIsSFP[i-1]) continue; + tbl.rows[i].cells[2].innerHTML = linkText(pState[i-1]+1); if (!clicked[i] && pState[i - 1] < 0) { document.getElementById('speed_sel_' + i).disabled = true; document.getElementById('disable_port_' + i).checked = true; @@ -134,6 +132,8 @@ function devRender(entries) { perPort[e.port].push(e.mac); } for (let i = 1; i <= numPorts; i++) { + if (pIsSFP[i-1]) + continue; var cell = tbl.rows[i].cells[3]; var macs = perPort[i] || []; if (macs.length == 1) {