Skip to content

Migrate from egui to Tauri v2 + React + TypeScript#2

Merged
petrosbal merged 11 commits into
mainfrom
tauri-migration
Jun 30, 2026
Merged

Migrate from egui to Tauri v2 + React + TypeScript#2
petrosbal merged 11 commits into
mainfrom
tauri-migration

Conversation

@petrosbal

Copy link
Copy Markdown
Owner

Summary

  • Replaces the egui/pure-Rust stack with Tauri v2 (Rust backend) + React + TypeScript frontend
  • Bundles yt-dlp and ffmpeg under src-tauri/vendor/, extracted at runtime — no user setup required
  • Downloads stream real-time progress from Rust to the UI via Tauri events over a download://progress channel
  • Cancel support via cancel_download command that kills the running yt-dlp process
  • Full CI: ESLint, TypeScript type check, cargo check, automated Linux + Windows releases via Release Please

…ffold

- Removes egui frontend and standalone Rust Cargo configuration
- Scaffolds Tauri v2 project with React and TypeScript via Vite
- Relocates yt-dlp and ffmpeg binaries to src-tauri/bin/
- Relocates MPGrab logo to src/assets/
- Updates README with new stack, design decisions, and installation guide
- Updates .gitignore and adds Makefile for development workflow
- Adds CI workflow that runs TypeScript and Rust type checks on every
  push and pull request to main
- Adds Release Please workflow that automates versioning, changelog
  generation, and binary builds for Linux and Windows on release
- Adds release-please-config.json to keep versions in sync across
  package.json, Cargo.toml, and tauri.conf.json
- Adds .release-please-manifest.json seeded at v0.1.1
- Fixes husky commit-msg hook to source nvm and quote the argument
- Adds ESLint v9 with TypeScript, React Hooks, and React Refresh plugins
- Adds Prettier with project style preferences
- Adds eslint-config-prettier to prevent rule conflicts between the two
- Adds lint step to CI workflow
- Formats existing scaffold files to match Prettier config
- Adds @tailwindcss/vite plugin and configures Tailwind v4 in App.css
- Adds @ path alias in vite.config.ts and tsconfig.json for shadcn compatibility
- Initializes shadcn/ui with Base library and Vega preset (Lucide/Inter)
- Adds Button component and cn utility as baseline
@petrosbal petrosbal merged commit a95eecd into main Jun 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant