effefdeb0368bc27c9b725e5a78e74e1341a6262
ai-server is now something Dev Updater can install, start and stop from the phone: the project declares a Server component naming ./server/service, and that script is where knowing about systemd and OpenRC lives. Detection asks rather than looks -- `systemctl --user show-environment` answering, or `rc-service --user` existing -- because a machine can carry both binaries and an OpenRC below 0.60 has rc-service without --user. Neither present is an error with a message, not a guess at a fallback. Two things the script will not do. It never prompts: Dev Updater runs it with stdin closed, so a sudo prompt would hang rather than fail, and anything needing root exits telling you to run it yourself once. And on OpenRC it refuses when XDG_RUNTIME_DIR is unset rather than proceeding -- user services store their state there, and the failure otherwise reads as a broken service instead of a missing variable. The server is declared before the app so it is built and delivered first; a failed APK build then leaves the phone with the APK it already had rather than half of a matched pair. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QQz6R4kBQcWSHBNZMgBnjL
Languages
Rust
54%
Kotlin
43.6%
Shell
2.4%