Problem
In VendorDashboard.tsx (lines 447-460), the CSV export function creates a blob URL (window.URL.createObjectURL(blob)) but never calls revokeObjectURL() to release it. If the component unmounts before the user triggers the download, the blob URL leaks memory.
User impact: No visible user impact per se, but repeated CSV exports will accumulate unreleased blob URLs in memory.
Root Cause
The cleanup step was omitted during development.
What To Build
- Store blob URL in a ref
- Add
useEffect cleanup that calls revokeObjectURL() on unmount
- Alternatively, use a download approach that auto-releases after download
Files To Touch
src/pages/VendorDashboard.tsx — lines 447-460 add cleanup
Acceptance Criteria
Mandatory Checks
Problem
In VendorDashboard.tsx (lines 447-460), the CSV export function creates a blob URL (
window.URL.createObjectURL(blob)) but never callsrevokeObjectURL()to release it. If the component unmounts before the user triggers the download, the blob URL leaks memory.User impact: No visible user impact per se, but repeated CSV exports will accumulate unreleased blob URLs in memory.
Root Cause
The cleanup step was omitted during development.
What To Build
useEffectcleanup that callsrevokeObjectURL()on unmountFiles To Touch
src/pages/VendorDashboard.tsx— lines 447-460 add cleanupAcceptance Criteria
Mandatory Checks