Bug Description
The custom preset inputs in PresetSelector.tsx have HTML min='16' and max='7680' attributes, but there's no JavaScript-level validation preventing users from typing values like 0, 1, or negative numbers via keyboard. These values bypass the HTML validation and get passed to FFmpeg, causing encoding errors.
Steps to Reproduce
- Select 'Custom' preset
- Click on the width input and manually clear it, then type '-1' or '0'
- Click Export
- FFmpeg error occurs
Expected Behavior
JavaScript validation should prevent invalid dimension values before export is triggered.
File Reference
src/components/PresetSelector.tsx — custom input onChange handlers
src/hooks/useVideoEditor.ts — handleExport() should validate recipe before starting
Bug Description
The custom preset inputs in
PresetSelector.tsxhave HTMLmin='16'andmax='7680'attributes, but there's no JavaScript-level validation preventing users from typing values like0,1, or negative numbers via keyboard. These values bypass the HTML validation and get passed to FFmpeg, causing encoding errors.Steps to Reproduce
Expected Behavior
JavaScript validation should prevent invalid dimension values before export is triggered.
File Reference
src/components/PresetSelector.tsx— custom inputonChangehandlerssrc/hooks/useVideoEditor.ts—handleExport()should validate recipe before starting