Commit Graph

392 Commits

Author SHA1 Message Date
Joe Bryan
981f4ed998 pill: updates solid 2020-05-14 19:11:13 -07:00
Elliot Glaysher
12c556f0be Merge remote-tracking branch 'origin/release/next-vere' into eg/map-jets 2020-05-14 15:26:25 -07:00
Elliot Glaysher
19bb618d8c Merge remote-tracking branch 'origin/release/next-vere' into scot-jets 2020-05-14 14:42:53 -07:00
Elliot Glaysher
34c1f416f4 jets: +welp and +zing 2020-05-13 11:18:37 -07:00
Elliot Glaysher
3b645370e2 jets: +urn:by 2020-05-12 14:03:58 -07:00
Elliot Glaysher
94c66ec433 jets: +apt:in 2020-05-11 16:31:46 -07:00
Elliot Glaysher
8791af0333 jets: jet +apt:by
As a lark, I put in a debugging printf on this function. It spammed
the console. It's a highly recursive function so jet it.
2020-05-08 14:48:27 -07:00
Elliot Glaysher
a05360f97a jets: hook %ob, then %fein/%fynd 2020-05-06 15:13:59 -07:00
Isaac Visintainer
734e643eb7 release: urbit-os-v1.0.15 2020-05-05 19:32:08 -06:00
Elliot Glaysher
fa4dbfb9f6 jets: remove +ob and add hooks for +fein and +fynd
I'm not going to be able to debug the memory leaks in the +ob core
jets, so remove those new jets and hooks to +fein and +fynd so they
can be called from the @p parsing jets. This moves +fein adn +fynd
to the toplevel because there appear to be issues with hooks
referencing things that aren't in the directly jetted core.
2020-05-04 15:49:20 -07:00
Elliot Glaysher
bf1f08e698 jets: Rebuild pills, the enabled jets here now don't leak memory. 2020-05-04 12:59:41 -07:00
Jared Tobin
0bcd971c5f
release: urbit-os-v1.0.14.rc1 2020-04-24 12:15:39 +04:00
Jared Tobin
1dd082e020
pill: update solid 2020-04-23 15:05:17 +04:00
Isaac Visintainer
d8cdbfdeb8 release: urbit-os-v1.0.13 2020-04-13 19:26:13 -07:00
Jared Tobin
cc16e905af
Merge branch 'yosoyubik/apt-dup' (#2417)
* yosoyubik/apt-dup:
  hoon: +apt:by check for duplicate keys
2020-04-13 17:43:41 +04:00
Jared Tobin
bf78e71479
Merge branch 'courajs/json-unit-tests' (#1769)
* courajs/json-unit-tests:
  Change at:dejs-soft:format to reject too-long json arrays
  Add unit tests for json de/serialization.
2020-04-13 16:38:42 +04:00
Isaac Visintainer
eef6e56dca release: urbit-os-v1.0.12 2020-04-09 17:47:55 -07:00
Isaac Visintainer
7df1ebe3f7 update solid pill 2020-04-09 15:48:32 -07:00
Philip Monk
b98d3bf5ef
pill: update
Committed pill booted a fakezod with #2675
2020-04-06 21:48:33 -07:00
Aaron Sikes
eb0ce2daba Change at:dejs-soft:format to reject too-long json arrays
`at` is for when you expect an array of a certain exact structure. If it
has extra elements, that indicates you were mistaken about the strucutre,
so it should fail to match.
2020-04-06 14:05:35 -04:00
Isaac Visintainer
5faaa6c710 release: urbit-os-v1.0.10 2020-04-02 15:54:24 -07:00
Fang
d1894cdbe6
zuse: allow empty segments in de-purl url parsing
RFC 2396 specifies that segments must be zero or more pchars.[1] We were
deviating from this by requiring at least one pchar per segment.

With this change, we support /some//path, and no longer lose the
trailing slash in /some/path/.

[1]: https://tools.ietf.org/html/rfc2396#section-3.3
2020-04-02 14:44:45 +02:00
Isaac Visintainer
93c881cec9 release: urbit-os-v1.0.9 2020-03-31 16:45:40 -07:00
Philip Monk
5a4786169d
clay: don't underflow when patch produces empty file
Fixes #2602

I haven't been able to reproduce this bug, but I can see how it could
happen in theory.  This should resolve the issue.
2020-03-31 11:37:58 -07:00
Isaac Visintainer
12f150659b release: urbit-os-v1.0.8 2020-03-30 20:28:35 -07:00
Isaac Visintainer
0d3e409f7c release: urbit-os-v1.0.7 2020-03-26 09:25:02 -07:00
Isaac Visintainer
f7133f77e0 release: urbit-os-v1.0.6 2020-03-24 15:45:34 -07:00
Philip Monk
1599937c81
clay: add option to skip queue
Makes it so that |cancel %force skips the next thing in the queue if
you're not in the middle of something.  If you are in the middle of
something, it skips the thing you're in the middle of (just like naked
|cancel).

This should resolve issues where |cancel doesn't drain the queue.
2020-03-23 15:53:18 -07:00
Isaac Visintainer
83fc700d41 release: urbit-os-v1.0.4 2020-03-19 11:19:30 -07:00
Isaac Visintainer
a9f8a2bd88 release: urbit-os-v1.0.3 2020-03-17 18:04:34 -07:00
Philip Monk
7d7f4133a6
arvo: add bar stack to hoon stack trace
We have three stacks: the hoon stack, bar stack, and duct stack.  This
turns the bar stack to a list of ducts and adds it to the hoon stack.
This tells you the ducts of the moves that caused the move where you
crashed.

See:

recover: dig: intr
crud: %belt event failed
bail: intr
  bar-stack
~[
  ~[/g/use/spider/~zod/build/~.dojo_0v5ogno.5anji.vn3f6.4gs7t.6r2ft /d //term/1]
  ~[/d //term/1]
  ~[/g/use/spider/~zod/find/~.dojo_0v5ogno.5anji.vn3f6.4gs7t.6r2ft /d //term/1]
  ~[/g/use/dojo/~zod/out/~zod/spider/drum/wool /d //term/1]
  ~[/d //term/1]
  ~[/g/use/dojo/~zod/drum/hand /d //term/1]
  ~[/g/use/hood/~zod/out/~zod/dojo/drum/phat/~zod/dojo /d //term/1]
  ~[/d //term/1]
  ~[//term/1]
]
call: failed
/~zod/home/~2020.3.17..23.14.11..50e0/sys/vane/ford:<[6.128 3].[6.220 5]>
/~zod/home/~2020.3.17..23.14.11..50e0/sys/vane/ford:<[6.129 3].[6.220 5]>
/~zod/home/~2020.3.17..23.14.11..50e0/sys/vane/ford:<[6.132 3].[6.220 5]>
...
2020-03-17 16:31:38 -07:00
Jared Tobin
80ab15e7b6
Merge branch 'pkova/master' (#2423)
* pkova/master:
  hoon: fix ket not working past tistar
2020-03-17 16:56:39 +04:00
Isaac Visintainer
9c495aa38a release: urbit-os-v1.0.2 2020-03-16 17:55:56 -07:00
Jared Tobin
1dd2b77222
release: urbit-os-v1.0.1 2020-03-16 15:10:58 +04:00
Jared Tobin
c0cc4a1db8
Revert "Merge branch 'liam-fitzgerald/hoon-spot' (#2247)"
This reverts commit 046506f9d4, reversing
changes made to 6ef08962ef.

I'm reverting this as we're moving to a new branch/release model in
which breaching changes (as this one is) will live on a long-running
'next' branch, rather than alongside non-breaching changes in master.

This revert should itself be reverted on the 'next' branch.
2020-03-16 10:51:00 +04:00
yosoyubik
b8d5227c21 hoon: +apt:by check for duplicate keys
Fixes https://github.com/urbit/urbit/issues/2413
2020-03-13 05:19:10 +01:00
pkova
0d079b537c hoon: fix ket not working past tistar 2020-03-13 00:37:33 +02:00
Jared Tobin
b6f9cf2027
pill: solid 2020-03-12 21:47:35 +04:00
Joe Bryan
41ceac8610 pill: all 2020-03-05 12:15:50 -08:00
Jared Tobin
a1d489d977
Merge branch 'os1-rc' (#2365)
* origin/os1-rc: (439 commits)
  pills: updated brass and solid
  chat: pull room contacts from associated group
  chat: spell 'permanent' correctly
  eyre: remove padding from 'access' input
  chat: only delete metadata for a chat if you created it
  chat: settings inputs add borders on focus
  chat: remove console.log from metadataAction
  chat: style fixes during review, use metadata-hook
  chat: edit description, color settings
  chat: add update-metadata to metadata reducer
  chat: revise api.js to match data structures
  metadata-json: add json to action parsers
  chat: construct settings page for metadata
  chat: correct bottom border on join links
  chat: copy shortcodes
  chat: linkify unmanaged chats
  metadata-hook: support group members other than host creating shared resources
  contacts: add bg-gray0 to root page
  chat + contact views: updated for style and to assert that group-path must be equal to app-path if there are ships in the members set
  contacts: changed color + copy of "add to group" button
  ...
2020-03-04 15:48:05 +04:00
Logan Allen
c5d28c9e85 pills: updated brass and solid 2020-03-03 18:28:54 -08:00
Joe Bryan
18f199b2c3 ford: restores pit-shortcircuit, but only during boot 2020-03-02 12:20:21 -08:00
Jared Tobin
9c1d3090c9
Merge branch 'lukechampine/crypto-tests' (#2222)
* lukechampine/crypto-tests:
  test: add bip32 vectors
  test: add scrypt vectors
  test: add hmac vectors
  test: add ed25519 vectors
  test: add expect arm
  test: add AES SIV mode vectors
  zuse: split sivb keys at correct offset
  test: add AES-CMAC vectors
  test: add AES CTR mode vectors
  test: add AES CBC mode vectors
  test: add AES ECB mode vectors
2020-02-29 19:39:35 +04:00
Jared Tobin
bd2d90440f
Merge branch 'ted/ford-no-pit' (#2322)
* origin/ted/ford-no-pit:
  pills: update solid
  http.c: revert timeout to original ~m10
  tests: prime ford %reef cache
  http.c: bump timeout from ~m20 to ~m30
  http.c: bump timeout from ~m10 to ~m20
  tests: fix ford tests for no %reef short-circuit
  ford: remove pit short-circuit
2020-02-28 20:48:24 +04:00
Jared Tobin
d4225848be
pills: update solid 2020-02-28 20:31:32 +04:00
Liam Fitzgerald
8c6ae6f917 Merge branch 'master' into hoon-spot 2020-02-26 09:29:54 +10:00
Liam Fitzgerald
df51577022 hoon: toggle spot typehints on flag
Hides %spot typehints behind a compiler flag. Adds ++mind:ut to
expose this flag conveniently.
2020-02-26 08:07:02 +10:00
Paul Driver
0671278a80 hoon: use constant hint pass-thru for +mink
Instead of trying to hint computations (buying us %memo, etc), we
simply pass through the nouns (with constant [1 noun] formulas)
to the underlying runtime.  This avoids spuriously product-hinting
the +tone results of +mink as the previous version did.
2020-02-25 13:32:40 -08:00
Paul Driver
a486688481
hoon: style issue in +mook 2020-02-20 19:26:26 +04:00
Paul Driver
352c0c9f51
hoon: pills expunged of temporary names 2020-02-20 19:11:08 +04:00
Paul Driver
acb17c18cc
hoon: pills refer to old names (mink etc), temp names remain 2020-02-20 18:48:52 +04:00
Paul Driver
e5841d821d
hoon: pills contain no references to toon/tone/mook/mock/mink 2020-02-20 18:32:23 +04:00
Philip Monk
e082845e0d
gall: make 2140e07 ota-able
Does not change state type, but clears outstanding.agents.state since
it's full of garbage values.  This introduces a possibility that we may
have been in the middle of something, so we handle that in a reasonably
sane way.
2020-02-13 17:20:27 -08:00
Paul Driver
0d0549f6cb
hoon: update pills before moving mink callers 2020-02-13 19:43:58 +04:00
Paul Driver
50aaa27ed1
hoon: add +mino, a new virtual nock interpreter
+mink, the current virtual nock interpreter, has a couple of problems.
 1. it propagates blocks as a list of paths, which is inconsistent with
    the way the jet behaves (only a single path is ever blocked on, with
    exception semantics).
 2. +mush was not updated after the change to molds to crash instead of
    bunting. it crashes when not given the right kind of data, which is
    inconsistent with the intended semantics of ++mink.
 3. it "eats" hints, causing (for example) slogs to disappear when running
    without a mink jet.
 4. the naming/style was typically cryptic. since +mink will never really
    be run, one could argue that its primary purpose is to be read.

+mino (which will be renamed to +mink after some staging) has had its
return type (+tono, to be renamed +tone) modified in the block case so
that it only blocks on one path, has a corrected +mush, carefully
"passes through" all hints to the underlying interpreter, and has more
meaningful names, with the intention of improving readability.

A generator (gen/mino.hoon) is also included in this commit; it contains
tests that were used during the development of +mino. It should be removed
before integration, and is included for posterity. The stack trace semantics
are expected to change in the near future (since they are dependent on jets
faithfully preserving the stack pushes of the pure nock, an onerous burden).
They are, however, tested in gen/mino.hoon, which makes it unsuitable as a
long-term test.
2020-02-13 19:19:52 +04:00
Liam Fitzgerald
5449a0e05b hoon: support %spot hint in xray 2020-02-10 14:20:46 +10:00
Logan Allen
1c60096090 pills: updated all 2020-02-07 16:20:15 -08:00
Liam Fitzgerald
5cd189f83c hoon: add %spot typehint
Adds a `[%spot *]` type to the `note` type annotation definition.
These are added when the %dbug hoon is encountered. Done to enable
jump to defintion in the language-server.
2020-02-07 17:57:54 +10:00
Fang
717e2310be
eyre: remove potentially noisy printf
It's perfectly sane for gall (apps) to send quits to subscriptions
incoming from the web.
2020-02-05 18:20:43 +01:00
lukechampine
225fee0258 zuse: split sivb keys at correct offset 2020-02-04 00:17:43 -05:00
Ted Blackman
7dc499d438
ford: ignore spurious clay responses
Due to asynchronicity, Ford can receive responses from Clay to requests
that it has already attempted to cancel. This removes some overzealous
assertions that this wouldn't happen.
2020-01-29 15:11:36 +04:00
Jared Tobin
47b1b0a9bd
Revert "zuse: allow non-trailing null bytes in to-wain:format"
This reverts commit db1b88b21b.

See discussion in #2195, #1755.
2020-01-29 14:53:09 +04:00
Ted Blackman
0d69031c72
ford: add +got-build helper
Replaced manual calls to (~(got by builds.state) build) with a new
+got-build helper function that prints a helpful error message on
failure.
2020-01-29 14:00:25 +04:00
Jared Tobin
a3e682f596
Merge branch 'ford-orphans' (#2192)
* ford-orphans:
  ford: dequeue orphans

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:39:36 +04:00
Ted Blackman
155ab60609
ford: dequeue orphans
@ixv recently uncovered a bug (#2180) in Ford that caused certain
rebuilds to crash. @Fang- and I believe this change should fix the bug,
and we have confirmed that the reproduction that used to fail about two
thirds of the time now has not failed at all in the ten or so times
we've run it since then. @Fang- is still running more tests to confirm
the fix with more certainty.

It turned out the cause was that (depending on the rebuild order, which
is unspecified and should not need to be specified), Ford could enqueue
a provisional sub-build to be run but then, later in the same +gather
call, discover that the sub-build was in fact an orphan and delete it
from builds.state accordingly. Then when Ford tried to run the
sub-build, it would have already been deleted from the state, so Ford
would crash when trying to process its result in +reduce.

The fix was to make sure that when we discover a provisional sub-build
is orphaned, dequeue it from candidate-builds and next-builds to make
sure we don't try to run it. I'm about 95% sure this fix completely
solves the bug.
2020-01-28 17:29:24 +04:00
Ted Blackman
0bee77ce8e
/sys: use +harden on vane tasks
Uses Zuse's previously unused +harden helper function to streamline
+task unwrapping in vanes.

(Arguably, in landlocked vanes like Ford, we should crash if we get a
%soft task, since no events should be coming in directly from the
outside.)
2020-01-27 09:53:53 +04:00
Logan Allen
cdd59ef8f9 pills: updated solid and brass 2020-01-24 17:31:31 -08:00
Jared Tobin
c182672b54
Merge branch 'ames-goof' (#2166)
* origin/ames-goof:
  ames: adjust route update logic

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-22 13:14:39 +04:00
Ted Blackman
11c92e691d
ames: adjust route update logic
There was a typo in the routing logic that was comparing equality
against a value where it should have been doing a pattern match. The
value compared against contained the literal * gate, which would never
match route.peer-state, so this condition was always true, meaning the
fix that had added this extra condition (5406f06) did not actually
change the behavior from what it been previously.
2020-01-22 12:50:18 +04:00
Philip Monk
d578159791
ames: fix assertion bug and add debug info
If we receive the naxplanation before the nack, the assertion in the gte
direction fails.  The intent of the assertion is to make sure top of the
live queue never falls behind current.state, so it was simply in the
wrong direction.
2020-01-14 08:34:12 -08:00
Fang
ae8a57ca25
gall: (list path) in %fact and %kick
Instead of providing a (unit path), allows for (list path), which better
supports the "update to path and subpath cases".

For example, if /things wants updates about everything, and
/things/specific wants updates about the specific thing, they'll both
need to receive a %fact when the specific thing changes.
Previously, these would have been two separate moves. Now, gall handles
the multi-targeting for you.
2019-12-23 13:37:32 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
21ac0e513b
hoon: parse =; without face
Allows for =;([a=@ b=@] ...) and similar constructions.

Also affects =/ and =^.
2019-12-21 14:20:11 -03:30
Jared Tobin
103e375417
Merge branch 'ford-safe' (#2117)
* origin/ford-safe:
  ford: clear build results on +load

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-20 13:22:23 -03:30
Jared Tobin
ee0de1a657
Merge branch 'm/clay-u' (#2119)
* origin/m/clay-u:
  clay: implement %u care

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-19 14:09:52 -03:30
Jared Tobin
eee651042c
Merge branch 'm/eth-sending' (#2094)
* origin/m/eth-sending:
  eth-sender: do proper nonce reading
  zuse: implement eth rlp decoding
  zuse: correctly encode leading zeroes in rlp data
  zuse: lightly restructure encode:rlp:ethereum
  static gall: update send-txs
  ethio: implement +request-batch-rpc-loose

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-19 11:20:06 -03:30
Fang
3808f02287
clay: implement %u care
Previously, it would always produce ~, regardless of the path asked
about.

Now, it produces a loobean, based on whether or not a file exists at the
specified path.
2019-12-18 21:02:38 +01:00
Philip Monk
1a7658bd91
ph: fix tests by spamming blocks regularly 2019-12-18 11:53:36 -03:30
Philip Monk
de2d0f3014
gaze: reflect changes to eth-watcher 2019-12-18 11:38:56 -03:30
Philip Monk
3d30b3b73c
jael: only advance lifes
This matches the semantics of rifts and makes it more forgiving of
misordered updates.
2019-12-18 11:31:14 -03:30
Philip Monk
16d98e5eda
jael: stop ship-to-ship 2019-12-18 11:19:41 -03:30
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
Ted Blackman
9fb37543ec ford: clear build results on +load 2019-12-18 00:25:27 -05:00
Fang
1647d760d1
zuse: implement eth rlp decoding
Also updates existing tests to check both en- and decoding.
2019-12-14 21:39:54 +01:00
Elliot Glaysher
44f6a90a4c
hoon: fix typo in +put:in
This fixes +put:in so that it works without the correct jet.  There's a
mismatch where the hoon code is wrong and the jet is correct, so that
when we try to run this on alternate interpreters which may not have the
+in jets, things won't work.
2019-12-13 21:00:21 +08:00
Jared Tobin
aff97bf150
Merge branch 'm/eth-apps' (#2084)
* origin/m/eth-apps:
  claz: clean up head of app file
  static gall: update claz
  ethio: add +get-next-nonce
  zuse: update %eth-get-transaction-count
  zuse: include all relevant azimuth addresses
  ethio: implement +batch-read-contract-strict
  ethio: fail request-rpc more properly
  static gall: update gaze

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:27:04 +08:00
Ted Blackman
d77fb0f685
ames: add %sift to trace by ship 2019-12-12 15:55:32 +08:00
Fang
a16fbd20ae
zuse: update %eth-get-transaction-count
It apparently now requires a second argument indicating the block to get
the result at.
2019-12-11 17:32:33 +01:00
Philip Monk
68279d91e4
gall: remove message type from wire
%leave over the network didn't work because we included the message type
in the wire from gall, so the duct for the initial %watch and the %leave
were different.  We need to know the message type so we can route the
acknowledgment as %poke-ack, %watch-ack, or no-op.

This moves this piece of information to a piece of state, where we queue
up the message types per [duct wire].  Ames guarantees that
acknowledgments will come in order.

This also includes an easy state adapter.  The more interesting part of
the upgrade is that we likely have outstanding subscriptions with the
old wire format.  The disadvantage of storing information in wires is
that it can't be upgraded in +load.  So, here we listen for updates on
the old wire format, and when we get them we kill the old subscription,
so that it will be recreated with the new wire format.

As an aside, this is a good example of what we mean when we say
subscriptions may be killed at any time, so apps must handle this case.

Finally, this fixes the "attributing" ship to ~zod for agent requests.
This information was ignored for agent requests, but including it causes
spurious duct mismatches.
2019-12-10 19:32:26 +08:00
Ted Blackman
bee0b5803a
ames: don't crash on missing queued larval event 2019-12-05 17:04:24 +08:00
Jared Tobin
f23bbd1cec
Merge branch 'pkova/master' (#1991)
* pkova/master:
  zuse: implement json number to @rd parsing

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:38:57 +08:00
Philip Monk
5406f06092
ames: don't overwrite lane if already direct
This is why basically all packets are going through the galaxies right
now.  Most of the time, the flow right now is:

* talking to ~dopzod but don't know where it is, so ask ~zod to forward,
  which it does

* ~dopzod responds both directly (on the origin lane) and through ~zod

* (if NAT, the direct response doesn't get back, but the one through
  ~zod does. Then you respond directly to ~dopzod because their lane
  piggybacked on the response. ~dopzod responds both directly and
  through ~zod, and the story picks up the same as if you weren't behind a
  NAT)

* now you have a direct lane to ~dopzod, so all is well.

* now the duplicate response from ~dopzod through ~zod comes in (takes a
  little longer because it's bouncing off ~zod), resetting your lane to
  "provisional"

* since your lane is provisional, you send your next packet both
  directly and through ~zod

* GOTO 2

This change says "if I already have a direct lane, don't overwrite it
with a provisional one". This way, the only way the direct lane can be
overwritten is if they stop responding on it (cleared on "not
responding; still trying").

I also added |- to +send-blob to make |ames-verb %rot less confusing.
2019-12-05 16:05:06 +08:00
Jared Tobin
73cffdb28f
(re)release: v0.10.0
Updates brass pill.
2019-12-05 02:25:00 +08:00
Ted Blackman
b3f757d88b
ames: send larval crashes to dill 2019-12-05 02:23:13 +08:00
Ted Blackman
4c9cc1542a
ames: dequeue failed larval timer 2019-12-05 02:23:13 +08:00
Ted Blackman
c20f2391e1
ames: print and retry larval crashes 2019-12-05 02:22:27 +08:00
Jared Tobin
d310cb68bd
release: v0.10.0.rc-1
* Remove testnet configuration from %zuse
* Bump URBIT_VERSION
* Update Landscape builds
* Update all pills
2019-12-04 19:41:43 +08:00
Philip Monk
ba5e7d9090
dojo: set prompt on watch 2019-12-03 17:18:09 -08:00
Philip Monk
38197fc79d
gen: add comments on new generators 2019-12-03 16:41:29 -08:00
Philip Monk
17db094d61
publish: set permissions on %serve 2019-12-02 22:29:12 -08:00