From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 6E9BA1FF138 for ; Wed, 22 Jul 2026 10:50:19 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id A07A7214CE; Wed, 22 Jul 2026 10:49:04 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Subject: [PATCH manager v3 05/16] ui: ha: node affinity: handle empty node priority list string Date: Wed, 22 Jul 2026 10:48:13 +0200 Message-ID: <20260722084824.108350-6-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260722084824.108350-1-d.kral@proxmox.com> References: <20260722084824.108350-1-d.kral@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1784710082622 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.130 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: QYRRE2XTGHOBS3HT54CDCG7K22VEQ36E X-Message-ID-Hash: QYRRE2XTGHOBS3HT54CDCG7K22VEQ36E X-MailFrom: d.kral@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Riley X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: In case of an empty node priority list string, the node affinity rule edit modal would add an empty node entry in the node list and select it, because "".split(',') will result in the array [""]. This should never happen as the API will not output the entry if the nodes property is missing, but it is still the correct logic to not add a node with no name. Suggested-by: David Riley Signed-off-by: Daniel Kral --- changes since v2: - new! www/manager6/ha/rules/NodeAffinityRuleEdit.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/www/manager6/ha/rules/NodeAffinityRuleEdit.js b/www/manager6/ha/rules/NodeAffinityRuleEdit.js index 4574d9ef..b1fdfde8 100644 --- a/www/manager6/ha/rules/NodeAffinityRuleEdit.js +++ b/www/manager6/ha/rules/NodeAffinityRuleEdit.js @@ -97,7 +97,9 @@ Ext.define('PVE.ha.rules.NodeAffinityInputPanel', { update_node_selection = function (string) { sm.deselectAll(true); - string.split(',').forEach(function (e, idx, array) { + let nodenames = string.length ? string.split(',') : []; + + nodenames.forEach(function (e, idx, array) { let [node, priority] = e.split(':'); store.each(function (record) { if (record.get('node') === node) { -- 2.47.3