Repository navigation
chore: CI, community docs, dependency security upgrades and missing-binary handling - #1
Merged
Merged
Conversation
Group Node.execute clauses, drop unused code in LLM and Endpoint, and fix GatewaySupervisorTest (reuse the app-supervised instance, pass a map config). Tag hardware-dependent NodeTest cases with :hardware; skipped unless ELIXIR_CLAW_HARDWARE_TESTS=1.
Use an Elixir runtime image (the escript needs Erlang), correct Alpine package names, add .dockerignore, and drop the deps.get alias that started the app during 'mix deps.get --only prod'.
GitHub Actions (format, warnings-as-errors, tests, escript, docker build), CONTRIBUTING, CHANGELOG, CODE_OF_CONDUCT; tick completed VIRAL_STRATEGY items.
Update cowboy, plug, phoenix, mint, hpax and friends within their ranges and bump phoenix_live_view to ~> 1.2. Replace the deprecated controller :namespace option with formats: [:json]. Remaining: cowlib EEF-CVE-2026-43966 (no fixed release yet).
…shing
System.cmd raised :enoent when scrot/ffmpeg/notify-send/gpspipe were missing,
and failed captures were reported as ok with a nonexistent path. Route all
external commands through exec/exec_ok, return %{ok: false, error: ...}, and
accept camera names with spaces. Tests simulate absent binaries via an empty
PATH.
This was referenced Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--warnings-as-errorscompile, tests, escript build, Docker build).CONTRIBUTING.md,CHANGELOG.md,CODE_OF_CONDUCT.md; ticked the completed items inVIRAL_STRATEGY.md.mix hex.audit(cowboy, cowlib, plug, plug_cowboy, phoenix, phoenix_live_view 0.20 -> 1.2, mint, hpax). One remains:cowlibEEF-CVE-2026-43966 (MEDIUM); 2.21.0 is the latest release and has no fix yet.deps.getalias inmix.exsthat started the app duringmix deps.get --only prod). Fixed, added.dockerignore.System.cmdraised:enoentwhenscrot/ffmpeg/notify-send/gpspipewere missing. All external commands now go throughexec/exec_okand return%{ok: false, error: "required command not found: <cmd>"}. Failed captures were previously reported asok: truewith a path to a file that was never written; they now fail honestly. Camera names with spaces (e.g. "FaceTime HD Camera") were rejected as:invalid_deviceand are now accepted.GatewaySupervisorTest(it started a supervisor the app already runs and passed a keyword list where a map is expected), ranmix format. Tests needing real camera/screen/notification/GPS tooling are tagged:hardwareand skipped unlessELIXIR_CLAW_HARDWARE_TESTS=1.Test plan
mix format --check-formatted,mix compile --warnings-as-errors,mix test(76 tests, 16:hardwareexcluded) on macOSelixir:1.19Linux containerdocker buildanddocker run ... --help/api/*routes return 200 with the upgraded stackKnown issue (not caused by this PR)
The LiveView pages (
/,/nodes, ...) return 500 even on the original commit: the endpoint has no session plug / error view configured. Left for a separate change.