Overview
Blob URLs remain in browser memory until explicitly revoked with URL.revokeObjectURL(). After a user downloads their video, the blob URL should be revoked to free memory and prevent the URL from being accessible via browser history.
Risk
- Memory accumulation across multiple exports
- Blob URL accessible in browser history
Implementation
In DownloadResult.tsx, after download:
const handleDownload = () => {
// Download initiates
// After a delay (to allow browser to process)
setTimeout(() => URL.revokeObjectURL(result.blobUrl), 1000)
}
Also revoke in reset() function.
Acceptance Criteria
Overview
Blob URLs remain in browser memory until explicitly revoked with
URL.revokeObjectURL(). After a user downloads their video, the blob URL should be revoked to free memory and prevent the URL from being accessible via browser history.Risk
Implementation
In
DownloadResult.tsx, after download:Also revoke in
reset()function.Acceptance Criteria