Order the migration notifier after graphical-session.target
omarchy-migrate-notify.service is a Type=oneshot wanted by graphical-session.target, and systemd complements a target's Wants= with an implicit After=, so the target waited for the notifier to exit. The notifier does not exit quickly: it sends the notification through systemd-run --scope, which is synchronous, and omarchy-notification-send -a blocks until the user clicks. The target stayed in activating for as long as the toast was up. wayland-wm-app-daemon.service is After=graphical-session.target and nothing wants it, so uwsm-app starts it on demand. Clicking the notification runs omarchy-launch-floating-terminal-with-presentation, which execs uwsm-app, which blocks on a systemctl --user restart of that daemon -- a job queued behind the very target the clicked notifier was holding open. The terminal never opened; uwsm-app gave up on its own pipe timeout instead. Declaring After= on the wanted unit suppresses the implicit dependency rather than forming a cycle, so the target is reached without waiting and the notifier runs behind it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
2fb33a2a6a
commit
c7e327b05a
@@ -37,7 +37,9 @@ pass "no unit watches the migration directory, so package updates cannot trigger
|
||||
notify_service="$ROOT/default/systemd/user/omarchy-migrate-notify.service"
|
||||
grep -Fx 'ExecStart=/usr/bin/omarchy-migrate-notify' "$notify_service" >/dev/null
|
||||
grep -Fx 'WantedBy=graphical-session.target' "$notify_service" >/dev/null
|
||||
pass "migration notifier only checks once per login"
|
||||
grep -Fx 'After=graphical-session.target' "$notify_service" >/dev/null ||
|
||||
fail "migration notifier can deadlock UWSM by blocking graphical-session.target"
|
||||
pass "migration notifier checks once per login after the graphical session is ready"
|
||||
|
||||
grep -F 'omarchy-migrate-notify.service' "$first_run_units" >/dev/null ||
|
||||
fail "first-run does not enable the login migration notifier"
|
||||
|
||||
Reference in New Issue
Block a user