all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully
@ 2023-07-07  8:02 Fiona Ebner
  2023-07-07  8:02 ` [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items Fiona Ebner
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Fiona Ebner @ 2023-07-07  8:02 UTC (permalink / raw)
  To: pve-devel

which 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")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

Applying either of the patches to stable-7 is enough to fix the issue.

No changes in v2.

 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..bf2c8df7 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 === '' ? [] : value.split(',');
 	}
 
 	let store = me.getStore();
-- 
2.39.2





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

* [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items
  2023-07-07  8:02 [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
@ 2023-07-07  8:02 ` Fiona Ebner
  2023-09-25 11:18   ` Dominik Csapak
  2023-08-30  9:15 ` [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
  2023-09-25 11:17 ` Dominik Csapak
  2 siblings, 1 reply; 7+ messages in thread
From: Fiona Ebner @ 2023-07-07  8:02 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>
---

New in v2.

 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 bf2c8df7..4b04ac30 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] 7+ messages in thread

* Re: [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully
  2023-07-07  8:02 [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
  2023-07-07  8:02 ` [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items Fiona Ebner
@ 2023-08-30  9:15 ` Fiona Ebner
  2023-09-25 10:59   ` Fiona Ebner
  2023-09-25 11:17 ` Dominik Csapak
  2 siblings, 1 reply; 7+ messages in thread
From: Fiona Ebner @ 2023-08-30  9:15 UTC (permalink / raw)
  To: pve-devel

Ping for the series

Am 07.07.23 um 10:02 schrieb Fiona Ebner:
> which 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")
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>




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

* Re: [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully
  2023-08-30  9:15 ` [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
@ 2023-09-25 10:59   ` Fiona Ebner
  0 siblings, 0 replies; 7+ messages in thread
From: Fiona Ebner @ 2023-09-25 10:59 UTC (permalink / raw)
  To: pve-devel

Ping again, because there is another report:

https://forum.proxmox.com/threads/133735/

Am 30.08.23 um 11:15 schrieb Fiona Ebner:
> Ping for the series
> 
> Am 07.07.23 um 10:02 schrieb Fiona Ebner:
>> which 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")
>> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>




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

* Re: [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully
  2023-07-07  8:02 [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
  2023-07-07  8:02 ` [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items Fiona Ebner
  2023-08-30  9:15 ` [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
@ 2023-09-25 11:17 ` Dominik Csapak
  2023-09-25 11:36   ` Fiona Ebner
  2 siblings, 1 reply; 7+ messages in thread
From: Dominik Csapak @ 2023-09-25 11:17 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fiona Ebner

On 7/7/23 10:02, Fiona Ebner wrote:
> which 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")
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> 
> Applying either of the patches to stable-7 is enough to fix the issue.
> 
> No changes in v2.
> 
>   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..bf2c8df7 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 === '' ? [] : value.split(',');
>   	}
>   
>   	let store = me.getStore();

sorry for the late answer

the patch LGTM, but i would even go a step further and do a
----
value ??= [];
----

before the isArray check (that way we'd also handle undefined/null values)
(can ofc be done as a follow-up/later)


an alternative would be to filter out all empty values e.g. like this:

---
value.split(',').filter(v => v !== '')
---

this would then also handle values like: '100,,200'
idk if that's even possible to get here




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

* Re: [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items
  2023-07-07  8:02 ` [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items Fiona Ebner
@ 2023-09-25 11:18   ` Dominik Csapak
  0 siblings, 0 replies; 7+ messages in thread
From: Dominik Csapak @ 2023-09-25 11:18 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fiona Ebner

On 7/7/23 10:02, Fiona Ebner wrote:
> 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>
> ---
> 
> New in v2.
> 
>   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 bf2c8df7..4b04ac30 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);


LGTM

Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>




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

* Re: [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully
  2023-09-25 11:17 ` Dominik Csapak
@ 2023-09-25 11:36   ` Fiona Ebner
  0 siblings, 0 replies; 7+ messages in thread
From: Fiona Ebner @ 2023-09-25 11:36 UTC (permalink / raw)
  To: Dominik Csapak, Proxmox VE development discussion

Am 25.09.23 um 13:17 schrieb Dominik Csapak:
> 
> sorry for the late answer
> 
> the patch LGTM, but i would even go a step further and do a
> ----
> value ??= [];
> ----
> 
> before the isArray check (that way we'd also handle undefined/null values)
> (can ofc be done as a follow-up/later)
> 
> 
> an alternative would be to filter out all empty values e.g. like this:
> 
> ---
> value.split(',').filter(v => v !== '')
> ---
> 
> this would then also handle values like: '100,,200'
> idk if that's even possible to get here
> 

Thank you for the review! I'll send a v3 with the suggested changes.




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

end of thread, other threads:[~2023-09-25 11:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-07  8:02 [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
2023-07-07  8:02 ` [pve-devel] [PATCH v2 manager 2/2] ui: vm selector: don't add invalid not found items Fiona Ebner
2023-09-25 11:18   ` Dominik Csapak
2023-08-30  9:15 ` [pve-devel] [PATCH v2 stable-7+master manager 1/2] ui: vm selector: handle empty string gracefully Fiona Ebner
2023-09-25 10:59   ` Fiona Ebner
2023-09-25 11:17 ` Dominik Csapak
2023-09-25 11:36   ` Fiona Ebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal