Summary
The react-hooks/exhaustive-deps ESLint rule is suppressed in multiple hooks/components instead of fixing the dependency arrays, which masks stale-closure bugs.
Evidence
frontend/src/hooks/useTransactionHistory.ts:79,86
frontend/src/components/MintForm.tsx:110
frontend/src/components/UI/OnboardingModal.tsx:62
frontend/src/components/TokenHistory.tsx:56
Impact
exhaustive-deps violations are a common source of "data doesn't refresh" / stale-value bugs. The TransactionHistory suppressions co-locate with its known pagination/caching bugs.
Suggested fix
Audit each effect: stabilize callbacks with useCallback, include the real dependencies, and remove the disables. Where an effect intentionally runs once, encode that explicitly rather than silencing the linter.
Summary
The
react-hooks/exhaustive-depsESLint rule is suppressed in multiple hooks/components instead of fixing the dependency arrays, which masks stale-closure bugs.Evidence
frontend/src/hooks/useTransactionHistory.ts:79,86frontend/src/components/MintForm.tsx:110frontend/src/components/UI/OnboardingModal.tsx:62frontend/src/components/TokenHistory.tsx:56Impact
exhaustive-depsviolations are a common source of "data doesn't refresh" / stale-value bugs. The TransactionHistory suppressions co-locate with its known pagination/caching bugs.Suggested fix
Audit each effect: stabilize callbacks with
useCallback, include the real dependencies, and remove the disables. Where an effect intentionally runs once, encode that explicitly rather than silencing the linter.