Thanks for spotting that!
On Fri Aug 1, 2025 at 8:38 AM CEST, Thomas Lamprecht wrote:
> Am 31.07.25 um 17:58 schrieb Gabriel Goller:
>> + console.warn(`failed to query /capabilites/qemu/migration
>> on '${target}':`);
>> + console.warn(err);
>> }
>>
>> me.fetchingNodeMigrateInfo = false;
>> @@ -447,7 +448,7 @@ Ext.define('PVE.window.Migrate', {
>> }
>>
>> let comigratedHAResources =
>> migrateStats['comigrated-ha-resources'];
>> - if (comigratedHAResources !== undefined) {
>> + if (comigratedHAResources !== undefined && typeof
>> comigratedHAResources[Symbol.iterator] === 'function') {
>
> If it exists this is always an array per the schema though,
> so the following might be enough:
>
> if (typeof comigratedHAResources === 'array') {
>
> Or use the ExtJS frameworks' Ext.isIterable() while under the hood it's a bit
> more
> heuristic than your check, it should cover all (for us) relevant cases
>
> if (Ext.isIterable(comigratedHAResources)) {
>
> Your variant might be fine as Proxmox.Utils method though, but rather
> overkill for
> now.
Another even simpler version that we use in the function already (e.g.
right above for blockingHAResources) is to just fallback to an empty
array, i.e.
let comigratedHAResources = migrateStats['comigrated-ha-resources'] ?? [];
if (comigratedHAResources.length) {
...
Either way, the fix should also be done for checkLxcPreconditions(...),
because there it's missing the check too.
>
>> for (const sid of comigratedHAResources) {
>> const text = Ext.String.format(
>> gettext(
_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel