Commit Graph

31787 Commits

Author SHA1 Message Date
Alex Shelkovnykov
ac1a0ffdee Change JSON parser arms to match |base16:html 2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
28ed583d29 Fix bug in .en-json:html (missing escaped char)
The backspace character was not being escaped like other invisible
characters.
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
3537ef56c3 Fix JSON parser decoding for UTF8
JSON supports Unicode as both UTF8 sequences and escaped UTF16. UTF8 is
encoded as between 2 and 4 bytes, the first byte of which governs the
length. The JSON parser was previously accepting any non-ASCII bytes as
UTF8 in any order.

See:
- https://www.crockford.com/mckeeman.html
- https://www.json.org/json-en.html
- https://en.wikipedia.org/wiki/UTF-8#Encoding
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
1472dadf4d Add validation functions for UTF8 2023-04-11 14:59:15 -06:00
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
Alex Shelkovnykov
e4ddd6994c Fix JSON parser decoding for ASCII in strings
The JSON standard rejects all un-escaped, un-printable characters EXCEPT
for the delete character (ID 127, i.e. 0x7F).

See: https://www.crockford.com/mckeeman.html
Via: https://www.json.org/json-en.html
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
2580dfbce3 Fix JSON parser decoding for numbers
\#1775
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
345c4a8ae5 Refactor unit tests for JSON decoding/encoding
The unit tests for de-json:html and en-json:html in zuse.hoon were
copied from the JSON Test Suite (https://github.com/nst/JSONTestSuite).
While a good test suite if usable as-is, it has a lot of problems with
it, namely: inconsistent test names; repeated tests; and mixing tests
for multiple cases into one file. Since the tests need to be manually
added to Urbit anyway, this commit uses the opportunity to clean up the
test suite by making the following changes:
- Renaming tests to use a consistent naming scheme
- Removing repetetive test cases
- Splitting multi-case tests into multiple single-purpose tests
2023-04-11 14:59:15 -06:00
Ted Blackman
365a1d5af9
Merge pull request #6447 from urbit/jb/drip-hurl
behn: propagate errors in deferred moves
2023-04-11 11:28:20 -04:00
Pyry Kovanen
6b5a836f8f
Merge pull request #6458 from urbit/ted/fix-vats
+vats: fix crash on nonexistent desks
2023-04-11 17:18:42 +03:00
Ted Blackman
cd161a5492 +vats: fix crash on nonexistent desks 2023-04-07 15:19:24 -04:00
Josh Lehman
af3ad860e7
Merge pull request #6454 from urbit/ted/arvo-bout
arvo: print module compilation times
2023-04-07 08:38:08 -07:00
Josh Lehman
59567b9e51
Merge pull request #6449 from urbit/ted/ames-ping-2
ames: ping faster to sponsors
2023-04-07 08:36:05 -07:00
Ted Blackman
b273f3091b arvo: print module compilation times 2023-04-06 23:52:53 -04:00
Joe Bryan
d2eda084ac
Merge branch 'develop' into ted/ames-ping-2 2023-04-06 15:07:38 -04:00
Ted Blackman
eddbe86d69 ames: fix syntax error 2023-04-06 11:58:34 -04:00
Ted Blackman
0223cf9f59
Merge pull request #6452 from urbit/i/6444/lesser-dill-call-trace
dill: exclude wrapped-task from most +call traces
2023-04-06 11:39:10 -04:00
fang
e300fa2d6b
dill: exclude wrapped-task from most +call traces
Instead of including wrapped-task as-is in most call traces, we now only
include it in traces for crashing (harden task) calls. For everything
else, we include only the tag of the resulting $task.

Closes #6444.
2023-04-06 15:58:12 +02:00
Ted Blackman
056ff35b89 app/ping: lower timeout to ~s25 2023-04-05 12:04:14 -04:00
Ted Blackman
66678acd3e ames: ping faster to sponsors 2023-04-05 11:59:06 -04:00
Josh Lehman
c1ce41e494
Merge pull request #6445 from urbit/master
Merge master back to develop after urbit-os-v2.136 release
2023-04-05 08:13:50 -07:00
Josh Lehman
938319ea87
Merge pull request #6443 from midden-fabler/i/6442/ames-add-last-contact-scry
ames: add last-contact scry endpoint
2023-04-05 08:11:58 -07:00
Joe Bryan
b6194711c3 behn: hurl errors on %drip %crud 2023-04-04 15:07:27 -04:00
Joe Bryan
9ae28a985c clay: %pass %drip with context, expect and handle errors in +take 2023-04-04 15:06:51 -04:00
Pyry Kovanen
88406f9aab
Merge pull request #6428 from urbit/release/urbit-os-v2.136
Release urbit-os-v2.136
2023-04-04 19:09:16 +03:00
Pyry Kovanen
a4888fd444
Merge branch 'master' into release/urbit-os-v2.136 2023-04-04 18:35:55 +03:00
midden-fabler
d8ad34f0fc update scry path listing 2023-04-04 03:06:22 -04:00
midden-fabler
bacbfd71ac add last-contact scry endpoint 2023-04-04 02:50:09 -04:00
Ted Blackman
90970469d0
Merge pull request #6427 from playfulpachyderm/i/6426/expand-new-desk
arvo: add more files to |new-desk generator
2023-04-03 12:09:26 -04:00
Ted Blackman
726cda9d26
Merge pull request #6425 from urbit/i/6409/sss-unsubscribe
sss: Unsubscribing and permissions
2023-03-31 12:50:28 -04:00
Ted Blackman
dca3713a26
Merge pull request #6395 from hoclun-rigsep/i/6297/vats
+vats options
2023-03-31 11:31:24 -04:00
Alessio
38ace43ca0 arvo: change |new-desk to be minimal by default 2023-03-29 14:20:23 -03:00
Josh Lehman
fab329799f
Merge branch 'develop' into i/6297/vats 2023-03-29 08:43:07 -07:00
Pyry Kovanen
bddd73d9dc
Merge pull request #6431 from urbit/hotfix/fix-clay-rebuild-loop
hotfix clay rebuild loop
2023-03-28 21:02:13 +03:00
Philip Monk
2c262e1fd0 clay: stop failed kelvin upgrades from retrying immediately
We were retrying failed kelvin upgrades as many times as we had apps
that needed to be suspended, because suspending an app triggers an
attempt to run the next kelvin upgrade.  This suspends all those apps in
one batch move, and then tries the next kelvin upgrade only once at the
end.

Fixes #6407

Partially addresses #6285
2023-03-28 11:52:33 -04:00
Pyry Kovanen
bcbd746b7a Merge branch 'master' into release/urbit-os-v2.136 2023-03-28 14:41:07 +03:00
James D. Amberger
821f99a351 hood: options for +vats generator
This commit refactors `sur/hood.hoon` and changes the signature of the
`+vats` generator thus:

```hoon
|=  $:  [now=@da eny=@uvJ bec=beak]
        $@(~ [?(%suspended %running %blocking %nonexistent) ~])
        $:  verb=?
            show-suspended=?
            show-running=?
            show-blocking=?
            show-nonexistent=?
        ==
    ==
```

Called with a single positional argument, `+vats` will show only those
desks fitting the description given, while keyword parameters allow
finer-grained control over which desks are described. The `verb`
parameter determines whether the full load of desk information be shown,
or a subset thereof.

Resolves #6297.
2023-03-27 23:09:41 -04:00
Alessio
00b7ace08d arvo: add more files to |new-desk generator 2023-03-27 23:58:19 -03:00
~wicrum-wicrun
4516ecfaa3 sss: Simplify +block:du and +allow:du 2023-03-27 22:03:24 +02:00
~wicrum-wicrun
d2e6c7e8a1 Unsubscribing and permissions 2023-03-27 19:21:19 +02:00
Pyry Kovanen
6d80191aef
Merge pull request #6417 from urbit/release/urbit-os-v2.136
Merge urbit-os-v2.136-rc2 back to develop
2023-03-24 21:51:17 +02:00
Pyry Kovanen
cb819b2091
Merge pull request #6413 from urbit/i/6407/zeal
clay: stop failed kelvin upgrades from retrying immediately
2023-03-24 18:36:09 +02:00
Philip Monk
89500460f7 clay: stop failed kelvin upgrades from retrying immediately
We were retrying failed kelvin upgrades as many times as we had apps
that needed to be suspended, because suspending an app triggers an
attempt to run the next kelvin upgrade.  This suspends all those apps in
one batch move, and then tries the next kelvin upgrade only once at the
end.

Fixes #6407

Partially addresses #6285
2023-03-24 18:19:48 +02:00
Josh Lehman
e365a58a98
Merge pull request #6405 from urbit/i/6404/next-kelvin-ci
ci: use corresponding `vere` builds on CI for `next/kelvin/*` branches
2023-03-23 08:54:58 -07:00
Matthew LeVan
d8af103d2f ci: add next parameter 2023-03-23 11:28:40 -04:00
Josh Lehman
cfb92b31ce
Merge pull request #6394 from silnem2/pill-lists
lib, gen: remove folder whitelist from lib/pill, add option to remove folders
2023-03-23 08:23:35 -07:00
Matthew LeVan
2dd21004bd
Merge branch 'develop' into i/6404/next-kelvin-ci 2023-03-23 10:22:20 -04:00
Matthew LeVan
f7eb15e161 ci: syntax clarity 2023-03-23 10:16:29 -04:00
Ted Blackman
0b95645134
Merge pull request #6408 from urbit/hm/landscape-414
meta: update for kelvin
2023-03-22 12:53:26 -04:00
Hunter Miller
8e5b9763b4 meta: update for kelvin 2023-03-22 10:39:15 -05:00