shrub/pkg/arvo
Alex Shelkovnykov 3d93e9f527 Fix JSON parser decoding for escaped unicode
JSON supports Unicode as both UTF8 sequences and escaped UTF16. Unicode
points U+10000 to U+10FFFF are encoded as two consecutive escaped UTF16
units known as a surrogate pair. The JSON decoder was previously
treating surrogate pairs as two individual escaped UTF16 units. In
addition, the JSON standard allows hexadecimal letters to be either
uppercase or lowercase, which the parser was not respecting.

See:
- https://www.crockford.com/mckeeman.html
- https://www.json.org/json-en.html
- https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF

Git issue: #1776
2023-04-11 14:59:15 -06:00
..
app app/ping: lower timeout to ~s25 2023-04-05 12:04:14 -04:00
gen Merge pull request #6427 from playfulpachyderm/i/6426/expand-new-desk 2023-04-03 12:09:26 -04:00
lib Merge pull request #6413 from urbit/i/6407/zeal 2023-03-24 18:36:09 +02:00
mar ted: add mark to use eval thread via khan 2023-02-23 20:20:46 +01:00
sur ted: add mark to use eval thread via khan 2023-02-23 20:20:46 +01:00
sys Fix JSON parser decoding for escaped unicode 2023-04-11 14:59:15 -06:00
ted dome:clay => domo, moved to lull, full scry enabled 2023-03-15 08:35:59 -04:00
.gitattributes
.ignore
desk.bill Merge branch 'master' into naive/roller 2021-10-26 20:46:32 +02:00
LICENSE.txt Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8' 2019-06-28 12:48:05 +08:00
README.md %home -> %base 2022-03-06 11:55:55 -05:00
sys.kelvin zuse: burn kelvin 415 -> 414 2023-03-15 08:35:58 -04:00
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 /=base=.

To create a custom pill (bootstrapping object) from the files loaded into the base 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 %/tests in dojo. To run only the tests in /tests/some/path, use -test %/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: @joemfb (~master-morzod)
  • /sys/vane/ames: @belisarius222 (~rovnys-ricfer) & @philipcmonk (~wicdev-wisryt)
  • /sys/vane/behn: @belisarius222 (~rovnys-ricfer)
  • /sys/vane/clay: @philipcmonk (~wicdev-wisryt) & @belisarius222 (~rovnys-ricfer)
  • /sys/vane/dill: @fang- (~palfun-foslup)
  • /sys/vane/eyre: @fang- (~palfun-foslup)
  • /sys/vane/gall: @philipcmonk (~wicdev-wisryt)
  • /sys/vane/jael: @fang- (~palfun-foslup) & @philipcmonk (~wicdev-wisryt)
  • /app/acme: @joemfb (~master-morzod)
  • /app/dns: @joemfb (~master-morzod)
  • /app/aqua: @philipcmonk (~wicdev-wisryt)
  • /app/hood: @belisarius222 (~rovnys-ricfer)
  • /lib/hood/drum: @fang- (~palfun-foslup)
  • /lib/hood/kiln: @philipcmonk (~wicdev-wisryt)

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: