| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-23 | 1.8 kB | |
| v1.0-beta.3 source code.tar.gz | 2026-05-23 | 8.6 MB | |
| v1.0-beta.3 source code.zip | 2026-05-23 | 8.6 MB | |
| Totals: 3 Items | 17.2 MB | 0 | |
What's new since v1.0-beta.2
🗜️ File Converter
- New browser-side File Converter tool — auto-detects image, audio, video, document, and subtitle files
- Image: PNG, JPEG, WebP, BMP, GIF conversion (Canvas-based)
- Audio: 11 formats — WAV, AIFF, AU, RAW (pure-JS PCM), MP3 (lamejs), OGG, OPUS, M4A, AAC, FLAC, AMR (MediaRecorder)
- Video→Audio: Three-tier fallback (decodeAudioData → capture at 4× speed → ffmpeg.wasm with core-st)
- Document: TXT, HTML, MD, PDF, DOCX, JSON, XML, CSV
- Subtitle: SRT, VTT, ASS, SUB, SBV, TXT, LRC, TTML
- Self-hosted ffmpeg.min.js (same-origin, no CDN dependency for library)
- Progress bar with determinate (ffmpeg) and indeterminate modes
- GPL domain protection
📱 Mobile improvements
- Fixed pull-to-refresh on mode-select page (overscroll-behavior on html/body/overlay)
- Fixed nav bar overcrowding — theme & mode-switch buttons hidden on mobile (accessible via sidebar/mode-select)
- Removed sidebar red warning text
⚡ Performance
- Video→audio: reduce decodeAudioData timeout 15s→5s, skip entirely for known video extensions
- Playback-rate acceleration: try 4Ă—, fall back 2Ă—, then 1Ă—
- captureStream detection hardened
- MediaRecorder → decodeAudioData → re-encode for PCM (faster than ScriptProcessorNode)
- ffmpeg runs on main thread with yield-to-browser before heavy work (UI repaint before freeze)
đź”§ Fixes
- convVideoToAudioCapture onloadedmetadata wrapped in try-catch (prevented hanging on mobile)
- ffmpeg.load() has 30-second timeout — gives clear error instead of hanging forever
- Download blob URL hidden from DOM, revoked after 5s
- escAttr escapes < and > (CodeQL alert [#62])
- CSP includes CDN and blob: for media/connect-src
- All 9 video→audio ffmpeg paths tested and produce valid headers