diff --git a/src-web/components/core/HttpResponseDurationTag.tsx b/src-web/components/core/HttpResponseDurationTag.tsx index 4328c29f..cadb8e89 100644 --- a/src-web/components/core/HttpResponseDurationTag.tsx +++ b/src-web/components/core/HttpResponseDurationTag.tsx @@ -6,23 +6,25 @@ interface Props { } export function HttpResponseDurationTag({ response }: Props) { - const [fallbackDuration, setFallbackDuration] = useState(0); + const [fallbackElapsed, setFallbackElapsed] = useState(0); const timeout = useRef(); // Calculate the duration of the response for use when the response hasn't finished yet useEffect(() => { clearInterval(timeout.current); timeout.current = setInterval(() => { - setFallbackDuration(Date.now() - new Date(response.createdAt + 'Z').getTime()); + setFallbackElapsed(Date.now() - new Date(response.createdAt + 'Z').getTime()); }, 100); return () => clearInterval(timeout.current); }, [response.createdAt, response.elapsed, response.state]); const title = `HEADER: ${formatMillis(response.elapsedHeaders)}\nTOTAL: ${formatMillis(response.elapsed)}`; + const elapsed = response.state === 'closed' ? response.elapsed : fallbackElapsed; + return ( - {formatMillis(response.elapsed || fallbackDuration)} + {formatMillis(elapsed)} ); }