Fixed
- Fixed downloads failing at 100% with “Invalid filename” or “filename must not contain illegal characters” when titles contain emoji zero-width joiners and other characters rejected by browser download APIs. Addresses the filename export reports in #290 and #590.
- Sanitize names again before final export, preserve Japanese text and ordinary emoji, and keep the output extension when shortening long names. Applies to MP4, MKV, and standalone subtitles.
Build tooling
- Updated the affected build and test dependencies so the release security gate passes, replacing the local brace-expansion compatibility patch with the fixed upstream package.
- Reproducible builds now use Node.js 22.22.2, npm 10.9.7, and pnpm 10.34.4. Browser minimum versions and extension permissions are unchanged.
Installation
- Chromium: load
extension-mv3-chrome.zipas an unpacked extension. - Firefox: these GitHub build archives are unsigned and can be loaded temporarily through
about:debugging. Firefox Add-ons distribution requires separate Mozilla signing and approval.
Validation
- 293 unit, integration, and component tests passed; typechecking and the security gate passed.
- All six MV2/MV3 archives, including variants without the blocklist, built and passed archive/version inspection. Firefox package lint reported 0 errors and 6 existing warnings.
- Real streams from the reports were downloaded with the release candidate in Chromium 153 and Firefox 157 on macOS. The original builds reproduced the filename rejection; fixed builds saved MP4s that FFmpeg decoded without errors, including separate video and audio from the linked X post.
- Native Save As dialog interaction and the reporter’s Windows/Firefox 158 environment were not manually tested.