From 34911d3a43c3eeed518920f3cc114274c97948a9 Mon Sep 17 00:00:00 2001 From: Daniel Widgren Date: Mon, 29 Jun 2026 20:06:43 +0200 Subject: [PATCH] docs: fix ex_doc broken references ex_doc emitted five warnings on every build: - guides/self-hosting.md and LICENSE exist but were not in the ex_doc extras list, so the README links to them did not resolve. Added both (self-hosting.md to the Guides group). - lua-scripting.md's Next Steps linked configuration.md and websocket-protocol.md, which do not exist in this repo. Repointed them to the canonical pages on asobi.dev and added the self-hosting link. - security-trust-model.md autolinked asobi_lua_loader:bounded_eval/2, which is private (ADR 0002 keeps it for init/tick/get_state but it is not exported). Reworded to name the wrapper without the dead autolink. ex_doc now builds with zero warnings. --- guides/lua-scripting.md | 5 +++-- guides/security-trust-model.md | 4 ++-- rebar.config | 7 +++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/guides/lua-scripting.md b/guides/lua-scripting.md index fd9d1d6..c4278a6 100644 --- a/guides/lua-scripting.md +++ b/guides/lua-scripting.md @@ -559,5 +559,6 @@ still work for client-side filtering without a zone process. ## Next Steps - [Bots](lua-bots.md) -- add AI-controlled players to your game -- [Configuration](configuration.md) -- all Asobi configuration options -- [WebSocket Protocol](websocket-protocol.md) -- client-server message format +- [Self-hosting](self-hosting.md) -- production deployment and live updates +- [Configuration](https://asobi.dev/docs/configuration) -- all Asobi configuration options +- [WebSocket Protocol](https://asobi.dev/docs/protocols/websocket) -- client-server message format diff --git a/guides/security-trust-model.md b/guides/security-trust-model.md index 74e8cf7..d4db91f 100644 --- a/guides/security-trust-model.md +++ b/guides/security-trust-model.md @@ -51,8 +51,8 @@ etc.) is rejected with a `terrain_provider_not_allowed` warning. ## Per-callback isolation -Most Lua callbacks run inside a child process spawned by -`asobi_lua_loader:bounded_eval/2` with a wall-clock timeout and a +Most Lua callbacks run inside a child process spawned by the loader's +`bounded_eval` wrapper with a wall-clock timeout and a `max_heap_size: kill => true`. A runaway loop or a runaway allocation in those callbacks crashes the child, the parent gen_server receives a `{error, timeout | heap_exhausted}` result, and the match continues. diff --git a/rebar.config b/rebar.config index 6c3f1fd..c65e170 100644 --- a/rebar.config +++ b/rebar.config @@ -78,15 +78,18 @@ <<"README.md">>, <<"guides/lua-scripting.md">>, <<"guides/lua-bots.md">>, + <<"guides/self-hosting.md">>, <<"guides/security-sandbox.md">>, <<"guides/security-trust-model.md">>, <<"guides/security-known-limitations.md">>, - <<"SECURITY.md">> + <<"SECURITY.md">>, + <<"LICENSE">> ]}, {groups_for_extras, [ {<<"Guides">>, [ <<"guides/lua-scripting.md">>, - <<"guides/lua-bots.md">> + <<"guides/lua-bots.md">>, + <<"guides/self-hosting.md">> ]}, {<<"Security">>, [ <<"guides/security-sandbox.md">>,