Skip to content

Commit 8b7955d

Browse files
akuitybotMarvin9
andauthored
chore(backport release-1.3): fix(ui): invalid verification duration (#3605)
Co-authored-by: Mayursinh Sarvaiya <[email protected]>
1 parent 3ef2700 commit 8b7955d

File tree

2 files changed

+36
-4
lines changed

2 files changed

+36
-4
lines changed

Diff for: ui/src/features/stage/utils/verification-phase.ts

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// read more in stage_types.go
2+
enum VerificationPhase {
3+
Pending = 'Pending',
4+
Running = 'Running',
5+
Successful = 'Successful',
6+
Failed = 'Failed',
7+
Error = 'Error',
8+
Aborted = 'Aborted',
9+
Inconclusive = 'Inconclusive'
10+
}
11+
12+
export const verificationPhaseIsTerminal = (phase: string) => {
13+
switch (phase) {
14+
case VerificationPhase.Successful:
15+
case VerificationPhase.Failed:
16+
case VerificationPhase.Error:
17+
case VerificationPhase.Aborted:
18+
case VerificationPhase.Inconclusive:
19+
return true;
20+
default:
21+
return false;
22+
}
23+
};

Diff for: ui/src/features/stage/verifications.tsx

+13-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { timestampDate } from '@ui/utils/connectrpc-utils';
1010
import { AnalysisModal } from '../common/analysis-modal/analysis-modal';
1111
import { useModal } from '../common/modal/use-modal';
1212

13+
import { verificationPhaseIsTerminal } from './utils/verification-phase';
1314
import { VerificationIcon } from './verification-icon';
1415

1516
type Props = {
@@ -83,13 +84,21 @@ export const Verifications = ({ verifications, images }: Props) => {
8384
<Table.Column<(typeof verifications)[number]>
8485
title='Duration'
8586
render={(_, verification) => {
87+
if (!verificationPhaseIsTerminal(verification.phase || '')) {
88+
return null;
89+
}
90+
8691
try {
87-
const startTime = timestampDate(verification.startTime);
88-
const finishTime = timestampDate(verification.finishTime);
92+
const startTime = moment(timestampDate(verification.startTime));
93+
const finishTime = moment(timestampDate(verification.finishTime));
94+
95+
if (!startTime.isValid() || !finishTime.isValid()) {
96+
return null;
97+
}
8998

90-
const timeTook = moment.duration(moment(finishTime).diff(moment(startTime)));
99+
const timeTook = moment.duration(finishTime.diff(startTime));
91100

92-
return timeTook.humanize();
101+
return timeTook.humanize({ ss: 1 });
93102
} catch {
94103
return null;
95104
}

0 commit comments

Comments
 (0)