Skip to content

Avoid reboot prompts after identical Hyprland reinstalls - #10524

Open
Brams-s wants to merge 1 commit into
omacom:quattrofrom
Brams-s:fix/hyprland-reinstall-reboot-check
Open

Avoid reboot prompts after identical Hyprland reinstalls#10524
Brams-s wants to merge 1 commit into
omacom:quattrofrom
Brams-s:fix/hyprland-reinstall-reboot-check

Conversation

@Brams-s

@Brams-s Brams-s commented Sep 6, 2026

Copy link
Copy Markdown

Reinstalling an unchanged Hyprland package replaces the executable inode. The running /proc/<pid>/exe link then ends in (deleted) even when its bytes exactly match the installed replacement, so the updater incorrectly requests a reboot.

Compare the running executable with its replacement before requesting a reboot. Check the current user's Hyprland PIDs individually so SDDM and other users' compositors are excluded, and request at most one compositor reboot. A different or unavailable replacement retains the existing prompt. Kernel handling and confirm_reboot behavior remain unchanged.

Six regression cases use real copied executables and /proc links: unchanged, identical reinstall, a changed executable among multiple processes, multiple changed processes, missing replacement, and no compositor. System actions are stubbed. On the affected desktop, the running deleted executable and installed Hyprland had identical SHA-256 hashes.

Validation: all six regression cases, command metadata, shell/Python syntax, and diff checks pass. Full CLI suite: 112 assertions pass. Full shell suite: 225/228 files pass initially. The desktop IPC smoke test passes all 16 assertions when rerun alone; Snapper passes all 8 after providing the required sibling omarchy-iso checkout. The remaining bin-style failure is reproduced on unmodified HEAD: existing raw command -v gum calls in omarchy-remove-ai-openclaw and omarchy-remove-ai-hermes.

Prepared with Codex assistance; reproduction, live executable comparison, tests, and review were performed locally.

The ARM updater that exposed this is addressed separately in omarchy-mac#360; this change also covers identical reinstalls through other update paths.

CI availability: this upstream branch has no repository test workflows under .github/workflows, and GitHub reports no test checks for this PR. The focused regression suite was independently rerun and passes all six cases; this should not be described as an upstream CI pass.

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