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 8EC0D1FF0BC for ; Thu, 15 Oct 2026 17:11:24 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 4B53C21464; Thu, 15 Oct 2026 17:11:21 +0200 (CEST) From: Christian Ebner To: pve-devel@lists.proxmox.com Subject: [PATCH proxmox-widget-toolkit] utils: fix multi line error message rendering for store error mask Date: Thu, 15 Oct 2026 17:11:10 +0200 Message-ID: <20261015151110.425812-1-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792077075832 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.504 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) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust 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: GBD7K3WOPPTZPVAJ6SOLTB6ALPDXQKSE X-Message-ID-Hash: GBD7K3WOPPTZPVAJ6SOLTB6ALPDXQKSE X-MailFrom: c.ebner@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 X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Since commit 86b2264d ("utils: mon store errors: htmlEncode error message") the full message passed to the error mask is html encoded. This however leads to incorrect rendering of multiline errors, since gathered via Proxmox.Utils.getResponseErrorMessage() separates lines via `
` tag and already html encodes them. One crucial exception is however the error status text, not covered by html encoding in Proxmox.Utils.getResponseErrorMessage(). Since the current implementation breaks multi-line error rendering for several places in the PBS UI, fix the rendering by not encoding the full return value of Proxmox.Utils.getResponseErrorMessage(), but rather limit to the content of the error itself. Fixes:86b2264d ("utils: mon store errors: htmlEncode error message") Signed-off-by: Christian Ebner --- src/Utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Utils.js b/src/Utils.js index cd24787..73189fd 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -414,7 +414,7 @@ Ext.define('Proxmox.Utils', { if (!err.statusText) { return gettext('Connection error'); } - let msg = [`${err.statusText} (${err.status})`]; + let msg = [Ext.String.htmlEncode(`${err.statusText} (${err.status})`)]; if (err.response && err.response.responseText) { let txt = err.response.responseText; try { @@ -468,7 +468,7 @@ Ext.define('Proxmox.Utils', { let error = request._operation.getError(); let msg = Proxmox.Utils.getResponseErrorMessage(error); if (!errorCallback || !errorCallback(error, msg)) { - Proxmox.Utils.setErrorMask(component, Ext.htmlEncode(msg)); + Proxmox.Utils.setErrorMask(component, msg); } }); }, -- 2.47.3