1.5 KiB
2026-02-24 Session Notes
YouTube Converter UI Rewrite to Tauri v2
Session focused on planning and beginning implementation of a major UI rewrite for the YouTube-to-Audio converter. The existing customtkinter UI is broken on Linux/Wayland (transparency artifacts, font rendering issues, no rounded corners, unicode escape problems). The solution is to rewrite as a Tauri v2 desktop app with a vanilla HTML/CSS frontend and Rust backend.
Architecture
Frontend will be a single index.html + vanilla JS + CSS (no framework) with the exact same dark theme color scheme (#1a1a2e bg, #16213e cards, #e94560 accent). Backend will use Rust via Tauri commands and tauri-plugin-shell to invoke yt-dlp/ffmpeg directly — no Python runtime needed. The existing youtube_to_wav.py stays in the repo as a standalone fallback.
Implementation Plan
Key tasks identified:
- Scaffold Tauri project structure in existing repo
- Port HTML/CSS UI from customtkinter layout (title, deps status bar, URL/filename inputs, format/quality dropdowns, modal dialogs)
- Implement Rust commands:
check_deps(which yt-dlp/ffmpeg),install_deps(brew/pacman/apt detection),download(build and run yt-dlp command),pick_directory(native folder picker via tauri-plugin-dialog) - Configure shell permissions in capabilities/default.json
- Wire up JavaScript to call invoke() for backend commands
Status
Plan approved and implementation beginning. All file structure, dependencies, and verification steps documented.