fix(desktop): launcher real-run fixes — Docker PATH, project isolation, no stranded config - #80
Merged
Merged
Conversation
…on spawn error
A Finder-launched macOS app inherits a minimal PATH (/usr/bin:/bin:/usr/sbin:/sbin)
that omits /usr/local/bin where Docker Desktop's CLI lives, so spawn('docker')
ENOENTs even with Docker installed — surfacing as a main-process crash (streamDocker
had no error handler) and a false 'Docker is not installed' in the wizard. Prepend the
known docker bin dirs to PATH (tested dockerSearchPath helper) and swallow streamDocker
spawn errors so the log tail can't crash the app.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…onfig only after success (1) PROJECT_NAME donna→donna-desktop: the launcher shared project 'donna' with the build-from-source/raw-lq-ai dev stacks, so it reused their postgres volume — whose password differs from the launcher's generated one → api 'password authentication failed' crash-loop. A distinct project gives the launcher its own isolated volumes. (2) saveConfig only after the stack is healthy + admin created, so a failed first run re-shows the wizard instead of stranding a half-configured install. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Kevin-Tucuxi
added a commit
that referenced
this pull request
Jun 14, 2026
…d end-to-end Signed/notarized dmg → wizard (password under admin@lq.ai, live progress) → isolated donna-desktop stack healthy → login → stop/relaunch/engine-absent all confirmed. Documents the four real-run bugs this walkthrough caught + fixed (#80, #81). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Kevin-Tucuxi
added a commit
that referenced
this pull request
Jul 5, 2026
fix(desktop): launcher real-run fixes — Docker PATH, project isolation, no stranded config
Kevin-Tucuxi
added a commit
that referenced
this pull request
Jul 5, 2026
…d end-to-end Signed/notarized dmg → wizard (password under admin@lq.ai, live progress) → isolated donna-desktop stack healthy → login → stop/relaunch/engine-absent all confirmed. Documents the four real-run bugs this walkthrough caught + fixed (#80, #81). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes surfaced by the Task 13 live walkthrough (all verified on the real signed
.dmg):/usr/local/bin, sospawn('docker')ENOENT'd — crashing the app (the log tail had no error handler) and showing a false "Docker is not installed". Prepend the known docker bin dirs (testeddockerSearchPath) + swallowstreamDockerspawn errors.PROJECT_NAMEdonna→donna-desktopso the launcher gets its own volumes and never collides with the build-from-source / raw-lq-ai dev stacks. (The old name reused the devdonna_pgdatavolume → Postgres password mismatch →apicrash-loop.)Verified live: signed/notarized dmg → wizard →
donna-desktopstack 8/8 healthy → login succeeded.Merge with a merge commit (never squash).
🤖 Generated with Claude Code