[pve-devel] [PATCH manager 1/1] fix: ha: set ha-managed param default and unchecked value to undefined
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Nov 17 17:47:25 CET 2025
The commit subject could be a bit improved, as of now we do not use plain
"fix" commits, besides that it affects the ui subsystem, which is a major
one in this repo, so naming it makes sense, then it's not really for ha
itself but rather for the (guest) create wizard, and finally, the commit
message and it's subject should focus on what's fixed and ideally (in short)
why thefix works and was chosen rather than describing how it is done,
especially not if that's just then a rather literal description of the
actual diff itself.
E.g. here the following would be a lot clearer to me:
"ui: create wizard: only submit ha-managed if checked for better compat"
Am 17.11.25 um 14:17 schrieb Michael Köppl:
> This avoids sending the parameter with the default value when it's not
> necessary, since the API already defines the param as optional and
> assigns a default value of 0.
Why does this work though, 0 and undefined seem close enough for anybody
without in-depth knowledge about ExtJS and/or our widget-toolkit.
Would be nice to reference upstream docs for chechbox's uncheckedValue
config parameter, which plays the core part here:
> By default this is undefined, which results in nothing being submitted
> for the checkbox field when the form is submitted
-- https://docs.sencha.com/extjs/7.0.0/classic/Ext.form.field.Checkbox.html#cfg-uncheckedValue
>
> Signed-off-by: Michael Köppl <m.koeppl at proxmox.com>
> ---
> Thanks to @Friedrich for bringing this to my attention. A case where
> this occurs is in clusters where at least one of the nodes does not yet
> support the ha-managed param and a VM is created on that node from the
> web UI of a node that already supports it. Although in general it can
> probably be expected that all nodes should be upgraded to a new version,
> this avoids failing the CreateWizard dialog entirely for cases where the
> "Add to HA" checkbox wasn't even checked at basically no cost because
> the API already defines a default value of 0 and considers the param
> optional.
>
> www/manager6/lxc/CreateWizard.js | 4 ++--
> www/manager6/qemu/CreateWizard.js | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/www/manager6/lxc/CreateWizard.js b/www/manager6/lxc/CreateWizard.js
> index f35709f14..024536c58 100644
> --- a/www/manager6/lxc/CreateWizard.js
> +++ b/www/manager6/lxc/CreateWizard.js
> @@ -85,8 +85,8 @@ Ext.define('PVE.lxc.CreateWizard', {
> {
> xtype: 'proxmoxcheckbox',
> name: 'ha-managed',
> - uncheckedValue: 0,
> - defaultValue: 0,
> + uncheckedValue: undefined,
> + defaultValue: undefined,
Both are the default for (proxmox)checkbox, so could be just omitted? Or if, then
I'd just set "uncheckedValue" explicitly and add a small comment there so that it's
a bit more explicit and telling.
> fieldLabel: gettext('Add to HA'),
> },
> ],
> diff --git a/www/manager6/qemu/CreateWizard.js b/www/manager6/qemu/CreateWizard.js
> index e0c56bc0b..564ca1176 100644
> --- a/www/manager6/qemu/CreateWizard.js
> +++ b/www/manager6/qemu/CreateWizard.js
> @@ -99,8 +99,8 @@ Ext.define('PVE.qemu.CreateWizard', {
> {
> xtype: 'proxmoxcheckbox',
> name: 'ha-managed',
> - uncheckedValue: 0,
> - defaultValue: 0,
> + uncheckedValue: undefined,
> + defaultValue: undefined,
Same here.
> fieldLabel: gettext('Add to HA'),
> },
> ],
More information about the pve-devel
mailing list