Skip to content

Add Linux Inspector and installer improvements#699

Merged
mdshakib007 merged 1 commit into
devfrom
linux-inspector-installer
Jun 1, 2026
Merged

Add Linux Inspector and installer improvements#699
mdshakib007 merged 1 commit into
devfrom
linux-inspector-installer

Conversation

@mahbd
Copy link
Copy Markdown
Collaborator

@mahbd mahbd commented May 31, 2026

Summary

  • Linux Inspector: New installer service (linux_inspector.py) that checks and installs all system packages and Python libraries required for Linux desktop automation. Supports apt, dnf, and pacman package managers, including special handling for AlmaLinux/RHEL 9.
  • Linux category in installer route: Registers the Linux Inspector as a new category (Linux) in route.py so it appears in the installer UI alongside Android, Web, Windows, and macOS services.
  • Status checks bypass semaphore: Refactored _run_job_execute_job so that status action jobs skip the concurrency semaphore, preventing fast read-only status checks from queuing behind long-running installs.
  • Native categories patching: Added NATIVE_CATEGORIES = {"Linux", "Windows", "MacOS"} and included them in PATCH_CATEGORIES so node-side patch/forward logic covers desktop platform installers.
  • System info endpoint: Added GET /installer/system-info endpoint and system_info job action backed by get_formatted_system_info().
  • Linux app listing: Extended server/linux.py with LinuxAppInfo model and supporting routes for exposing installed application metadata.

Test plan

  • On a fresh Linux machine (Ubuntu/apt), run the Linux Inspector status check — it should correctly detect missing packages.
  • Run the Linux Inspector install — verify all packages in PACKAGES["apt"] and PIP_PACKAGES are installed.
  • Test on a dnf-based distro (Fedora/AlmaLinux) and a pacman-based distro (Arch) to confirm package manager detection works.
  • Submit concurrent status + install jobs and confirm status jobs resolve immediately without waiting for the install semaphore.
  • Hit GET /installer/system-info and verify a valid JSON response is returned.
  • Confirm the Linux Inspector card appears in the installer UI under the "Linux" category.

🤖 Generated with Claude Code

Introduce a Linux inspector module to check/install desktop
dependencies (system and Python packages) and register it in the
installer routes. Add /apps endpoint to list AT-SPI visible apps.
Switch blocking package checks/installs to asyncio.to_thread and run
status checks outside the global install semaphore so they don't queue.
Include node version in /status and add system_info dispatch support.
@Antu7
Copy link
Copy Markdown
Collaborator

Antu7 commented May 31, 2026

🔎 ZeuZ PR Review

Open the full report in ZeuZ: Review findings and apply suggestions

Overview Value
Agents ✅ 4 completed
Suggestions 💡 4

Agent breakdown

→ General Review

Status: ✅ Completed
Suggestions: 1 suggestion

Mostly solid PR: Linux support and the installer/status routing look coherent, but I found one correctness risk in the new Alma/RHEL 9 path that can report success too early.

→ Security Review

Status: ✅ Completed
Suggestions: 0 suggestions

No high-signal security findings in this PR diff. The new Linux inspector and installer paths follow the existing subprocess-based patterns, and I didn’t find a clear injection, authz, or secret-handling regression to flag.

→ Performance Review

Status: ✅ Completed
Suggestions: 1 suggestion

Found one performance issue: the new status endpoint now shells out to Git on every request, which is avoidable overhead on a hot path.

→ Testing Review

Status: ✅ Completed
Suggestions: 2 suggestions

The PR adds several new Linux- and installer-facing code paths, but I couldn’t find any corresponding tests in the repository. The main risk is regression in the new Linux Inspector flow and the new system-info/version endpoints going unnoticed.

Open ZeuZ to inspect full findings, continue an agent conversation, or apply safe patch suggestions.

@mdshakib007 mdshakib007 merged commit 542e1a4 into dev Jun 1, 2026
8 checks passed
@mdshakib007 mdshakib007 deleted the linux-inspector-installer branch June 1, 2026 05:29
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.

3 participants