Skip to content

Fix installer hangs and harden dependency/setup error handling#615

Open
DarkenedShade wants to merge 3 commits intofatihak:mainfrom
DarkenedShade:fix/install-deps
Open

Fix installer hangs and harden dependency/setup error handling#615
DarkenedShade wants to merge 3 commits intofatihak:mainfrom
DarkenedShade:fix/install-deps

Conversation

@DarkenedShade
Copy link
Copy Markdown

Why

Installer runs could appear stuck (notably around symlink creation) because the progress spinner sometimes tracked an invalid/stale process ID.
The install flow also had limited recovery/reporting for interrupted package operations and setup failures.

What changed

Updated spinner logic to track an explicit PID and use reliable process checks.
Removed spinner usage for foreground commands and replaced it with direct success/failure checks.
Added recovery for interrupted/broken package state before dependency install.
Added fail-fast error handling for apt installs, service enable/start steps, venv tooling, and Python dependency installs.
Added explicit success/error handling for config copy, install path cleanup, and source symlink creation.
Added required Debian packages to improve native/image dependency builds during install.

Result

Prevents false “stuck” states during install.
Improves reliability on partially broken systems.
Produces clearer, actionable errors when a step fails.

avoid spinner waiting on stale PID in show_loader
replace foreground spinner calls with direct success/error checks
keep service stop spinner tied to actual background process
Copilot AI review requested due to automatic review settings March 4, 2026 04:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves the reliability of the Debian-based installer by removing/limiting spinner usage, adding repair steps for interrupted/broken apt/dpkg states, and introducing fail-fast checks with clearer error reporting for key installation steps.

Changes:

  • Update spinner logic to track explicit PIDs and rely on kill -0 for liveness checks.
  • Add recovery + fail-fast handling around dpkg/apt, systemd service setup, venv tooling, and pip installs.
  • Expand Debian package requirements to better support native/image dependency builds.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
install/install.sh Refactors spinner behavior and adds robust failure handling for apt/dpkg, services, venv/pip, config copy, install path cleanup, and symlink creation.
install/debian-requirements.txt Adds missing build/runtime packages (libjpeg-dev, pkg-config) needed by some native/image dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread install/install.sh Outdated
Comment thread install/install.sh Outdated
Comment thread install/install.sh Outdated
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.

2 participants