fix(vm-migration): show elapsed duration for in-progress plans (#1037) (#1038)

formatDuration returned an empty value when a migration was in progress (started set but completed missing), causing the duration column to show an em-dash for all running plans. It now computes elapsed time up to Date.now() when completed is absent, only returning the placeholder when started is unset or timestamps are invalid.

Related issue: harvester/harvester#10417


(cherry picked from commit 7a84e08f99355e125bb73593f12ca68d9768c6dd)

Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
This commit is contained in:
mergify[bot] 2026-07-20 17:07:09 +08:00 committed by GitHub
parent 6039f21320
commit 92f34fa64f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -99,12 +99,12 @@ const formatPipelineTooltip = (pipeline = []) => {
};
const formatDuration = (started, completed) => {
if (!started || !completed) {
if (!started) {
return { display: null, seconds: -1 };
}
const startMs = new Date(started).getTime();
const endMs = new Date(completed).getTime();
const endMs = completed ? new Date(completed).getTime() : Date.now();
if (isNaN(startMs) || isNaN(endMs) || endMs < startMs) {
return { display: null, seconds: -1 };