Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Comment: | Tournament share link: no localhost when the server configures no base URL
one-place asked (crystal-robots forum post 5d88ca5247) to move what isn't blocked: under OCX's app page the tournament's share link read http://localhost/..., since OCX passes no FOSSIL_URL and the Host header is deliberately not trusted. - src/web/cgi.cr: request_origin is nil with no FOSSIL_URL. The link page then shows the link alone, with its full path as text (/crystal-robots/ext/ocx2-cgi/app/crystal-robots/tournament?...). The browser makes it absolute from the address it is really on, so copying the link works. With FOSSIL_URL it is unchanged: the absolute URL as text and as link. - spec: the hostile-Host spec and the preview-path spec now expect the path link and no localhost; a new spec covers the app page. Checked: crystal run ci.cr all green; format check clean. Not checked yet: the live page, which needs a new stage run, import and accept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KKGmgTtUcBKzLx1WD7 |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | ocx-app |
| Files: | files | file ages | folders |
| SHA3-256: |
66bc8fd2b2ae015e840984901cd680ee |
| User & Date: | x86-1-crystal-robots 2026-11-09 10:59:34.827 |
|
2026-11-09
| ||
| 10:59 |
Tournament share link: no localhost when the server configures no base URL
one-place asked (crystal-robots forum post 5d88ca5247) to move what isn't blocked: under OCX's app page the tournament's share link read http://localhost/..., since OCX passes no FOSSIL_URL and the Host header is deliberately not trusted. - src/web/cgi.cr: request_origin is nil with no FOSSIL_URL. The link page then shows the link alone, with its full path as text (/crystal-robots/ext/ocx2-cgi/app/crystal-robots/tournament?...). The browser makes it absolute from the address it is really on, so copying the link works. With FOSSIL_URL it is unchanged: the absolute URL as text and as link. - spec: the hostile-Host spec and the preview-path spec now expect the path link and no localhost; a new spec covers the app page. Checked: crystal run ci.cr all green; format check clean. Not checked yet: the live page, which needs a new stage run, import and accept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KKGmgTtUcBKzLx1WD7 Leaf check-in: 66bc8fd2b2 user: x86-1-crystal-robots tags: ocx-app | |
|
2026-11-06
| ||
| 06:31 |
Serve crystal-robots as an OCX app, and build it for OCX's page deploy
The maintainer chose crystal-robots as the next app for OCX's page deploy (request: crystal-robots forum post c1af3faa97; requirements: ocx-console post 5ffe05c34b). OCX's page runs the accepted release at /crystal-robots/ext/ocx2-cgi/app/crystal-robots with only the request's fields: FOSSIL_URI and PATH_INFO, no SCRIPT_NAME, GATEWAY_INTERFACE or PATH. - src/cli.cr: the binary is the web app when FOSSIL_REPOSITORY or REQUEST_METHOD is set, not only GATEWAY_INTERFACE. With an empty environment it is the command line, which now says "usage: crystal-robots", as OCX's import smoke looks for. - src/web/cgi.cr: under OCX's app page, links, form actions and redirects come from FOSSIL_URI and the path after /app/NAME (with or without /ext/ocx2-cgi before it). Fossil's sign-in g= is relative to the repository. fossil is found as ocx-console finds it (the nearest fossil ancestor), since there is no PATH. The 403 page's Log in link now carries the repository's address, which raw HTML needs (a bug under Fossil's /ext too). Fossil's own /ext serves as before. - ci.cr: "-- programs" and "-- build OUT ARCH", as ocx-console's: the whole gate, then the static crystal-robots (API docs embedded), smoked with an empty environment, with gate.txt and release.txt. - tools/browser-rootfs: copied from ocx-console (MIT, check-in 170ebb1105), for make-static, the Alpine static libraries the build links. - patterns/stage.md: the stage pattern, ocx-console's for crystal-robots. Checked: crystal run ci.cr -- build OUT x86_64 is green (209 examples, 0 failures, 35 pending: node, wasmer and browser) and writes a 4 MB static crystal-robots that prints its usage under env -i. Run as OCX runs an app (env -i, only OCX's request fields, cwd the release directory, against a real clone), signed out and signed in: overview, version, battle, tournament, wiki-robots.json (fossil sql with no PATH) and the API docs all answer, every link under /ext/ocx2-cgi/app/crystal-robots, and sign-in links carry g= relative to the repository. Known: a tournament's share link still falls back to http://localhost, since OCX passes no FOSSIL_URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KKGmgTtUcBKzLx1WD7 check-in: 29fc8f597a user: x86-1-crystal-robots tags: ocx-app | |