Ted Blackman
f3d2df087a
Merge pull request #6463 from ashelkovnykov/json-new
...
zuse: changes in preparation for JSON jets
2023-04-13 11:58:55 -04:00
Joe Bryan
f8305dee4b
Merge branch 'develop' into next/kelvin/413
2023-04-13 11:21:18 -04:00
fang
171142fd31
eyre: use jam mime type for PUT mode detection
...
Making this consistent with the mime type used for GET requests.
2023-04-12 19:19:13 +02:00
fang
d32527ba19
eyre: further refactor +load logic
...
Co-authored by: joemfb <joemfb@gmail.com>
2023-04-12 18:53:44 +02:00
fang
132299f278
eyre, mar: use x-urb-jam mime type for jams
2023-04-12 18:42:35 +02:00
Alex Shelkovnykov
30044fbc1e
Add jet hints
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
e61d84d57b
Replace +en:json:html code with cord version
...
Encode JSON to cord instead of tape. Code copied from @joemfb 's
version.
2023-04-11 14:59:15 -06:00
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
fang
4b68139c40
Merge branch 'next/kelvin/413' into x/json-bgon
2023-04-11 21:54:43 +02: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
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
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
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
66678acd3e
ames: ping faster to sponsors
2023-04-05 11:59:06 -04: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
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
lukechampine
e0ff3b4d5f
eyre: add cache
2023-03-28 17:01:31 -04:00
Matthew LeVan
8749a0dac2
Merge pull request #6430 from urbit/fix-next-kelvin-ci
...
ci: fix `next/kelvin/*` workflows
2023-03-28 11:55:09 -04: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
2e5af921bb
Merge branch 'next/kelvin/413' into x/json-bgon
2023-03-23 08:35:57 -07:00
Ted Blackman
69e0eac709
lull,zuse,sys.kelvin: zuse 413, lull 324
2023-03-19 16:25:23 -06:00
Ted Blackman
4e5c73c826
hoon: fix merge conflict
2023-03-19 16:25:23 -06:00
yosoyubik
1144fb3f28
ames: use the %rcv flag when hearing a packet
2023-03-18 19:16:10 +01:00
yosoyubik
d645fcc862
ames: always ack %hear tasks on corked bones
2023-03-18 19:06:16 +01:00
yosoyubik
80914289b2
ames: fix %snub queued evet update
2023-03-17 18:51:27 +01:00
Ted Blackman
3622c5f33e
Merge branch 'next/kelvin/413' into m/typed-paths
2023-03-17 12:07:39 -04:00
yosoyubik
003613d1d5
Merge branch 'develop' into yu/ames-snub-whitelist
2023-03-17 14:05:38 +01:00
fang
e11ac8a1c8
eyre: deduce channel mode from headers, not url
2023-03-16 14:32:02 -06:00
fang
10fe204c9e
eyre: add support for noun-based channels
...
Adds a "mode" to channels, which can be set to either %json (current
behavior) or %jam. For %jam channels, aside from the SSE framing, all
communication happens through @uw-encoded jammed nouns. This applies to
both outgoing channel events, as well as incoming channel requests.
We choose @uw-style encoding because raw bytestreams are fragile and
cannot work inside the SSE stream context.
Currently, a separate endpoint (/~/channel-jam/etc) is used to indicate
%jam as the desired mode for a channel. We will probably want to make
this a bit cleaner, not least because it's not currently implemented as
a formal standalone endpoint, but also to give it stronger aesthetic
equivalence with the existing channel endpoint. Putting the mode in the
file extension is a tempting option here, but semantically not quite
right.
Connecting to the same channel across multiple modes is currently
supported, but it's untested, and unclear whether this is desirable or
not.
2023-03-16 14:31:45 -06:00
tadad
328a3d687d
Merge branch 'develop' into i/6303/eyre-verbose
2023-03-16 09:36:27 -06:00
Josh Lehman
dbe6f7fd20
Merge branch 'develop' into i/6264/ames-snub-whitelist
2023-03-16 08:30:57 -07:00
yosoyubik
02f01cf14c
Merge branch 'develop' into i/6103/ames-refactor
2023-03-16 09:27:22 +01:00
Ted Blackman
d81fc6e519
Merge pull request #6373 from urbit/m/dumb-apes
...
hoon: in +ape:ag, make zero a plain atom
2023-03-15 15:00:30 -04:00
dachus
0286ca7b5b
dome:clay => domo, moved to lull, full scry enabled
2023-03-15 08:35:59 -04:00
dachus
540a4948ca
flue added to cone
2023-03-15 08:35:58 -04:00
dachus
9c2c128b69
and moved to lull
2023-03-15 08:35:58 -04:00
pkova
ce4da6db65
lull: burn kelvin 326 -> 325
2023-03-15 08:35:58 -04:00
pkova
d9c9b4150b
lull, eyre: remove scry adapters for /~/name endpoint
2023-03-15 08:35:58 -04:00
pkova
2874c09e30
zuse: burn kelvin 415 -> 414
2023-03-15 08:35:58 -04:00