Skip to content

Commit fc44cdb

Browse files
committed
fix: add edge-case protection for certain delay values
1 parent 6ad1cf2 commit fc44cdb

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

site/src/components/Spinner/Spinner.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { type CSSProperties, type FC, useEffect, useState } from "react";
1212
import { cn } from "utils/cn";
1313

1414
const SPINNER_LEAF_COUNT = 8;
15+
const MAX_SPINNER_DELAY_MS = 2_000;
1516

1617
const spinnerVariants = cva("", {
1718
variants: {
@@ -140,7 +141,9 @@ function useShowSpinner(loading: boolean, spinnerDelayMs: number): boolean {
140141
// Disallow negative timeout values and fractional values, but also round
141142
// the delay down if it's small enough that it might as well be immediate
142143
// from a user perspective
143-
let safeDelay = Math.trunc(spinnerDelayMs);
144+
let safeDelay = Number.isNaN(spinnerDelayMs)
145+
? 0
146+
: Math.min(MAX_SPINNER_DELAY_MS, Math.trunc(spinnerDelayMs));
144147
if (safeDelay < 100) {
145148
safeDelay = 0;
146149
}

0 commit comments

Comments
 (0)