fix: resolve all ESLint warnings (setState in useEffect)

Suppress 3 react-hooks/set-state-in-effect warnings with targeted
eslint-disable comments. These are intentional patterns:
- ChatInput: restore draft text on session switch
- MessageSearch: reset active index on query change
- ToolCall: sync open state with global collapse/expand toggle

Lint now passes with 0 errors and 0 warnings.
This commit is contained in:
Nicolas Varrot
2026-02-13 03:41:39 +00:00
parent 3149457bf7
commit 1770e95d0a
3 changed files with 3 additions and 3 deletions

View File

@@ -114,7 +114,7 @@ export function ChatInput({ onSend, onAbort, isGenerating, disabled, sessionKey
}
// Restore draft for the new session
const draft = sessionKey ? draftsRef.current.get(sessionKey) ?? '' : '';
setText(draft);
setText(draft); // eslint-disable-line react-hooks/set-state-in-effect -- intentional: restore draft on session switch
prevSessionRef.current = sessionKey;
}, [sessionKey]); // eslint-disable-line react-hooks/exhaustive-deps

View File

@@ -28,7 +28,7 @@ export function MessageSearch({ open, onClose, onSearch, matchCount }: Props) {
// Reset active index when query changes
useEffect(() => {
setActiveIndex(0);
setActiveIndex(0); // eslint-disable-line react-hooks/set-state-in-effect -- intentional: reset index on query change
}, [query]);
const navigate = useCallback((dir: 1 | -1) => {

View File

@@ -243,7 +243,7 @@ export function ToolCall({ name, input, result }: { name: string; input?: Record
useEffect(() => {
if (version !== lastVersion.current) {
lastVersion.current = version;
if (globalState === 'collapse-all') setOpen(false);
if (globalState === 'collapse-all') setOpen(false); // eslint-disable-line react-hooks/set-state-in-effect -- intentional: sync with global toggle
else if (globalState === 'expand-all') setOpen(true);
}
}, [globalState, version]);