Fix: yt-dlp compatibility + i18n resource loading in production #852
+5,563
−28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes two fixes:\n\n1) yt-dlp compatibility\n- Pin yt-dlp to 2025.10.22 (nsig extraction fix)\n- Auto-download yt-dlp if missing\n- Suppress warnings with --no-warnings\n\n2) i18n production loading\n- Add Tauri command read_translation_file to read JSON from app bundle Contents/Resources/locales\n- Update i18n backend to load 'common' and 'language' via invoke (maintains dev behavior)\n- Fixes JSON parse errors in release builds caused by frontend FS reads returning binary data\n\nTesting notes\n- YouTube test URL: https://www.youtube.com/watch?v=Prd6oNFrhDI\n- Translations located under Contents/Resources/locales//{common,language}.json\n- Verified labels render in built macOS app\n\nScope\n- No breaking changes; minimal backend helper and frontend wiring.\n\nPlease review and let me know if you prefer using app_handle.path().resource_dir() in the Rust command; functional as-is but can be adjusted in a follow-up.}