Summary
Three react-hooks/exhaustive-deps ESLint warnings exist in the codebase. Each is a useEffect that intentionally omits a prop or callback from its dependency array — likely to prevent infinite re-runs on mount-only effects. The warnings are not causing bugs today, but they represent undocumented stale-closure risks. Each location should either be fixed properly (wrap callback in useCallback in the parent) or silenced with an // eslint-disable-next-line comment explaining why the omission is intentional.
Priority
Low — no current user impact; risk surfaces if callbacks change identity between renders.
Acceptance criteria
Out of scope
Summary
Three
react-hooks/exhaustive-depsESLint warnings exist in the codebase. Each is auseEffectthat intentionally omits a prop or callback from its dependency array — likely to prevent infinite re-runs on mount-only effects. The warnings are not causing bugs today, but they represent undocumented stale-closure risks. Each location should either be fixed properly (wrap callback inuseCallbackin the parent) or silenced with an// eslint-disable-next-linecomment explaining why the omission is intentional.Priority
Low — no current user impact; risk surfaces if callbacks change identity between renders.
Acceptance criteria
History.jsx:204—initialDatemissing from deps: fix or silence with justification commentMuscleMap.jsx:165—onTemplatePreloadConsumedmissing from deps: fix or silence with justification commentReport.jsx:98—onPrefillConsumedmissing from deps: fix or silence with justification commentnpm run lintreports 0react-hooks/exhaustive-depswarnings after the changeOut of scope