feat: model management improvements and folder migration#268
Conversation
- Add model folder migration with byte-level progress tracking (backend + UI) - Custom models directory support via VOICEBOX_MODELS_DIR env var passed to sidecar - Hardcoded model descriptions displayed in model detail cards - Open model folder button in storage location row - Remove 'not downloaded' badge from model cards - Fix server settings scroll offset for audio player - Fix shell open permission to allow file paths - Add normalize toggle to generation settings
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (20)
📝 WalkthroughWalkthroughThis PR introduces audio normalization functionality across the generation pipeline, adds model cache directory management with migration capabilities including progress tracking via SSE endpoints, and updates the platform lifecycle to accept an optional modelsDir parameter throughout the frontend and backend stack. Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant React as Client (React)
participant API as API Client
participant Server as Backend Server
participant Platform as Tauri Platform
User->>React: Click "Change" models directory
React->>React: Show confirmation dialog
User->>React: Confirm migration
React->>API: migrateModels(destination)
API->>Server: POST /models/migrate {destination}
Server->>Server: Create progress tracker<br/>Start background migration
Server-->>API: {source, destination}
React->>Server: Subscribe to SSE /models/migrate/progress
Server->>React: Stream progress updates<br/>(copied_bytes, filename)
Note over React: Display progress bar<br/>& file details
Server->>Server: Finish migration
Server->>React: Final progress event
React->>API: restartServer(customModelsDir)
API->>Platform: Invoke restart_server
Platform->>Server: Set VOICEBOX_MODELS_DIR env var<br/>Restart backend
Server-->>Platform: Server ready
Platform-->>API: Restart complete
React->>React: Invalidate queries
React->>User: Show success message
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
VOICEBOX_MODELS_DIRenv var, persisted inserverStore.@tauri-apps/plugin-shellopen).".*"regex instead oftrue) to allow opening file paths.Summary by CodeRabbit
Release Notes
New Features
Improvements
Documentation