.agents/memory/2026-02-24-youtube-converter-ui-rewrite-to-tauri-v2.md

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:

  1. Scaffold Tauri project structure in existing repo
  2. Port HTML/CSS UI from customtkinter layout (title, deps status bar, URL/filename inputs, format/quality dropdowns, modal dialogs)
  3. 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)
  4. Configure shell permissions in capabilities/default.json
  5. Wire up JavaScript to call invoke() for backend commands

Status

Plan approved and implementation beginning. All file structure, dependencies, and verification steps documented.