Skip to content

feat(launcher): implement Rust launcher, single-instance mutex, and environment manager - #4

Merged
BerryUIKI merged 1 commit into
devfrom
feature/rust-launcher-manager
Sep 23, 2026
Merged

BerryUIKI merged 1 commit into
devfrom
feature/rust-launcher-manager

Conversation

@BerryUIKI

Copy link
Copy Markdown
Owner

Description

This PR delivers the native Rust launcher binary (berry.exe), single-instance coordination, port collision resolution, and startup readiness probing for Berry AI Studio (Milestone 6 / L01–L12).

Summary of Changes:

  • Native Windows Rust Launcher (launcher/): Standalone lightweight binary built with direct Win32 FFI and ureq REST client.
  • Accurate Staged Startup (L02): Implemented 4-stage readiness sequence checking environment, ports, single-instance mutex, and backend health probe before opening browser.
  • Single-Instance Mutex & Port Resolution (L03): Windows Named Mutex (Global\BerryAIStudioLauncherMutex) ensures second launches focus the active workspace without spawning duplicate processes; occupied port detection provides actionable diagnostics.
  • Supervisor & Client Integration (L04–L12): Command routing for berry, berry manager, berry status, berry stop [--force], berry engine, berry models, and berry update.
  • Scripts Update (scripts/): Updated launch.bat and start-berry.ps1 to prioritize berry.exe.

Verification:

  • cargo build --release and cargo test pass cleanly.
  • Staged readiness checks and CLI verified live on Windows.

@BerryUIKI
BerryUIKI merged commit 41c66d3 into dev Sep 23, 2026
3 checks passed
@BerryUIKI
BerryUIKI deleted the feature/rust-launcher-manager branch October 4, 2026 20:05
BerryUIKI added a commit that referenced this pull request Oct 8, 2026
Finding #4: Pillow import name is PIL, not pillow.
Add venv creation tests to verify engine isolation capability.
Test app.main import to verify backend startup works.
Verify staged runtime, not just source runtime.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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