b6e8cd616f
We previously had no mechanism for giving error responses, if a client submitted an invalid request into a channel. Guest access makes this important, because guests cannot interact with remote ships. Attempting to do so will cause a gall crash. Here, we add error handling logic to channel request processing. We catch the invalid cases described above and invalidate the entire batch of channel requests if they occur. We make sure to drop the moves and revert the state we changed, and give a 400 to the client that informally describes the problem(s). |
||
---|---|---|
.github | ||
bin | ||
doc/spec | ||
extras | ||
nix | ||
pkg | ||
sh | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.ignore | ||
.mailmap | ||
.stylish-haskell.yaml | ||
CONTRIBUTING.md | ||
default.nix | ||
LICENSE.txt | ||
MAINTAINERS.md | ||
Makefile | ||
README.md | ||
shell.nix | ||
vere-version |
Urbit
Urbit is a personal server stack built from scratch. It has an identity layer (Azimuth), virtual machine (Vere), and operating system (Arvo).
A running Urbit "ship" is designed to operate with other ships peer-to-peer. Urbit is a general-purpose, peer-to-peer computer and network.
This repository contains the Arvo Kernel
For the Runtime, see Vere. For more on the identity layer, see Azimuth. To manage your Urbit identity, use Bridge.
Install
To install and run Urbit, please follow the instructions at urbit.org/getting-started. You'll be on the live network in a few minutes.
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, and how we manage issues.
You might also be interested in joining the urbit-dev mailing list.
Release
For details about our release process, see the maintainers guidelines