47e3b260d5
This removes the %http-response special case from gall. In its place, we implement a subscription regime with the following steps: - Agent sends %connect to Eyre - Eyre pokes agent with %handle-http-response, including unique eyre-id - Agent passes %start-watching to Eyre with eyre-id and unique app-id - Eyre subscribes to agent on /http-response/app-id - Agent produces a %http-response-header fact followed by 0 or more %http-response-data facts and possibly a %http-response-cancel fact - Agent produces a %kick to close the subscription, which Eyre interprets as completion of the message. This works when there is data. There is currently a bug where if the response has no data in total (as in the case of a naked 404), no response will be sent. This also includes lib/http-handler, which implements a convenient interface for agents that want to respond immediately with all the data. This lets them avoid carrying extra state to keep track of pending requests. This should really have access to your state and the ability to change it. Perhaps a more minimalist design would be better: just keep track of the requests, then hand it off to +on-watch when eyre is ready to receive responses. It's not clear how to pass in the request data in +on-watch. |
||
---|---|---|
.. | ||
.travis | ||
age | ||
app | ||
gen | ||
imp | ||
lib | ||
mar | ||
ren | ||
sur | ||
sys | ||
tests | ||
.gitignore | ||
.travis.yml | ||
LICENSE.txt | ||
README.md | ||
TESTING.udon |
Arvo
A clean-slate operating system.
Usage
To run Arvo, you'll need Urbit. To install Urbit and run Arvo please follow the instructions in the getting started docs. You'll be on the live network in a few minutes.
If you're doing development on Arvo, keep reading.
Documentation
Find Arvo's documentation on urbit.org.
Development
To boot a fake ship from your development files, run urbit
with the following arguments:
urbit -F zod -A /path/to/arvo -c fakezod
Mount Arvo's filesystem allows you to update its contents through Unix. To do so, run |mount
in dojo. It is most common to |mount /=home=
.
To create a custom pill (bootstrapping object) from the files loaded into the home desk, run .my/pill +solid
. Your pill will appear in /path/to/fakezod/.urb/put/my.pill
.
To boot a fake ship with a custom pill, use the -B
flag:
urbit -F zod -A /path/to/arvo -B /path/to.pill -c fakezod
To run all tests in /tests
, run +test
in dojo. +test /some/path
would only run all tests in /tests/some/path
.
Maintainers
Most parts of Arvo have dedicated maintainers.
/sys/hoon
: @pilfer-pandex (~pilfer-pandex)/sys/zuse
: @pilfer-pandex (~pilfer-pandex)/sys/arvo
: @jtobin (~nidsut-tomdun)/sys/vane/ames
: @belisarius222 (~rovnys-ricfer) & @joemfb (~master-morzod)/sys/vane/behn
: @belisarius222 (~rovnys-ricfer)/sys/vane/clay
: @philipcmonk (~wicdev-wisryt)/sys/vane/dill
: @bernardodelaplaz (~rigdyn-sondur)/sys/vane/eyre
: @eglaysher (~littel-ponnys)/sys/vane/ford
: @belisarius222 (~rovnys-ricfer) & @eglaysher (~littel-ponnys)/sys/vane/gall
: @jtobin (~nidsut-tomdun)/sys/vane/jael
: @fang- (~palfun-foslup) & @joemfb (~master-morzod)/app/acme
: @joemfb (~master-morzod)/app/dns
: @joemfb (~master-morzod)/app/hall
: @fang- (~palfun-foslup)/app/talk
: @fang- (~palfun-foslup)/app/aqua
: @philipcmonk (~wicdev-wisryt)/lib/test
: @eglaysher (~littel-ponnys)
Contributing
Contributions of any form are more than welcome! Please take a look at our contributing guidelines for details on our git practices, coding styles, how we manage issues, and so on.
You might also be interested in:
- joining the urbit-dev mailing list.
- applying to Hoon School, a course we run to teach the Hoon programming language and Urbit application development.