public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function
@ 2023-09-25 11:58 Fiona Ebner
  2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 2/3] ui: vm selector: don't add invalid not found items Fiona Ebner
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Fiona Ebner @ 2023-09-25 11:58 UTC (permalink / raw)
  To: pve-devel

An empty string is passed by the backup job window when using
selection mode 'all', would be converted to [""] and wrongly add an
entry with VMID 0 because the item "" could not be found in the store.

Reported in the community forum:
https://forum.proxmox.com/threads/130164/

Fixes: 7a5ca76a ("fix #4239: ui: show selected but non-existing vmids in backup edit")
Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

It is enough to apply this or the second patch to stable-7 to fix the
issue.

Changes in v3:
    * use filter function to handle more general cases like "100,,200"
      and not just the empty string.

 www/manager6/form/VMSelector.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/manager6/form/VMSelector.js b/www/manager6/form/VMSelector.js
index 4c0bba13..0c884aae 100644
--- a/www/manager6/form/VMSelector.js
+++ b/www/manager6/form/VMSelector.js
@@ -162,7 +162,7 @@ Ext.define('PVE.form.VMSelector', {
     setValue: function(value) {
 	let me = this;
 	if (!Ext.isArray(value)) {
-	    value = value.split(',');
+	    value = value.split(',').filter(v => v !== '');
 	}
 
 	let store = me.getStore();
-- 
2.39.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH v3 manager 2/3] ui: vm selector: don't add invalid not found items
  2023-09-25 11:58 [pve-devel] [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function Fiona Ebner
@ 2023-09-25 11:58 ` Fiona Ebner
  2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 3/3] ui: vm selector: gracefully handle undefined/null in setValue function Fiona Ebner
  2023-09-27 17:22 ` [pve-devel] applied-series: [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs " Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Fiona Ebner @ 2023-09-25 11:58 UTC (permalink / raw)
  To: pve-devel

Doing a simple numericity check and warn in the console so developers
can notice if there is something off.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
---

No changes in v3.

 www/manager6/form/VMSelector.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/www/manager6/form/VMSelector.js b/www/manager6/form/VMSelector.js
index 0c884aae..22f7dd11 100644
--- a/www/manager6/form/VMSelector.js
+++ b/www/manager6/form/VMSelector.js
@@ -136,7 +136,11 @@ Ext.define('PVE.form.VMSelector', {
 	let selection = value.map(item => {
 	    let found = store.findRecord('vmid', item, 0, false, true, true);
 	    if (!found) {
-		notFound.push(item);
+		if (Ext.isNumeric(item)) {
+		    notFound.push(item);
+		} else {
+		    console.warn(`invalid item in vm selection: ${item}`);
+		}
 	    }
 	    return found;
 	}).filter(r => r);
-- 
2.39.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] [PATCH v3 manager 3/3] ui: vm selector: gracefully handle undefined/null in setValue function
  2023-09-25 11:58 [pve-devel] [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function Fiona Ebner
  2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 2/3] ui: vm selector: don't add invalid not found items Fiona Ebner
@ 2023-09-25 11:58 ` Fiona Ebner
  2023-09-27 17:22 ` [pve-devel] applied-series: [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs " Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Fiona Ebner @ 2023-09-25 11:58 UTC (permalink / raw)
  To: pve-devel

Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

New in v3.

 www/manager6/form/VMSelector.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/www/manager6/form/VMSelector.js b/www/manager6/form/VMSelector.js
index 22f7dd11..d59847f2 100644
--- a/www/manager6/form/VMSelector.js
+++ b/www/manager6/form/VMSelector.js
@@ -165,6 +165,7 @@ Ext.define('PVE.form.VMSelector', {
 
     setValue: function(value) {
 	let me = this;
+	value ??= [];
 	if (!Ext.isArray(value)) {
 	    value = value.split(',').filter(v => v !== '');
 	}
-- 
2.39.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pve-devel] applied-series: [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function
  2023-09-25 11:58 [pve-devel] [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function Fiona Ebner
  2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 2/3] ui: vm selector: don't add invalid not found items Fiona Ebner
  2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 3/3] ui: vm selector: gracefully handle undefined/null in setValue function Fiona Ebner
@ 2023-09-27 17:22 ` Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2023-09-27 17:22 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fiona Ebner

Am 25/09/2023 um 13:58 schrieb Fiona Ebner:
> An empty string is passed by the backup job window when using
> selection mode 'all', would be converted to [""] and wrongly add an
> entry with VMID 0 because the item "" could not be found in the store.
> 
> Reported in the community forum:
> https://forum.proxmox.com/threads/130164/
> 
> Fixes: 7a5ca76a ("fix #4239: ui: show selected but non-existing vmids in backup edit")
> Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> 
> It is enough to apply this or the second patch to stable-7 to fix the
> issue.
> 
> Changes in v3:
>     * use filter function to handle more general cases like "100,,200"
>       and not just the empty string.
> 
>  www/manager6/form/VMSelector.js | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
>

applied series and the first one also to stable-7, thanks!

ps. you got my OK for applying your own patches if there was positive
review/testing feedback.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-09-27 17:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-25 11:58 [pve-devel] [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs in setValue function Fiona Ebner
2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 2/3] ui: vm selector: don't add invalid not found items Fiona Ebner
2023-09-25 11:58 ` [pve-devel] [PATCH v3 manager 3/3] ui: vm selector: gracefully handle undefined/null in setValue function Fiona Ebner
2023-09-27 17:22 ` [pve-devel] applied-series: [PATCH v3 stable-7+master manager 1/3] ui: vm selector: gracefully handle empty IDs " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal