-
Notifications
You must be signed in to change notification settings - Fork 913
Description
Overview
During development of the Fizzy Mac app (Tauri wrapper), several startup issues were encountered and resolved. This issue documents these problems and their solutions for future reference.
Issues Fixed
1. mise Not Found in GUI Apps
Problem: When launching the app via Finder (not terminal), the mise command wasn't in PATH, causing Rails startup to fail.
Error: Failed to spawn Rails process: No such file or directory
Solution: Use the full path to mise in rails_manager.rs:
let child = Command::new("/opt/homebrew/bin/mise")
.args(["exec", "--", "bin/rails", "server", "-p", &RAILS_PORT.to_string()])2. Solid Queue Crashes on Startup
Problem: Solid Queue (background job processor) was attempting to start within Puma and crashing, taking down the Rails server.
Error: Puma would start but immediately crash with Solid Queue errors.
Solution: Disable Solid Queue in the Puma process:
.env("SOLID_QUEUE_IN_PUMA", "false")3. WebView Navigation Blocked
Problem: After Rails started, the loading screen wouldn't redirect to the Fizzy UI. JavaScript's window.location.href from tauri:// protocol to http:// was blocked by cross-origin restrictions.
Symptom: Loading screen showed "Server ready! Redirecting..." but never navigated.
Solution: Navigate from Rust after Rails is ready, using Tauri's window API:
if let Some(window) = app_handle.get_webview_window("main") {
let url = "http://fizzy.localhost:3006".parse().unwrap();
window.navigate(url);
}Current Status
All issues resolved. The app now:
- Starts Rails using full mise path
- Disables Solid Queue to prevent crashes
- Navigates to Fizzy UI from Rust after Rails is ready
Related Files
fizzy-app/src-tauri/src/rails_manager.rs- Rails process managementfizzy-app/src-tauri/src/main.rs- App entry point with navigationfizzy-app/src-tauri/capabilities/default.json- Tauri capabilities for remote URLs