Skip to content

Mac App Startup Issues (Resolved) #2430

@JacobBrooke95

Description

@JacobBrooke95

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:

  1. Starts Rails using full mise path
  2. Disables Solid Queue to prevent crashes
  3. Navigates to Fizzy UI from Rust after Rails is ready

Related Files

  • fizzy-app/src-tauri/src/rails_manager.rs - Rails process management
  • fizzy-app/src-tauri/src/main.rs - App entry point with navigation
  • fizzy-app/src-tauri/capabilities/default.json - Tauri capabilities for remote URLs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions