From bed316c17a2110a516c2f7947018e433f0eb8ac0 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Fri, 29 Aug 2025 18:22:18 +0200 Subject: [PATCH] refactor(Index.tsx): remove unused AbortController state and logic from text correction --- src/pages/Index.tsx | 89 ++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 57 deletions(-) diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 351e03e..296b80f 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -124,7 +124,6 @@ $current`); const [correctedContent, setCorrectedContent] = useState(''); const [previousNoteCorrectedContent, setPreviousNoteCorrectedContent] = useState(''); const [correctionTimeout, setCorrectionTimeout] = useState(); - const [correctionAbortController, setCorrectionAbortController] = useState(null); const { resolvedTheme, setTheme } = useTheme(); @@ -339,37 +338,22 @@ $current`); // Debounced text correction for previous note const debouncedCorrectPreviousNote = (content: string) => { - // Cancel any pending correction request - if (correctionAbortController) { - try { - correctionAbortController.abort(); - } catch (error) { - // Ignore abort errors - the controller might already be aborted - } - } - if (correctionTimeout) { clearTimeout(correctionTimeout); } - // Create new AbortController for this request - const abortController = new AbortController(); - setCorrectionAbortController(abortController); - const timeout = setTimeout(async () => { if (content.trim()) { try { addDebugInfo('Correcting previous note text...'); - const corrected = await correctText(content, abortController); + const corrected = await correctText(content); + addDebugInfo(`Received correction: ${corrected.substring(0, 50)}...`); setPreviousNoteCorrectedContent(corrected); + addDebugInfo('Previous note corrected content set'); } catch (error) { - if (error instanceof Error && error.name === 'AbortError') { - addDebugInfo('Previous note correction cancelled'); - return; // Don't set empty content for aborted requests - } else { - console.error('Previous note text correction failed:', error); - setPreviousNoteCorrectedContent(''); - } + console.error('Previous note text correction failed:', error); + addDebugInfo(`Correction error: ${error instanceof Error ? error.message : 'Unknown error'}`); + setPreviousNoteCorrectedContent(''); } } else { setPreviousNoteCorrectedContent(''); @@ -380,7 +364,7 @@ $current`); }; // Correct text using Ollama - const correctText = async (content: string, abortController?: AbortController): Promise => { + const correctText = async (content: string): Promise => { try { const response = await fetchWithTiming(`${ollamaEndpoint}/api/generate`, { method: 'POST', @@ -406,7 +390,6 @@ ${content}`, keep_alive: ollamaKeepAlive, temperature: 0.1, }), - signal: abortController?.signal, }, 'Correct Text'); if (!response.ok) { @@ -421,7 +404,7 @@ ${content}`, throw new Error('Empty response from Ollama - check if model is loaded'); } - addDebugInfo(`Text corrected successfully`); + addDebugInfo(`Text corrected successfully: ${correctedText.substring(0, 50)}...`); return correctedText; } catch (error) { console.error('Error correcting text:', error); @@ -1189,16 +1172,6 @@ ${content}`, const reversedDelta = -delta; const newIndex = Math.max(0, Math.min(currentNoteIndex + reversedDelta, noteCache.length - 1)); if (newIndex !== currentNoteIndex && noteCache[newIndex]) { - // Cancel any pending correction request before changing notes - if (correctionAbortController) { - try { - correctionAbortController.abort(); - } catch (error) { - // Ignore abort errors - the controller might already be aborted - } - setCorrectionAbortController(null); - } - setCurrentNoteIndex(newIndex); setPreviousNote(noteCache[newIndex]); setIsPreviousNoteModified(false); @@ -1219,9 +1192,15 @@ ${content}`, // Handle wheel event for previous note navigation useEffect(() => { const handleWheel = (e: WheelEvent) => { - if (previousNoteRef.current?.contains(e.target as Node)) { + // Check if we're in the previous note area (either left or right pane) + const target = e.target as HTMLElement; + const isInPreviousNoteArea = previousNoteRef.current?.contains(target) || + target.closest('[data-previous-note-area]'); + + if (isInPreviousNoteArea) { e.preventDefault(); const delta = e.deltaY > 0 ? 1 : -1; + addDebugInfo(`Previous note scroll triggered: delta=${delta}`); handlePreviousNoteScroll(delta); } }; @@ -1385,14 +1364,7 @@ ${content}`, if (correctionTimeout) { clearTimeout(correctionTimeout); } - // Cancel any pending correction request on cleanup - if (correctionAbortController) { - try { - correctionAbortController.abort(); - } catch (error) { - // Ignore abort errors - the controller might already be aborted - } - } + // Cleanup complete }; }, [currentNote, previousNote, scratchPad, isPreviousNoteModified, isSearchOpen, isGotoOpen, isCleanupOpen]); @@ -2516,6 +2488,7 @@ ${content}`, {/* Previous Note - Top Half - Split Layout */}
{/* Left Side - Original Previous Note */} @@ -2565,19 +2538,21 @@ ${content}`,