From a4299a9597fd68ccb86c87b7d4e728c7ccb82c87 Mon Sep 17 00:00:00 2001 From: Marcelo Fukumoto Date: Tue, 7 Jul 2026 13:31:03 +0200 Subject: [PATCH] feat: added comments from copilot review Signed-off-by: Marcelo Fukumoto --- pkg/harvester/l10n/en-us.yaml | 1 + .../models/forklift.konveyor.io.plan.js | 2 +- .../models/forklift.konveyor.io.provider.js | 2 +- .../pages/c/_cluster/vm-migration/index.vue | 26 ++++++++++++++----- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/pkg/harvester/l10n/en-us.yaml b/pkg/harvester/l10n/en-us.yaml index baab235a..1b15998f 100644 --- a/pkg/harvester/l10n/en-us.yaml +++ b/pkg/harvester/l10n/en-us.yaml @@ -1829,6 +1829,7 @@ harvester: hours: "{hours} {hours, plural, one {hour} other {hours}}" minutes: "{minutes} {minutes, plural, one {minute} other {minutes}}" errors: + failedLoadPlans: Failed to load migration plans failedLoadVms: Failed to load virtual machines failedRefreshVms: Failed to refresh virtual machines failedLoadProviders: Failed to load providers diff --git a/pkg/harvester/models/forklift.konveyor.io.plan.js b/pkg/harvester/models/forklift.konveyor.io.plan.js index b108707c..7e586666 100644 --- a/pkg/harvester/models/forklift.konveyor.io.plan.js +++ b/pkg/harvester/models/forklift.konveyor.io.plan.js @@ -251,7 +251,7 @@ export default class ForkliftPlan extends HarvesterResource { * Use foreground propagation to ensure children are deleted before the parent. */ remove(opt = {}) { - opt.params = { propagationPolicy: 'Foreground' }; + opt.params = { ...(opt.params || {}), propagationPolicy: 'Foreground' }; return this._remove(opt); } diff --git a/pkg/harvester/models/forklift.konveyor.io.provider.js b/pkg/harvester/models/forklift.konveyor.io.provider.js index e47b3660..5ef2eee2 100644 --- a/pkg/harvester/models/forklift.konveyor.io.provider.js +++ b/pkg/harvester/models/forklift.konveyor.io.provider.js @@ -29,7 +29,7 @@ export default class ForkliftProvider extends HarvesterResource { * Use foreground propagation to ensure children are deleted before the parent. */ remove(opt = {}) { - opt.params = { propagationPolicy: 'Foreground' }; + opt.params = { ...(opt.params || {}), propagationPolicy: 'Foreground' }; return this._remove(opt); } diff --git a/pkg/harvester/pages/c/_cluster/vm-migration/index.vue b/pkg/harvester/pages/c/_cluster/vm-migration/index.vue index 2617d4c5..6fe483ff 100644 --- a/pkg/harvester/pages/c/_cluster/vm-migration/index.vue +++ b/pkg/harvester/pages/c/_cluster/vm-migration/index.vue @@ -5,6 +5,7 @@ import Loading from '@shell/components/Loading'; import Masthead from '@shell/components/ResourceList/Masthead'; import ResourceTable from '@shell/components/ResourceTable'; import PercentageBar from '@shell/components/PercentageBar'; +import { Banner } from '@components/Banner'; import MappingsCell from '../../../../components/MappingsCell'; import { SCHEMA } from '@shell/config/types'; import { useI18n } from '@shell/composables/useI18n'; @@ -27,6 +28,7 @@ const store = useStore(); const { t } = useI18n(store); const loading = ref(true); +const errors = ref([]); const inStore = computed(() => store.getters['currentProduct'].inStore); @@ -155,13 +157,17 @@ const headers = [ ]; const init = async() => { - await Promise.all([ - store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_PLAN }), - store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_NETWORK_MAP }), - store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_STORAGE_MAP }), - ]); - - loading.value = false; + try { + await Promise.all([ + store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_PLAN }), + store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_NETWORK_MAP }), + store.dispatch(`${ inStore.value }/findAll`, { type: HCI.FORKLIFT_STORAGE_MAP }), + ]); + } catch (e) { + errors.value = [e?.message || t('harvester.addons.vmMigration.errors.failedLoadPlans')]; + } finally { + loading.value = false; + } }; init(); @@ -170,6 +176,12 @@ init();