[pbs-devel] [PATCH proxmox-backup] ui: sync job: fix error if local namespace is selected first

Lukas Wagner l.wagner at proxmox.com
Thu Apr 25 10:59:36 CEST 2024


When creating a new sync job and a local namespace is configured
without setting a remote first, the createMaxPrefixLength
was passed an array instead of a string/undefined/null, which
triggered a 'ns2.match is not a funtion exception', making the UI
glitchy afterwards.

Fixed by explicitly checking for a string. Verified that the other
user of NamespaceMaxDepthReduced, the prune job edit window, does not
break after the change.

Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
 www/form/NamespaceMaxDepth.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/form/NamespaceMaxDepth.js b/www/form/NamespaceMaxDepth.js
index cfe80de0..64f8d512 100644
--- a/www/form/NamespaceMaxDepth.js
+++ b/www/form/NamespaceMaxDepth.js
@@ -37,10 +37,10 @@ Ext.define('PBS.form.NamespaceMaxDepthReduced', {
 
     calcMaxPrefixLength: function(ns1, ns2) {
 	let maxPrefixLength = 0;
-	if (ns1 !== undefined && ns1 !== null) {
+	if (ns1 !== undefined && ns1 !== null && typeof ns1 === 'string') {
 	    maxPrefixLength = (ns1.match(/[/]/g) || []).length + (ns1 === '' ? 0 : 1);
 	}
-	if (ns2 !== undefined && ns2 !== null) {
+	if (ns2 !== undefined && ns2 !== null && typeof ns2 === 'string') {
 	    let ns2PrefixLength = (ns2.match(/[/]/g) || []).length + (ns2 === '' ? 0 : 1);
 	    if (ns2PrefixLength > maxPrefixLength) {
 		maxPrefixLength = ns2PrefixLength;
-- 
2.39.2





More information about the pbs-devel mailing list