Description Findings
SSE JSON.parse without try/catch (High)
src/frontend/src/hooks/useJobStream.ts line 55: Malformed SSE data crashes the event handler silently.
Multiple unhandled async errors in BrowsePage (High)
src/frontend/src/pages/BrowsePage.tsx: handleAnalyze, handleAddTag, handleRemoveTag, handleSaveNote, handleSetContentPath, handleOverrideUrl, handleSetDuration, handleFlag — none have try/catch.
Polling timer not cleaned up on unmount (High)
src/frontend/src/pages/BrowsePage.tsx lines 271-287: Recursive setTimeout continues after unmount.
Excessive unknown types in API service (Medium)
src/frontend/src/services/api.ts: Multiple methods return unknown or { items: unknown[] }, undermining TypeScript safety.
Duplicated catalogUrl with different base URLs (Medium, likely bug)
RecCard.tsx:34 uses demo.redhat.com vs BrowsePage.tsx:103 uses catalog.demo.redhat.com — one is likely wrong.
cc @stencell
Reactions are currently unavailable
You can’t perform that action at this time.
Findings
SSE JSON.parse without try/catch (High)
src/frontend/src/hooks/useJobStream.tsline 55: Malformed SSE data crashes the event handler silently.Multiple unhandled async errors in BrowsePage (High)
src/frontend/src/pages/BrowsePage.tsx:handleAnalyze,handleAddTag,handleRemoveTag,handleSaveNote,handleSetContentPath,handleOverrideUrl,handleSetDuration,handleFlag— none have try/catch.Polling timer not cleaned up on unmount (High)
src/frontend/src/pages/BrowsePage.tsxlines 271-287: RecursivesetTimeoutcontinues after unmount.Excessive
unknowntypes in API service (Medium)src/frontend/src/services/api.ts: Multiple methods returnunknownor{ items: unknown[] }, undermining TypeScript safety.Duplicated catalogUrl with different base URLs (Medium, likely bug)
RecCard.tsx:34usesdemo.redhat.comvsBrowsePage.tsx:103usescatalog.demo.redhat.com— one is likely wrong.cc @stencell