Commit Graph

1292 Commits

Author SHA1 Message Date
Philip Monk
1be5411c75
jael: don't notify breach on initial update to ship
See #2952 for details
2020-05-28 14:38:07 -07:00
Philip Monk
c20cd29932
jael: look for correct wire
We inspect the wire of our subscriber to see if we need to produce the
result as a %public-keys or a %boon.  This is bad -- we should proxy the
subscription to avoid this need, but this doesn't make that change yet.

%pubs is an old name that doesn't exist anymore (last existed around
September 2019).  The new version is /public-keys, but it's worked so
far because /public-keys has only one item in the path, so it missed the
conditional.  This commit makes the intent more clear.

The [%a @ @ *] could be just [%a @ *], but I leave it to reduce the
chance of breaking stuff.
2020-05-28 14:27:08 -07:00
Philip Monk
0642cc5861
ames: add |ames-wake
Somehow we ended up with flows which expected to awaken but did not wake
up.  This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.

This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.

I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
2020-05-28 10:28:31 -07:00
John Franklin
2bc6bdad8d hoon: lob/rob to kel/ker 2020-05-28 08:31:11 -05:00
John Franklin
9d8730a833 hoon: leb/reb to kel/ker 2020-05-28 07:20:04 -05:00
John Franklin
510fb6b394 hoon: bat/net to bas/fas 2020-05-28 06:58:18 -05:00
John Franklin
250f4e3130 hoon: lac/rac to sel/ser 2020-05-28 06:14:23 -05:00
John Franklin
413c5682b6 hoon: lit/rit to pal/par 2020-05-28 05:31:50 -05:00
John Franklin
fdb03c1f7d hoon: led/ban to gal/gar 2020-05-28 04:46:13 -05:00
John Franklin
a75cd8c85c hoon: yel to doq 2020-05-28 04:01:25 -05:00
John Franklin
b9027100af hoon: toc to doq 2020-05-28 03:38:08 -05:00
John Franklin
51bd4a95f8 hoon: say to soq 2020-05-28 03:17:41 -05:00
John Franklin
6c8e3b1c92 hoon: vat to pat 2020-05-28 02:45:04 -05:00
John Franklin
bc46e26a5d hoon: pad to pam 2020-05-28 02:06:00 -05:00
John Franklin
ba51e2391c hoon: tec to tic 2020-05-28 01:44:36 -05:00
John Franklin
1d8624cd74 hoon: bus to buc 2020-05-28 00:50:45 -05:00
John Franklin
4ce25c5d9f hoon: add doq, kel, ker, pal, pam, par, pat, sel, ser, soq, tic
update "XX deprecated" comments to match:
      https://urbit.org/docs/tutorials/hoon/hoon-syntax/#reading-hoon-aloud
      restore mnemonics
2020-05-27 22:26:59 -05:00
Philip Monk
472ad18c90
behn: already deleted, don't need to do it again 2020-05-27 18:47:50 -07:00
Philip Monk
86fb78d933
Merge remote-tracking branch 'origin/ted/behn-same-date' into release/hotfix 2020-05-27 18:36:10 -07:00
Philip Monk
ff01a1ea04
ames: don't set new timer if we woke up too early
Otherwise if we end up having multple outstanding timers, they never
coalesce to a single timer.
2020-05-27 17:38:18 -07:00
Ted Blackman
8ed07dfc7e behn: fix bug with timers at same date 2020-05-27 02:59:07 -04:00
Fang
36b7fc2e4f
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-26 20:36:27 +02:00
pkova
28cd252ce7 zuse: improve json to rn parsing
Allow the exponent token to be 'e' or 'E', allow the explicit sign of '+'.
Following the spec at https://json.org. Fixes #2935.
2020-05-26 19:29:24 +03:00
pilfer-pandex
78729f4f87 hoon: better comment for +slab 2020-05-25 22:42:49 -04:00
pilfer-pandex
831206d4fe hoon: comment and syn mod for +slab 2020-05-25 22:35:54 -04:00
Fang
58e85fa661
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-23 01:00:45 +02:00
Fang
52ef23ccca
eyre, zuse: add scry interfaces for eyre state
Scries for getting out open connections, cookie sessions, and existing
channels.

Moves the involved types from eyre into zuse.
2020-05-22 23:55:17 +02:00
Philip Monk
a4a44f1e21
kiln: cleanup 2020-05-22 14:32:32 -07:00
Philip Monk
096149713a
drum: relink to chat-cli
The subscription changes in drum broke existing subscriptions.  This
worked alright (though loud) for dojo, but it left chat-cli "frozen"
unless you manually unlinked/relinked.  This does that automatically.

It also includes a refactoring of +on-load in drum, to avoid vain
repetition.
2020-05-22 00:17:56 -07:00
Philip Monk
4aff4d74e2
kiln: get updates into %home, remove %base
We need to get updates directly into %home in case the marks depend on
changes to hoon.hoon.  %base has no reason to exist.

Our ota strategy is now to merge from parent/kids to home, then
parent/kids to kids.
2020-05-21 23:45:17 -07:00
Philip Monk
4fcd9f23c0
Merge branch 'release/behn-fast' (#2915)
* release/behn-fast:
  zuse: add +ordered-map
  behn: switch to ordered-map
  chat: virtualize message-to-json conversion
2020-05-21 22:43:53 -07:00
Philip Monk
0e7b07e061
Merge branch 'release/link-dojo' (#2867)
* origin/release/link-dojo:
  chat-cli: allow sending • character
  chat-cli: always talk to local ship only
  chat-cli: single-target sole effects as needed
  chat-cli: don't allow excessively small cli widths
  chat-cli: pull in sole-sur namespace where relevant
  chat-cli: remove unused entropy from state
  chat-cli: print newlines correctly
  chat-cli: support multiple sole connections
  chat-cli: don't crash on %bad-text
  dojo: rename remote access generators
  gall: fix handling of empty path list
  dojo: remove unused %json poke
  dojo: add remote access controls
  drum: switch to per-ship /sole/drum duct

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-05-21 22:42:18 -07:00
Philip Monk
274215ec6b
zuse: add +ordered-map
At some point this should be more properly styled similar to +by, +in,
and +to, but for now this reduces duplication and makes the ordered map
available to everyone.
2020-05-21 22:28:16 -07:00
pilfer-pandex
90e8c9a2b0 hoon: make +slab respect variance using given mode and return false 2020-05-21 19:38:10 -04:00
pilfer-pandex
7e4c0036f6 hoon: make +slab respect variance (%read) and return false 2020-05-21 19:37:20 -04:00
Fang
4c9d18e5c0
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-21 20:09:58 +02:00
Philip Monk
8c4c0f31fc
Merge pull request #2920 from urbit/ted/ames-mass-alien
ames: fix %alien |mass over-reporting
2020-05-21 01:40:30 -07:00
Philip Monk
a84b0db733
clay: fix clobbering changes if identical changes 2020-05-21 01:23:04 -07:00
Philip Monk
560e3375f5
clay: drip if foreign desk 2020-05-21 01:10:39 -07:00
Ted Blackman
a0eafa8aa3 zuse,ames: handle %trim task 2020-05-21 03:45:08 -04:00
Ted Blackman
0f7b213f38 ames: fix %alien |mass over-reporting 2020-05-21 03:19:20 -04:00
Joe Bryan
a7168478f3 gall: cleans up blocked-scry handling in %gall virtualization 2020-05-20 17:20:51 -07:00
Joe Bryan
6d3a5be259 Merge branch 'na-release/next-vere' into jt/minkleton
* na-release/next-vere: (1169 commits)
  jets: fix broken jets so ~marzod can boot.
  jets: hook up preexisting +repn jet.
  jets: add empty hashes
  jets: review comments
  Revert "Revert "u3: clear cached mugs on cell edit""
  jets: +welp and +zing
  jets: fix memory leak in +run:in
  jet: +find
  jets: +all:by and +any:by
  jets: +urn:by
  jet: +rep:by
  jet: +rep:in
  jets: +apt:in
  jets: +run:in
  jets: final cleanup
  jets: reenable +uni:by
  jets: jet +apt:by
  jets: +key:by and +wyt:by
  jets: +run:by
  jet: final cleanup
  ...
2020-05-20 14:05:17 -07:00
Joe Bryan
8f79e50640 hoon: clean up +mook comments 2020-05-20 12:07:48 -07:00
Ted Blackman
96264f7fa3 eyre: clarify common prints 2020-05-20 04:36:33 -04:00
Ted Blackman
1028e9fd7c hoon,kiln: clean up boot prints; new pill 2020-05-20 04:36:16 -04:00
Ted Blackman
5a1f227622 clay: remove beak from compiler path 2020-05-20 04:25:00 -04:00
Ted Blackman
917c55eaa3 gall: remove pupal queue, molt on any event 2020-05-20 03:30:29 -04:00
Ted Blackman
7e69e66280 ames/zuse: handle %trim event 2020-05-20 03:29:54 -04:00
Philip Monk
56c66be87a
behn: switch to ordered-map 2020-05-19 21:40:39 -07:00
Ted Blackman
044c22357d clay: virtualize +read-at-aeon:ze so failures don't kill event 2020-05-19 20:28:24 -04:00
Philip Monk
aaf7a45e25
arvo: properly print %warn 2020-05-17 02:01:17 -07:00
Philip Monk
161cc7aa15
clay: put ship/desk in compiler path 2020-05-17 01:59:10 -07:00
Philip Monk
2583da4d31
gall: subscribe to hoon/arvo/zuse as well 2020-05-17 00:22:51 -07:00
Philip Monk
b7beb6a697
clay: make covariant in type of +hoon 2020-05-16 05:22:39 -07:00
Joe Bryan
1c9e004fb4 hoon: switches +soft to use +mole 2020-05-14 19:12:12 -07:00
Joe Bryan
dae21cdbe7 hoon: modernizes virtualization style 2020-05-14 19:11:12 -07:00
Joe Bryan
7ad707edc5 hoon: adds +mole and +mure -- unitary virtualization 2020-05-14 18:45:33 -07:00
Joe Bryan
5141dc4de9 hoon: refactors +edit and +frag in +mink 2020-05-14 18:45:20 -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
Joe Bryan
56418b7ad7 hoon: refactors nock %11 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
e7d8a64a21 hoon: refactors nock %6 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
953091a920 hoon: refactors stack-trace production in +mook 2020-05-14 13:24:38 -07:00
Joe Bryan
3fd545e40f hoon: switches %hunk to scry sample 2020-05-14 11:00:52 -07:00
Ted Blackman
88b834107c gall: pupal phase 2020-05-14 07:24:44 -04:00
Philip Monk
a874ab4355
zuse: remove +ford 2020-05-14 00:22:39 -07:00
Joe Bryan
27a47cc72f hoon: switches +mink %hunk from tank to (untyped) path
a %hunk is the error-stack frame for a failed ([~ ~]) scry.
this changes the frame type from tank to *, avoiding
coordination overhead between +mink and the interpreter.
2020-05-14 00:09:52 -07:00
Philip Monk
2c2e16df7a
language-server: convert to fusion 2020-05-13 23:30:52 -07:00
Philip Monk
fd26b2184e
kiln: convert to fusion 2020-05-13 20:13:53 -07:00
Philip Monk
af1a26aa5d
clay: abort mate on conflicts 2020-05-13 19:29:20 -07:00
Ted Blackman
2ce063f409 ford: delete, update /lib/pill 2020-05-13 21:10:35 -04:00
Ted Blackman
4dde2081f1 Merge branch 'ted/leap-arvo' into ford-fusion 2020-05-13 19:44:44 -04:00
Philip Monk
9b434af44e clay: only reload vanes that changed 2020-05-13 18:27:14 -04:00
Ted Blackman
778f6e9d05 /sys: make hoon optional in %lyra 2020-05-13 18:27:14 -04:00
Elliot Glaysher
34c1f416f4 jets: +welp and +zing 2020-05-13 11:18:37 -07:00
Philip Monk
6da1424f8a
clay: remove last turbo references 2020-05-12 23:36:55 -07:00
Philip Monk
be77fa39db
clay: convert foreign-update to fusion 2020-05-12 22:53:23 -07:00
Philip Monk
ee13aa73d4
clay: move foreign-request to fusion 2020-05-12 20:22:25 -07:00
Elliot Glaysher
3b645370e2 jets: +urn:by 2020-05-12 14:03:58 -07:00
Philip Monk
8536c6b1ca
clay: remove move of +util 2020-05-12 03:03:07 -07:00
Philip Monk
6e10a7439a
clay: remove fusion mount and queuing infrastructure 2020-05-12 02:09:41 -07:00
Philip Monk
4e1bac8946
clay: convert |mount to fusion 2020-05-12 01:27:19 -07:00
Philip Monk
5474b2fab6
clay: remove turbo merge 2020-05-12 00:43:45 -07:00
Philip Monk
aacd6f80d8
clay: move merge back into clay 2020-05-12 00:01:46 -07:00
Philip Monk
e75ab631a4
clay: remove turbo commit 2020-05-11 19:33:56 -07:00
Philip Monk
7d5e102dfe
clay: change %info to use ford fusion 2020-05-11 19:26:22 -07:00
Philip Monk
9a9d91214f
clay: port mate/meld to ford fusion 2020-05-11 18:23:44 -07:00
Elliot Glaysher
94c66ec433 jets: +apt:in 2020-05-11 16:31:46 -07:00
Fang
be087a8c92
Merge branch 'release/next-sys' of https://github.com/urbit/urbit into m/debug-dashboard 2020-05-11 20:39:00 +02:00
pkova
9d3c997ecf zuse: allow whitespace around = in attr:de-xml:html
Allow one or more whitespace characters before and/or after the equals sign in
name attribute pairs, such as `<hello a = "yo" />` or `<hello a=    "yo" />`.
Following the spec at https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Eq.
2020-05-11 21:09:23 +03:00
Fang
e33a8952c1
Merge pull request #2840 from urbit/m/gall-just-not-unique
gall: smaller %watch-not-unique print
2020-05-11 19:44:30 +02: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
Philip Monk
170f791d1d
Merge branch 'philip/ames-dedup' (#2852)
* origin/philip/ames-dedup:
  clay: don't send peers to message pump
  ames: only dedupe long messages
  ames: don't split messages until ready to send
  ames: dedup new messages and fragments
2020-05-08 13:40:09 -07:00
Elliot Glaysher
3f293cae47 jets: +key:by and +wyt:by 2020-05-08 13:03:25 -07:00
Elliot Glaysher
7149e591ef jets: +run:by 2020-05-08 13:03:20 -07:00
Ted Blackman
b6dcb65061 clay: rebuild desk on zuse change 2020-05-08 06:03:29 -04:00
Ted Blackman
717d6e1b70 arvo: unvirtualize vane installation 2020-05-08 06:02:54 -04:00
Ted Blackman
b32ca5d222 /sys: kernel upgrades seem to work 2020-05-08 02:18:24 -04:00
Ted Blackman
9588542ed4 eyre: fix tests 2020-05-08 01:29:25 -04:00
Philip Monk
54e550d229
gall: clear outstanding ack queue on-load
This will fix the issue described in #2867 for ducts that have already
triggered the bug.  This will also send spurious acks for any messages
that are outstanding at the time of the upgrade, but I don't believe
this will cause a serious problem.
2020-05-07 21:31:50 -07:00
Philip Monk
35ca2be344
gall: clear outstanding ack queue to breaching ships
fixes #2867
2020-05-07 21:17:42 -07:00
Ted Blackman
ea2386b36c clay: stop the %drip 2020-05-07 23:58:03 -04:00
lukechampine
8cbb8f142e gall: fix handling of empty path list 2020-05-07 22:46:51 -04:00
Fang
664275c9f1
eyre: expose bindings through scry
Allows you to scry out all bound endpoints at /=bindings=.

Moves an internal type into zuse for easier external use.
2020-05-08 01:39:56 +02:00
Fang
61a5e7a45e
behn: expose timers through scry
Instead of giving the tank of the timers, give the list of timers
itself.

Updates +timers to account for this.
2020-05-08 01:38:29 +02:00
Fang
14831f4864
ames: expose state through scries
Support /=peers= and /=peer=/~ship scries for getting at all peers and
a specific peer's connection state, respectively.

Moves some internal types into zuse for easier external use.
2020-05-08 01:37:07 +02:00
Ted Blackman
9dea282d5d arvo: minor cleanup 2020-05-07 05:10:43 -04:00
Ted Blackman
7493fd4fd9 arvo: handle %warn event 2020-05-07 05:00:11 -04:00
Ted Blackman
a064afbd89 /sys: |mass works again 2020-05-07 04:51:08 -04:00
Elliot Glaysher
a05360f97a jets: hook %ob, then %fein/%fynd 2020-05-06 15:13:59 -07:00
Ted Blackman
63b77c1b7f arvo: WIP trying to get |reset working 2020-05-06 13:11:51 -04:00
Ted Blackman
a3846d6e03 arvo: fix boot bugs 2020-05-06 12:33:42 -04:00
Ted Blackman
ea75255290 arvo: synchronous updates compile; untested 2020-05-06 09:02:11 -04:00
Ted Blackman
339e4e34ce clay: fix %mime->%html mark conversion 2020-05-06 01:09:35 -04:00
Philip Monk
4cc3fea534
clay: don't send peers to message pump 2020-05-05 16:39:50 -07:00
Ted Blackman
3ad411646b clay: fix %sole-effect->%json conversion 2020-05-05 18:24:16 -04:00
Ted Blackman
58d3820e41 clay: track /{mar,lib,sur} dependencies properly 2020-05-05 02:31:35 -04:00
Ted Blackman
8fc787b0ca eyre: use ford-fusion; compiles, untested 2020-05-05 01:28:37 -04:00
Philip Monk
490b615b6a
ames: only dedupe long messages 2020-05-04 21:39:59 -07: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
Fang
ab9ecdd7fe
gall: smaller %watch-not-unique print
Instead of printing all outgoing subscriptions for the app, only print the
subscription whose wire we're trying to re-use.
2020-05-03 23:21:30 +02:00
Philip Monk
081c8a864d
ames: don't split messages until ready to send
Trying to reduce the size of ames queues.  This deduplicates incoming
message-blobs by comparing with existing message-blobs in other queues.

It also stops splitting into fragments in +feed-packets.  Instead, it
splits into fragments at the last moment, in +encrypt.  This means we
don't have to store a large number of packets in our home road.
2020-05-02 03:35:44 -07:00
Philip Monk
c50c34d8be
ames: dedup new messages and fragments 2020-05-01 22:55:14 -07:00
Philip Monk
1d5dfe394f
gall: port mark operations to fusion
Gall no longer refers to Ford Turbo
2020-04-30 23:19:50 -07:00
Ted Blackman
c08161af7d gall: scry and warp to /nowhere 2020-04-30 04:15:28 -04:00
Ted Blackman
7645b32f72 Revert "gall: WIP use ford fusion for mark casting"
This reverts commit 22aa98e717.
2020-04-30 02:00:57 -04:00
Philip Monk
65766a73e2
clay: port -merge to fusion 2020-04-29 17:38:24 -07:00
Elliot Glaysher
b947b569bb jets: implement partial %da parser.
This parses dates of the form '~2020.4.29', but not ones with time.
This uses a hook to call back to +year, since jetting that would be
a bit much.
2020-04-29 17:18:27 -07:00
Ted Blackman
6120eeecc0 Merge remote-tracking branch 'origin/ford-fusion' into ford-fusion 2020-04-29 18:12:54 -04:00
Philip Monk
1ae66bd098
clay: clean up sanity checks 2020-04-29 14:50:30 -07:00
Ted Blackman
73352faa23 Merge remote-tracking branch 'origin/philip/ford-fusion' into ford-fusion 2020-04-29 17:46:33 -04:00
Philip Monk
06c0d55a1e
clay: working sanity checks for ankh 2020-04-28 22:34:48 -07:00
Philip Monk
c5d7473cf7
clay: recurse properly 2020-04-28 20:33:12 -07:00
Philip Monk
7133e50ef3
clay: make first commits use fusion 2020-04-28 18:14:18 -07:00
Ted Blackman
22aa98e717 gall: WIP use ford fusion for mark casting 2020-04-28 10:05:58 -04:00
Ted Blackman
87818b8795 clay: report cache sizes in |mass 2020-04-28 06:37:43 -04:00
Ted Blackman
004d0624da clay: remove stray print 2020-04-28 06:23:53 -04:00
Ted Blackman
0a906dc297 clay: use %mime cache on %into 2020-04-28 05:56:28 -04:00
Ted Blackman
3eac215a1c clay: fix %mime->%hoon bootstrapping 2020-04-28 00:52:07 -04:00
Ted Blackman
80541b39aa gall: live update agents 2020-04-27 23:03:17 -04:00
Ted Blackman
48caee7579 clay: fix +build-fit 2020-04-27 22:53:50 -04:00
Elliot Glaysher
716cd2013f jets: Start jetting +ob.
Since the most used parser in +slaw is the @p one, that's up next.
But first, we need to jet parts of +ob, which gets called through
+fed:ag.
2020-04-27 16:25:30 -07:00
Philip Monk
dca81a2ee2
clay: prepare for kernel updates 2020-04-24 17:44:29 -07:00
Philip Monk
d3b5fba864
clay: prepare for switching first commit to fusion
Can't be done right now because get-fit doesn't look at the incoming
changes.
2020-04-24 12:17:22 -07:00
Philip Monk
42bab4ecfb
clay: move -commit back into clay 2020-04-23 17:16:42 -07:00
Philip Monk
fa0e019ddf
clay: change %park interface to not take caches
Now a full commit is synchronous.  -commit will be assimilated back into
clay.
2020-04-23 13:54:57 -07:00
Ted Blackman
d7215321d3 gall: fix scry bug 2020-04-22 06:49:23 -04:00
Ted Blackman
627bb565c2 boots off gall using fusion to build apps; some app errors on boot, but usable 2020-04-22 05:27:36 -04:00
Ted Blackman
3beb6ee65b WIP gall: partial fusion conversion; compiles 2020-04-22 01:37:12 -04:00
Ted Blackman
9b0cb85a02 gall: clean up API, remove empty caches from state. 2020-04-21 18:50:47 -04:00
Ted Blackman
8b4ad9bfc9 :spider2 works with threads in subfolders 2020-04-21 00:22:54 -04:00
Ted Blackman
acaf5a12cf -test: all tests pass; fixed clay +get-fit 2020-04-20 02:41:20 -04:00
Ted Blackman
1f91676c97 ford-fusion: stateful %warp reads compile 2020-04-19 04:58:12 -04:00
Ted Blackman
0e4fb5a4f4 -test /sys/vane/{ames,clay} 2020-04-18 19:53:45 -04:00
Ted Blackman
8d3a497bb9 ford-fusion: add ~| with .changes and .deletes 2020-04-18 04:18:13 -04:00
Ted Blackman
7b19580503 fix +sloe for %hint'ed cores 2020-04-18 02:11:34 -04:00
Ted Blackman
2dd78760f3 fix +sloe for %hint'ed cores 2020-04-18 02:09:51 -04:00
Ted Blackman
8f60c0e036 ford-fusion: update ankh before mime conversion 2020-04-18 01:36:59 -04:00
Ted Blackman
f36dc49ede -build-file, -build-mark, -build-cast 2020-04-17 22:50:03 -04:00
Philip Monk
3d04695ca7
clay: use ford fusion for ankh and mime cache 2020-04-17 18:04:51 -07:00
Ted Blackman
1b27582e3a ford-fusion: minor cleanup to +get-value 2020-04-17 02:23:19 -04:00
Ted Blackman
fdcc80b1e2 ford-fusion: use .baked.nub; fixes /mar/hoon dep cycle 2020-04-17 02:14:41 -04:00
Philip Monk
92f8fad85d
clay: write checkout-ankh and checkout-mime 2020-04-16 20:18:02 -07:00
Philip Monk
a479618a23
clay: add +get-changes 2020-04-16 14:05:43 -07:00
Ted Blackman
af24318955 ford-fusion: check for cycles 2020-04-16 16:30:55 -04:00
Ted Blackman
3592b7e5bc ford-fusion: minor +promote-ford cleanup 2020-04-16 16:09:02 -04:00
Ted Blackman
46ee902eaa ford-fusion: hook up %cc scry to +get-cast 2020-04-16 15:00:03 -04:00
Ted Blackman
ea23be3973 ford-fusion: report syntax errors 2020-04-16 09:55:48 -04:00
Ted Blackman
95f27d4a7b ford-fusion: +run-pact compiles 2020-04-16 09:38:34 -04:00
Ted Blackman
6e12f71789 ford-fusion: +validate-path, +cast-path 2020-04-16 09:28:14 -04:00
Ted Blackman
5854162e74 ford-fusion: parse /? 2020-04-16 08:56:06 -04:00
Ted Blackman
35c39bf076 ford-fusion: +get-cast compiles, initial tests pass 2020-04-16 08:45:48 -04:00
Philip Monk
6441116e9f
clay: get-fit fix from ted 2020-04-15 19:55:41 -07:00
Philip Monk
311cf5329c
clay: integrate ford vase and mark without cache 2020-04-15 19:10:22 -07:00
Philip Monk
310f5d19ef
clay: add stubs for %a, %b, and %c cares 2020-04-15 17:47:45 -07:00
Philip Monk
d04191320a
clay: add +promote-ford 2020-04-15 16:24:48 -07:00
ixv
2c56937f0d
Merge pull request #2701 from lukechampine/syntax-error-src
ford: print source line on syntax error
2020-04-13 19:03:05 -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
Philip Monk
17fa15336f
clay: fix %init for -merge 2020-04-10 20:42:56 -07:00
Isaac Visintainer
1fdf8a9789 Merge branch 'gall-hack-new-deal' 2020-04-09 15:39:49 -07:00
Logan Allen
a5d6403f39 gall: updated to soft properly 2020-04-09 14:53:12 -04:00
Logan Allen
7edc183ded gall: soft cast chat-action, and remove the chat-update hack 2020-04-09 02:09:51 -04:00
lukechampine
cb4cae01c8 ford: print source line on syntax error 2020-04-08 21:11:15 -04:00
Logan Allen
4d8e0cf26b gall: added hack to reduce processing time for chat messages by 30% 2020-04-06 22:58:06 -04: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
Michael Hartl
3e203634e3 Fix spelling of "existent" 2020-04-06 08:18:22 -07:00
Isaac Visintainer
2ad8264c52 Merge branch 'philip/gall-clear' 2020-04-02 15:32:43 -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
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
Luke Champine
b3d78b5d71
eyre: Remove leading sig from password placeholder 2020-03-30 13:32:21 -04:00
Philip Monk
d70431a6b0
clay: add %cs for hash of yaki data 2020-03-27 20:45:32 -07:00
Philip Monk
3f2a7b08a5
clay: add -merge except meet/mate/meld
-merge will replace |merge so that.  Once they reach feature parity and
%info is rewritten to forward to -commit, we can rip out about half of
clay.hoon
2020-03-25 20:54:19 -07:00
Philip Monk
0349cf3818
arvo: add wire to %give verb message
This must have been removed on accident recently.
2020-03-25 20:13:24 -07:00
Philip Monk
4d013573e1
clay: print changes on commit 2020-03-24 17:24:19 -07:00
Philip Monk
51ff5b8d67
clay: connect |commit to %park
Can remove the old commit flow once existing usage of %info is ported to
%park.
2020-03-24 16:48:18 -07:00
ixv
c94ba12c08
Merge pull request #2595 from urbit/philip/clay-cancel-all
clay: add option to skip queue
2020-03-24 15:03:25 -07:00
ixv
375cb9ba1b
Merge pull request #2591 from urbit/m/eth-abi-etyp
zuse: better ethereum abi data type
2020-03-24 15:02:17 -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
Fang
303b4b2756
zuse: better ethereum abi data type
Considering some of the options here were atoms, not cells, $% wasn't
appropriate, and led to *etyp:abi:ethereum resulting in ford %ride execution
failure. Simply using $? instead would result in a fish-loop, so here we split
the atom cases from the tagged union ones with a $@.
2020-03-23 12:43:40 +01:00
Fang
87dd953136
zuse: allow com in de-purl query parsing 2020-03-22 01:21:03 +01:00
Philip Monk
531630e93a
clay: add %park task and -commit
%park is a plumbing commit task.  It guarantees completion in a single
event, so you have to do much of the work before calling it.  -commit
is an example of how to do this.
2020-03-20 21:30:56 -07:00
Philip Monk
5972dc50a3
gall: remove printf and add pill 2020-03-19 11:34:19 -07:00
Philip Monk
cf9ef764f1
gall: remove pending messages from breached ship
When a ship breaches, we remove all messages that have yet to be
delivered to an app (eg if it's not yet started).  We also add
|gall-sear to do this manually, but this shouldn't be needed in normal
operation.

Finally, to unblock ~zod and ~bus on mainnet, we sear one particular
ship automatically on loading hood.  It cannot be done manually because
no userpace changes can be made until it's unblocked.
2020-03-18 21:05:06 -07:00
ixv
867dbe08ab
Merge pull request #2538 from urbit/philip/bar-stack
arvo: Multi-stack drifting
2020-03-17 17:38:14 -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
Philip Monk
3b9f7249d3
ames: print num-fragments in packet verbage
Gives you a poor man's progress bar.  For example, to determine how much
of an OTA you've downloaded from your sponsor, run:

|ames-sift (sein:title our now our)
|ames-verb %rcv

and then to turn it off:

|ames-verb
2020-03-17 14:03:48 -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
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
Philip Monk
2ea8800710
behn: drop drip failures
Restores previous behavior.  This is wrong, but without it we fail when
vanes (specifically Ford) crash on goof.
2020-03-12 09:39:27 -07:00
Jared Tobin
edbc9ba553
Merge branch 'arvo-no-print-loop' (#2422)
* origin/arvo-no-print-loop:
  arvo: removes looping crash printf

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-12 11:24:10 +04:00
Logan Allen
bd947421ca eyre: upon login redirect parameter being empty, redirect to / 2020-03-09 17:16:43 -07:00
Joe Bryan
eb05e71d60 arvo: removes looping crash printf 2020-03-09 00:41:04 -07:00
Joe Bryan
67cef638c4 Merge branch 'master' into arvo-errors
* master: (484 commits)
  king: Slight CLI cleanup and fix test build.
  king: Add command-line flags to configure HTTP and HTTPS ports.
  groups: reduce metadata updates, removal
  chat: reducer handles metadata removal
  groups: exclude group metadata from channels list
  groups: set and surface group name metadata
  groups: remove dummy 'share' flow, 'default' group
  contacts: rename, migrate '~contacts' to '~groups'
  sh/release: rename vere release tarballs
  vere: patch version bump (v0.10.3 -> v0.10.4.rc1) [ci skip]
  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
  vere: disables gc on |mass in the daemon process
  chat: remove console.log from metadataAction
  chat: style fixes during review, use metadata-hook
  chat: edit description, color settings
  ...
2020-03-05 11:56:49 -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
Matilde Park
dd402e315f eyre: remove padding from 'access' input 2020-03-03 19:52:04 -05:00
Joe Bryan
6322639436 vane: jet-hints all vanes for profiling 2020-03-03 14:17:42 -08:00
Joe Bryan
c94b5c25cb arvo: refines crash printfs 2020-03-03 14:17:42 -08:00
Joe Bryan
066e994567 arvo: fix wire (and adapt old) for %vega reset notification 2020-03-03 12:58:56 -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
Joe Bryan
eae7b71048 arvo: removes all vase literals from |va 2020-02-28 00:34:29 -08:00
Joe Bryan
cec9240771 arvo: removes all traces of meta-meta card reduction 2020-02-28 00:34:29 -08:00
Joe Bryan
d783b8902a arvo: cleanup per review 2020-02-28 00:34:29 -08:00
Joe Bryan
16bcff978c arvo: removes vestigial |is core 2020-02-26 20:25:24 -08:00
Joe Bryan
835e34d57f arvo: remove refactoring comments 2020-02-26 20:25:24 -08:00
Joe Bryan
ba753e3d36 arvo: replace $milt with $meta 2020-02-26 20:25:24 -08:00
Joe Bryan
bf23110edc arvo: replace $mill with $maze 2020-02-26 20:25:24 -08:00
Joe Bryan
796478ada7 arvo: removes %gave, generalizes %hurl 2020-02-26 16:56:17 -08:00
Joe Bryan
53d9798cda vane: prints error notifications where not handled 2020-02-26 16:56:17 -08:00
Joe Bryan
e59d56aa7a behn: forward %drip error notifications, refactor %crud handling 2020-02-26 16:56:17 -08:00
Joe Bryan
93eaff7401 ames: downcast %hear error notification to %hole 2020-02-26 16:56:17 -08:00
Joe Bryan
4cae84d9ac vane: downcast all error notifications to %crud 2020-02-26 16:56:17 -08:00
Joe Bryan
8e6dc992da arvo: removes (commented out) legacy event routing 2020-02-26 16:56:17 -08:00
Joe Bryan
fa71cc2ae4 dill: "downcast" +call error notification to %crud 2020-02-26 16:56:17 -08:00
Joe Bryan
7b4ef1ff55 arvo: clear error state on each loop iteration 2020-02-26 16:56:17 -08:00
Joe Bryan
9915e7f645 arvo: supports both old and new %crud events 2020-02-26 16:56:17 -08:00
Joe Bryan
df970ed417 arvo: passes errors to all vanes 2020-02-26 16:56:17 -08:00
Joe Bryan
5f0f32d96a arvo: moves most new structures to top level 2020-02-26 16:56:17 -08:00
Joe Bryan
b118147700 arvo: adds errors to |me 2020-02-26 16:56:17 -08:00
Joe Bryan
25a983ad44 arvo: adds errors to $wind and |le 2020-02-26 16:56:17 -08:00
Joe Bryan
eb6b99d9b5 arvo: use cached reflexives over explicit vases 2020-02-26 16:56:17 -08:00
Joe Bryan
02d811f6de arvo: groups and refactors (most) top-level arvo structures 2020-02-26 16:56:17 -08:00
Joe Bryan
8187c58ee5 arvo: removes obsolete engines 2020-02-26 16:56:17 -08:00
Joe Bryan
624a40331c arvo: restore original %xeno wires 2020-02-26 16:56:17 -08:00
Joe Bryan
9b09689d53 arvo: refactor relationships between engines 2020-02-26 16:56:17 -08:00
Joe Bryan
f5d8a3f8a6 arvo: enables new event-loop and vane engines 2020-02-26 16:56:17 -08:00
Joe Bryan
201ffd173d arvo: adds new vane and event-loop engines 2020-02-26 16:56:17 -08:00
Joe Bryan
6d8261a867 arvo: refactors and enables neo dynamic analysis 2020-02-26 16:56:17 -08:00
Joe Bryan
e2f03a63ab arvo: adds dynamic analysis from neo 2020-02-26 16:56:17 -08: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
44402bb2ec hoon: remove unused +mush
+mush was moved to be a helper of +mink, its only caller, but I
neglected to remove the original code.
2020-02-25 13:30:54 -08:00
Matilde Park
12b2d4756e eyre: add dark mode styling to sign-in 2020-02-21 21:56:25 -05:00
Isaac Visintainer
09b381e8c6 ford: add state version and perform flush on migration between versions 2020-02-21 14:10:16 -08:00
Isaac Visintainer
f7aa1298bb ford: explain +load change in comment 2020-02-21 13:29:59 -08:00
Isaac Visintainer
19e70368e8 ford: flush state on upgrade 2020-02-21 11:12:33 -08:00
Ted Blackman
d917eebe56 ford: remove pit short-circuit 2020-02-20 16:38:21 -05:00
Paul Driver
a486688481
hoon: style issue in +mook 2020-02-20 19:26:26 +04:00
Paul Driver
9c5cbfcb19
hoon: expunge temporary names (mino, tono, etc) 2020-02-20 18:49:11 +04:00
Paul Driver
d6b28db521
hoon, vere: copy mino, etc. back to old names 2020-02-20 18:32:29 +04:00
Paul Driver
4d71c1150c
hoon, vere: move all mock and mook callers to moku/moko. 2020-02-20 18:21:35 +04:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Jared Tobin
36e770f722
Merge branch 'philip/gall-ack-fix' (#2288)
* origin/philip/gall-ack-fix:
  gall: give both acks in case of unexpected ack
  gall: make 2140e07 ota-able
  gall: properly track remote acknowledgments

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-14 20:00:50 +04:00
Philip Monk
4fda5e8e38
gall: give both acks in case of unexpected ack
It's hard to say what's the safest thing to do when we get an ack we
weren't expecting due to losing outstanding.agents.state in +load
3-to-4, so this gives both a watch-ack and a poke-ack.  This seems most
likely to succeed.
2020-02-13 17:48:33 -08: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
Philip Monk
2140e07a99
gall: properly track remote acknowledgments
outstanding.agents.state is a queue of what sort of message we sent to a
foreign app.  We use it so that when the acknowledgment comes back we
know whether to treat it as a watch-ack, poke-ack, or neither.  We used
to put this info in the wire, but this gave us a different ames flow,
which meant %leave and %watch didn't get associated (causing #2079).

The error was that when when retrieving the item from the queue, we put
the new 1-item-shorter queue back in outstanding.agents.state at a
different wire than it came from, so the queues never actually got
shorter, and acknowledgments of the wrong sort were commonly produced.
This caused problems mainly in situations where we poke and peer on the
same wire, and possibly when a subscription was cancelled.

Possibly related to #2206 and #2176.  I would expect this bug to cause
those issues, but I haven't verified the converse.  Also possibly
related to #2153 and #2079.
2020-02-13 15:12:07 -08:00
Fang
fa138ef216
hoon: clarify comments for +rep:in and +rep:by
"Replace" suggests this function either produces an updated set/map when done,
like +snap, or changes all values in-place, like +turn. In truth, it's more
similar to +roll, which does reduction/accumulation.

("Reduce" specifically was chosen because it maintains the mnemonic relation to
the arm name.)
2020-02-13 23:56:44 +01:00
Paul Driver
b3558dee29
hoon: moko does not crash
When molds were changed to crash on bad input, mook was not updated.
It relied on the old behavior of bunting on bad input. +moko
(the replacement +mook) simply doesn't include stack items that don't
have the proper type (in constrast to +mook, which currently crashes
and used to leave a "blank"/bunted stack item for improperly typed
values).
2020-02-13 19:44:15 +04:00
Paul Driver
5093d420b3
hoon: add staging redirections for mook, mock. 2020-02-13 19:21:00 +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
Matilde Park
7a530d1001 eyre: amend "purchase an id" link to urbit.org 2020-02-11 15:27:08 -05:00
Matilde Park
662661e316 eyre: add new os1 login screen 2020-02-10 23:24:16 -05:00
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Liam Fitzgerald
5449a0e05b hoon: support %spot hint in xray 2020-02-10 14:20:46 +10:00
Logan Allen
a025a7fcb0 hoon: added +repn 2020-02-07 15:59:53 -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
Jared Tobin
8905a706a8
Merge branch 'pkova/lore' (#2195)
* pkova/lore:
  zuse: allow non-trailing null bytes in to-wain:format
  u3: fix lore jet to allow non-trailing null bytes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-27 10:38:56 +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
pkova
db1b88b21b zuse: allow non-trailing null bytes in to-wain:format 2020-01-25 20:54:49 +02:00
Fang
f4ed3fe980
clay: document %t care 2020-01-22 21:23:14 -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
Jared Tobin
01afc2a143
Merge branch 'm/gall-gift-paths' (#2134)
* origin/m/gall-gift-paths:
  gall: (list path) in %fact and %kick

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-07 04:17:32 +08:00
Jared Tobin
cd9624e097
Merge branch 'm/whitespace' (#2149)
* origin/m/whitespace:
  various: remove trailing whitespace
  ci: reject trailing whitespace

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 10:55:13 +08:00
Jared Tobin
f94ba8ce9c
Merge branch 'm/xmas' (#2143)
* origin/m/xmas:
  xmas: remove, obsoleted by alef

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 10:53:15 +08:00
Jared Tobin
6f7aae3574
Merge branch 'ames-clean' (#2127)
* origin/ames-clean:
  ames: update comment docs

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 07:25:22 +08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
Fang
e005cefe77
xmas: remove, obsoleted by alef 2019-12-27 02:19:36 +01: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
Ted Blackman
895f1c069d ames: update comment docs 2019-12-21 01:56:51 -05:00
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
Jared Tobin
9b0582323c
Merge branch 'philip/eth-watcher' (#2113)
* philip/eth-watcher:
  ph: fix tests by spamming blocks regularly
  gaze: reflect changes to eth-watcher
  ames: better printfs
  jael: only advance lifes
  jael: stop ship-to-ship
  jael: add "eager" mode to avoid hitting nodes as much
  jael: properly store ship sources
  gen: add +azimuth-sources
  jael: re-enable ship-to-ship communication
  eth-watcher: actually stop pending thread when restarting

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-18 12:13:27 -03:30
Philip Monk
0e876b3cd4
ames: better printfs 2019-12-18 11:31:17 -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
Philip Monk
15bd35301e
jael: properly store ship sources 2019-12-18 10:42:57 -03:30
Ted Blackman
9fb37543ec ford: clear build results on +load 2019-12-18 00:25:27 -05:00
Philip Monk
7ca3d9624e
ames: handle misordered crashing boons
Two bugs fixed here: first, if the %done reentrancy triggered another
%boon, that wasn't getting translated to a %lost, even though it could
have been the reason the event crashed in the first place.

Second, the %done reentrancy needs to happen after we emit our move, so
that we don't invert the order of the %boon's we produce.
2019-12-17 20:58:30 -08:00
Philip Monk
e5ac690fd3
jael: re-enable ship-to-ship communication
Also fix bug in eth-watcher that didn't cancel outstanding threads when
config changes.

And set default rift for ourselves to 0.
2019-12-17 16:14:07 -08: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
Fang
7755bc9718
zuse: correctly encode leading zeroes in rlp data 2019-12-14 21:25:20 +01:00
Fang
5c56cce6ea
zuse: lightly restructure encode:rlp:ethereum 2019-12-14 21:24:56 +01:00
Philip Monk
769a1c96af
eyre: turn sigpam into flog
This error is mostly harmless, but it does indicate we aren't cleaning
up our subscriptions properly.  This lets you silence with |knob.

fixes #2088
2019-12-14 00:49:23 -08:00
Philip Monk
b14606660a
goad: recompile apps after changes to /sys
OTAs commonly end up in an inconsistent state if apps depend on changes
to /sys.  For example, the %sift changes break on OTA because %spider
needs to be reloaded so that it's aware of the new thread type.  This
adds a %goad app, which reloads all apps after every change to /sys.

Getting this to start OTA is nontrivial, but this pattern should work
for apps in the future.  The changes to clock shouldn't generally be
necessary; they are only necessary here because we can't rely on hood to
start goad, since hood fails to compile if it's run before zuse is
reloaded.  Once goad is active, this will cease to be a problem.
2019-12-13 17:14:51 -08: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
Jared Tobin
9ba4505086
Merge branch 'ames-sift' (#2081)
* ames-sift:
  ames: refactor +load
  ames: +send-blob better ship printing
  hood: |ames-sift generator to trace by ship
  ames: add %sift  to trace by ship

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:06:32 +08:00
Ted Blackman
35596ca7de
ames: refactor +load 2019-12-12 15:55:37 +08:00
Ted Blackman
d4574b5da4
ames: +send-blob better ship printing 2019-12-12 15:55:36 +08:00
Ted Blackman
d77fb0f685
ames: add %sift to trace by ship 2019-12-12 15:55:32 +08:00
Jared Tobin
85d447f173
Merge branch 'philip/gall-noop' (#2073)
* origin/philip/gall-noop:
  gall: no-op on duplicate watch-ack

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:50:19 +08:00
Jared Tobin
2aa86e3121
Merge branch 'philip/stuck-flow' (#2071)
* origin/philip/stuck-flow:
  ames: recover from mismatched message nums

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:49:53 +08:00
Jared Tobin
e4a7dae888
Merge branch 'philip/login-instructions' (#2039)
* origin/philip/login-instructions:
  eyre: add instructions to login page

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 15:46:36 +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
Fang
f5ea5a4401
zuse: include all relevant azimuth addresses 2019-12-11 17:11:47 +01:00
Philip Monk
3b41a8be15
gall: no-op on duplicate watch-ack
fixes #2070
2019-12-10 18:49:50 -08:00
Philip Monk
29f078bb14
ames: don't forward up the sponsorship chain
This is *actually* why the galaxies are under so much load.  They're in
a forwarding loop with their stars, and this breaks the loop.
2019-12-10 16:20:12 -08: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
Philip Monk
e7c8a44e11
ames: recover from mismatched message nums
We've seen issues where the message-num of the head of live.state is
less than current.state.  When this happens, we continually try to
resend message n-1, but we throw away any acknowledgment for n-1 because
current.state is already n.  This halts progress on that flow.

We don't know what causes us to get in this bad state, so this adds an
assert to the packet pump that we're in a good state, run every time
the packet pump is run.  When this crashes, we can turn on |ames-verb
and hopefully identify the cause.

This also adds logic to +on-wake in the packet pump to not try to resend
any messages that have already been acknowledged.  This is just to
rescue ships that currently have these stuck flows.

(Incidentally, I'd love to have a rr-style debugger for stuff like this.
Just run a command that says "replay my event log watching for this
specific condition and then stop and let me poke around".)
2019-12-09 23:31:18 -08:00
Philip Monk
abde1d8aa9
ames: reduce load by increasing timer delays 2019-12-06 12:11:06 -08:00
Philip Monk
956a3c7420
eyre: add instructions to login page 2019-12-05 12:31:42 -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
Jared Tobin
41b64feb16
Merge branch 'philip/p2p' (#2025)
* philip/p2p:
  ames: don't overwrite lane if already direct

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:08:01 +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
75ca54ca24
Merge branch 'ames-sponsor-scry-2' (#2021)
* ames-sponsor-scry-2:
  ames: scry for sponsor and don't crash on jael response

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 15:43:00 +08:00
Ted Blackman
a7e638ebab ames: scry for sponsor and don't crash on jael response 2019-12-04 17:18:39 -05: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
ebec1eb54f
ping: delay kick until after ames processes breach 2019-12-04 02:27:35 -08:00
Philip Monk
9bc6ccb7fc
ames: don't say not responding if we haven't been talking 2019-12-03 20:21:43 -08:00
Philip Monk
38197fc79d
gen: add comments on new generators 2019-12-03 16:41:29 -08:00
Philip Monk
98b886acf2
Merge remote-tracking branch 'jfranklin9000/master' into rc 2019-12-03 15:10:32 -08:00
Philip Monk
702dd2c07a
verb: add +verb %bowl to print bowl on every event 2019-12-03 15:05:42 -08:00
Philip Monk
db083f82c7
jael: allowed skipped rifts 2019-12-03 14:16:05 -08:00
Philip Monk
8c2c52c01c
ames: make life printf helpful 2019-12-03 13:06:04 -08:00
Philip Monk
2954ed0b55
gall: correctly construct wire for ap-specific-take 2019-12-02 23:46:15 -08:00
Philip Monk
34ece6fe5a
vere: cleanup 2019-12-02 23:19:36 -08:00
Philip Monk
5f1c4805fe
ames: printfs 2019-12-02 23:13:48 -08:00
Philip Monk
3b9bcf64b0
arvo: remove unneeded top-level mock 2019-12-02 20:52:59 -08:00
Philip Monk
e6c809058c
Revert "Revert "hoon: zpgl -> zpld for consistency""
This reverts commit 195d0c2fe3.
2019-12-02 20:47:47 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -08:00
Philip Monk
93d3edbf73
pill 2019-12-02 20:09:36 -08:00
Philip Monk
9186f232f1
gall: kick after sending leave 2019-12-02 20:09:36 -08:00
Ted Blackman
d0d45ed8f2
ames: fix message pump to complete queueing fix 2019-12-02 20:09:35 -08:00
Ted Blackman
6dcb6622fa
ames: fix ack queueing 2019-12-02 20:09:35 -08:00
Ted Blackman
0cb6464e9d ames: %spew to set verbosity 2019-12-02 18:46:40 -05:00
Philip Monk
096273cf4a
gall: add state upgrade for %pack 2019-12-02 03:20:34 -08:00
Philip Monk
195d0c2fe3
Revert "hoon: zpgl -> zpld for consistency"
This reverts commit 64e8318657.

This doesn't apply well to the testnet, so reverting until later.
2019-12-02 02:22:16 -08:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
64e8318657
hoon: zpgl -> zpld for consistency 2019-12-02 01:36:00 -08:00
Philip Monk
e3005eaffa
ames: clear out-of-order messages from packet queue 2019-12-02 00:41:50 -08:00
Philip Monk
aaf7b3b42e
ames: don't crash in +on-take-wake 2019-12-01 16:00:32 -08:00
Ted Blackman
0a8b12c882 ames: state adapter 2019-12-01 02:49:46 -05:00
Ted Blackman
900d923ccc ames: fix aggressive lane timeout (still needs migration) 2019-12-01 02:49:46 -05:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
John Franklin
c36edc838e jael: add %lyfe and %ryft scrys (unitized %life and %rift) and use in +trouble 2019-11-30 19:04:18 -06:00
Philip Monk
d6c1ff4e20
ames: add routing diagnostics 2019-11-30 14:44:57 -08:00
pkova
133cbbb6ae zuse: implement json number to @rd parsing 2019-11-28 13:11:44 +02:00
Ted Blackman
071b1a4bbe ames: ~s30 max timeout instead of ~m2 2019-11-28 01:17:34 -05:00
Ted Blackman
93604c2f29 Merge branch 'rc' of github.com:urbit/urbit into rc 2019-11-27 23:06:53 -05:00
Ted Blackman
3779cca5a9 ames: try sponsors above .our 2019-11-27 23:06:39 -05:00
Philip Monk
23cc21c383
ames: remove printf 2019-11-27 19:39:12 -08:00
Ted Blackman
e9ba500ee4 Merge branch 'rc' of github.com:urbit/urbit into rc 2019-11-27 22:31:18 -05:00
Philip Monk
26c5be2948
ames: remove printf 2019-11-27 18:40:33 -08:00
Ted Blackman
9af7b3954a ames: ignore encrypted packets from alien comets 2019-11-27 20:58:18 -05:00
Philip Monk
138cbb5d2e
ames: clean up printfs 2019-11-27 16:58:26 -08:00
Philip Monk
fdb1069b33
ames: printfs 2019-11-27 16:43:09 -08:00
Philip Monk
fc74ab2dbd
ames: count unsent messages for backpressure 2019-11-27 15:58:38 -08:00
Philip Monk
74b0f66850
ames: continue processing memos after %done 2019-11-27 15:13:17 -08:00
Philip Monk
f035955a36
ames: rename alef -> ames 2019-11-27 00:46:02 -08:00
Philip Monk
96be4b65a5
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-27 00:14:08 -08:00
Ted Blackman
55c19a7d47 ames: use +crub more in comet logic 2019-11-27 02:13:15 -05:00
Ted Blackman
e3dba2ea75 incorporate @pcmonk's fix for .channel and .peer-state 2019-11-27 02:11:43 -05:00
Philip Monk
d0d66b99f4
ames: save acknowledgement when negative %done 2019-11-26 22:48:22 -08:00
Ted Blackman
6c18a4ef76 ames: use +crub for comet attestation 2019-11-27 01:15:05 -05:00
Ted Blackman
7fdb940b5c ames: fix another comet bug 2019-11-26 23:52:43 -05:00
Jared Tobin
ac2cf522b8
Merge branch 'ericfode/add-more-list-arms' (#1974)
* ericfode/add-more-list-arms:
  hoon: add +into and +snap

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-27 12:01:40 +08:00
Ted Blackman
f91a1f4873 ames: fix egregious comet bug 2019-11-26 22:54:00 -05:00
Philip Monk
9a94c35d4d
gall: acutally delete outgoing on watch-ack 2019-11-26 18:18:44 -08:00
Ted Blackman
3f550d669e Merge remote-tracking branch 'origin/philip/mall-real' into mall-testnet 2019-11-26 20:20:23 -05:00
Philip Monk
bf55197baf
ames: backpressure fixes 2019-11-26 14:56:20 -08:00
Eric Fode
03e1897b00 hoon: add +into and +snap
+into inserts an item into a list at the provided index; +snap replaces
an item at the provided index.

tests: added tests for stdlib list
2019-11-26 13:39:15 -08:00
Philip Monk
7cfe1542e5
ames: too big of messages 2019-11-26 12:00:27 -08:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
2e8b468364
Merge commit 'ec855491' into philip/mall-real 2019-11-23 22:31:20 -08:00
Philip Monk
4fc1ade6ba
gall: virtualize scry
Compare +mute and +mule.  Those pass through scry, which doesn't allow us to
catch crashes due to blocking scry.  If you intercept scry, you can't preserve
the type polymorphically.  By monomorphizing, we are able to do so safely.
2019-11-23 21:49:23 -08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Philip Monk
f8b612d053
ph: add ph-all to run multiple tests 2019-11-22 12:46:30 -08:00
Ted Blackman
5110b3459b ames: only %clog on 5 unsent messages 2019-11-22 08:43:08 -05:00
Ted Blackman
4b4e5ba80c ames: fix typo 2019-11-22 08:42:19 -05:00
Fang
39a31f0846
zuse: add +name:title for (moon) identity 2019-11-22 13:01:23 +01:00
Ted Blackman
93ab01e274 ames: minor printing improvements 2019-11-21 23:10:49 -05:00
Philip Monk
9d47222139
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-21 19:07:28 -08:00
Ted Blackman
4446c96814 yet another oops 2019-11-21 21:24:34 -05:00
Ted Blackman
8bbdc45a01 another oops 2019-11-21 21:23:34 -05:00
Ted Blackman
a4bad50e71 oops 2019-11-21 21:22:05 -05:00
Ted Blackman
ae76a33157 ames: kill timers on breach 2019-11-21 21:20:39 -05:00
Ted Blackman
1d88275032 ames: abandon ill-fated decryption reordering 2019-11-21 21:17:43 -05:00
Ted Blackman
29c816c65c ames: fix typo 2019-11-21 21:15:05 -05:00
Ted Blackman
cf543134ee ames: don't repeat broken timers 2019-11-21 21:13:09 -05:00
Ted Blackman
e7be81e219 ames: check life before decrypt 2019-11-21 21:12:42 -05:00
Ted Blackman
b944024893 ames: fix nest-fail; update solid pill 2019-11-21 20:41:17 -05:00
Ted Blackman
4988875ea8 ames: don't brick on timer error 2019-11-21 19:52:57 -05:00
Philip Monk
bdbd35fcf3
gall: virtualize scry
Compare +mute and +mule.  Those pass through scry, which doesn't allow us to
catch crashes due to blocking scry.  If you intercept scry, you can't preserve
the type polymorphically.  By monomorphizing, we are able to do so safely.
2019-11-21 14:47:06 -08:00
Jared Tobin
7fb918df53
zuse: fix outdated docs on vanes [ci skip]
The documentation on vanes in the header of zuse.hoon hadn't been
updated since before the introduction of %iris.
2019-11-21 16:52:59 +08:00
Philip Monk
b8903e9a6f
gall: fix ap-kill-down
This broke when %kick was handled by resubscribing on your own ship
because it processed the %kick before the %leave.  For example, `@t`404
at the dojo would put the dojo in an unworkable state.

You want the %leave to be processed first because you can't do a
"resubscribe" in response to that.
2019-11-20 13:24:19 -08:00
Philip Monk
1d1119c1f3
drum: unsubscribe on poke-ack failure 2019-11-20 12:12:33 -08:00
Ted Blackman
5770c6fe1c switch to ropsten and update pills 2019-11-19 23:52:28 -05:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Philip Monk
9862dccc0e
mall: age -> app 2019-11-18 19:28:59 -08:00
pkova
8836a3d2fc hoon: refactor royl float parsers to separate arms
Immediately useful for implemeting json `@rd` parsing, which is basically
`++royl-rd` minus pfix sig. The increased separation also allows for running
stuff like `(rash '3.22e-47' royl-rn:so)` from the dojo.
2019-11-19 00:56:06 +02:00
Philip Monk
fea3bd60e4
dojo: add syntax for imps
This adds syntax for running imps.  For example:

-time ~s1

Runs the "time" imp with the argument ~s1.  This blocks the terminal
until the imp has completed (backspace kills it, of course).  You could
avoid blocking the terminal if you sacrifice the ability to use imps as
sources in more complex commands.

In keeping with this one-and-done view of imps, this also changes spider
to not use a live build of imps.  This significantly reduces the amount
of uncertainty around imps -- spider will try exactly once to run your
imp, and if it fails it'll tell you.  If you want to retry, that's up to
you.
2019-11-15 17:20:56 -08:00
Jared Tobin
c9c2e33f63 zuse, build: remove default testnet config
Returns the target %zuse contract configuration to mainnet, and also
tweaks the 'arvo-ropsten' build to use %alef instead of %ames.

Also fixes a merge conflict artifact in nix/ops/default.nix.
2019-11-15 19:26:43 +09:00
Ted Blackman
49d81265c3 alef: clean up printing 2019-11-14 19:10:48 -05:00
Philip Monk
3dae66332c
jael: process all ships in %full update 2019-11-14 14:54:48 -08:00
Philip Monk
c9f437e3c6
jael: process all ships in %full update 2019-11-14 14:46:14 -08:00
Philip Monk
607a2c0ac6
eyre: fix tests 2019-11-13 19:41:56 -08:00
Jared Tobin
39fb914cdd
Merge branch 'philip/jael-no-sub' (#1944)
* philip/jael-no-sub:
  jael: only listen to azimuth-tracker on boot

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-14 09:58:34 +08:00
Philip Monk
5fd75edcc6
eyre: change id format 2019-11-13 14:07:37 -08:00
Philip Monk
a1b928488d
eyre: remove eyre-id from eyre's state 2019-11-13 01:45:04 -08:00
Philip Monk
cc94abf717
eyre: cancel subscriptions more aggressively 2019-11-13 01:21:14 -08:00
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
Philip Monk
0e564e2f28
jael: only listen to azimuth-tracker on boot
For some reason Jael subscriptions aren't starting properly for many
people.  Until we can get to the bottom of it, this sets everyone to
start listening directly to the chain.
2019-11-12 22:00:57 -08:00
Philip Monk
b25412b93b
clay: fix meet-conflict crash 2019-11-11 21:42:33 -08:00
Philip Monk
e603681097
clay: fix meet-conflict crash 2019-11-10 14:33:48 -08:00
Philip Monk
ae295d445a
mall: rm old apps for easier merging 2019-11-09 16:53:42 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Jared Tobin
a480e3aafd
Merge branch 'philip/core-gol' (#1928)
* philip/core-gol:
  hoon: extend gol check through cores

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-09 18:36:32 +08:00
Philip Monk
e43036d748
hoon: extend gol check through cores
This extends `gol` "backward-inference" typechecking to thread through
cores.  Recall that `gol` is used exclusively for receiving more
specific error messages; these changes should have no effect on programs
which already compile successfully.

Before, this would type-fail on the second `|%`.

```
!:
^+  ^?
    |%
    ++  foo  *@ud
    --
|%
++  foo
  ?:  =(1 1)
    2
  %foo
--
```

With these changes, it gives a mint-nice at `%foo`.  It will also give
you explicit errors if you have the wrong number/names of arms,
including which arms it expects.

This is becoming much more important with static gall, since it's the
first time we've used core subtyping so extensively and in userspace.
2019-11-09 18:25:42 +08:00
Philip Monk
47f24faaf8
mall: convert chat-cli 2019-11-08 19:32:21 -08:00
Philip Monk
7c4316fce4
mall: refactor gift/sign/task types
+on-agent now takes a +sign:agent:mall, which doesn't include spurious
options.  Similarly, +task:agent:mall is smaller.
2019-11-08 17:35:24 -08:00
Philip Monk
c05704965a
hoon: nits picked 2019-11-08 14:48:01 -08:00
Philip Monk
1688fe82fd
mall: add flag to default-agent to assist with errors 2019-11-08 13:56:35 -08:00
Philip Monk
43e02c25e4
hoon: extend gol check through cores
This extends `gol` "backward-inference" typechecking to thread through cores.  Recall that `gol` is used exclusively for receiving more specific error messages; these changes should have no effect on programs which already compile successfully.

Before, this would type-fail on the second `|%`.

```
!:
^+  ^?
    |%
    ++  foo  *@ud
    --
|%
++  foo
  ?:  =(1 1)
    2
  %foo
--
```

With these changes, it gives a mint-nice at `%foo`.  It will also give you explicit errors if you have the wrong number/names of arms, including which arms it expects.

This is becoming much more important with static gall, since it's the first time we've used core subtyping so extensively and in userspace.
2019-11-08 12:53:03 -08:00
Philip Monk
d096c18377
mall: properly delete on %kick 2019-11-07 18:25:19 -08:00
Philip Monk
67ef0ed0f7
mall: don't remove sub until sent kick 2019-11-07 16:30:45 -08:00
Philip Monk
68a7f58447
mall: set attributing to immediate source 2019-11-07 14:46:06 -08:00
Philip Monk
9d2585772d
mall: fan out kicks 2019-11-07 13:17:13 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Philip Monk
23f99e8f85
jael: don't update state until you've tested for breach
We were updating our state and then using that when checking if the rift
had incremented.  This would never be true, since we'd already set the
new state.

Fixes #1852 again
2019-11-06 12:51:33 -08:00
Jared Tobin
24f6309670
Merge branch 'behn-flop-drip' (#1916)
* behn-flop-drip:
  behn: print %drip errors in the correct order

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 18:31:45 +08:00
Philip Monk
46d89dd823
mall: convert dns-collector 2019-11-05 19:55:51 -08:00
Joe Bryan
cafb58b080 dill: fixes cursor position during boot 2019-11-05 14:56:15 -08:00
Joe Bryan
5ace479711 dill: adds %goad automation 2019-11-05 14:56:10 -08:00
Joe Bryan
c930aceec6 dill: refactors move production 2019-11-05 13:08:10 -08:00
Joe Bryan
d852d4f159 gall: restores "not-running" printf 2019-11-05 13:04:27 -08:00
Joe Bryan
1b187657cb gall: adds %goad task force agent rebuilds 2019-11-05 13:04:27 -08:00
Jared Tobin
3fac197ec1
Merge branch 'eth-watcher-2' (#1895)
* eth-watcher-2: (21 commits)
  eth: move existing chain requests into ethio
  eth-watcher: refactor refresh rate to top of file
  hook: add pool-group-hook for making invite groups
  ethio: add +read-contract for chain state reading
  zuse: add delegated-sending address
  eth: move eth-watcher's request-rpc into ethio lib
  gaze: make compile for latest eth-watcher
  drum: start eth-watcher on boot
  azimuth-tracker: remove deprecated generator
  eth: implement azimuth-tracker using eth-watcher
  eth-watcher: ensure logs always sent oldest-first
  eth-watcher: allow peers to unconfigured watchdogs
  eth-watcher: saner %watch behavior
  eth-watcher: implement %clear poke
  eth-watcher: store logs in state to implement peer
  eth-watcher: move types into /sur file
  eth-watcher: properly tag out-peer-data
  eth-watcher: single update timer loop
  eth-watcher: implement /block peek
  eth: turn azimuth-tracker into eth-watcher
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-05 17:11:19 +08:00
Joe Bryan
6ccc8b65d5 behn: print %drip errors in the correct order 2019-11-05 00:22:53 -08:00
Philip Monk
0e2da1e130
mall: convert lanaguage-server 2019-11-04 23:47:27 -08:00
Philip Monk
274d518cbc
mall: forward-port gall changes 2019-11-04 20:19:08 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Joe Bryan
ec32a76596 gall: fix virtualization of agent compilation 2019-11-04 15:29:17 -08:00
Ted Blackman
19c4bf7110 alef,gall: %clog notice and handling 2019-11-03 20:35:45 -05:00
Ted Blackman
3ecfbd6a68 fixed merge; sync and hi work again 2019-11-03 00:07:51 -04:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Ted Blackman
22ef92053a gall and ames: |hi works, fixed alef nack-trace bug 2019-11-02 20:52:48 -04:00
Ted Blackman
6f2ebe8ebd gall: deleted +ap-track-queue, boot completes 2019-11-01 16:18:51 -04:00
Ted Blackman
f7c1af8dec pill compiles, but apps unlink on boot 2019-11-01 15:06:09 -04:00
Fang
82e25e3940
zuse: add delegated-sending address 2019-11-01 18:09:45 +08:00
Philip Monk
0014d1cf2b
auto: fix some crashes on strange wet gates 2019-10-31 21:37:24 -07:00
Ted Blackman
925489eba6 /sys: various merge fixes 2019-10-30 16:23:37 -04:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Anton Dyudin
78d10f30cd
eyre: fix wire=path terminology 2019-10-25 16:04:29 -07:00
Jared Tobin
7f124db8d9
Merge branch 'philip/jael-ames-full' (#1882)
* philip/jael-ames-full:
  jael: provide edge-triggered breach notification

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-25 14:05:01 +08:00
Philip Monk
9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
Jared Tobin
bdfc270b2f
gall: fix bug in +ap-peek
fc7901d2 refactored much of +ap-peek, but introduced a bug in the
process.  The relevant diff from that commit is as follows:

  -        =/  =path  [ren tyl]
  -        =/  =vase  !>((slag p.u.cug path))
  -        (ap-slam q.u.cug p.arm vase)
  +        =/  index  p.u.maybe-arm
  +        =/  term  q.u.maybe-arm
  +        =/  =vase
  +          =/  =path  [term tyl]
  +          =/  raw  (slag index path)
  +          !>  raw
  +        (ap-slam term p.arm vase)

Note that [ren tyl] was replaced with [term tyl], where 'term' and 'ren'
are not equal.  This commit merely rights that wrong.
2019-10-22 15:22:30 +08:00
Jared Tobin
71b27b0300
Merge branch 'pretty-userspace' (#1847)
* pretty-userspace:
  pills
  hoon: moves new pretty-printer back into userspace

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-22 10:12:05 +08:00
Philip Monk
87f689f443
custody: add more types 2019-10-21 15:41:28 -07:00
Joe Bryan
fa01bfb0a5 hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
Philip Monk
be212ad54b
ames: better stack traces 2019-10-17 16:52:35 -07:00
Philip Monk
f835ef5a70
ames: don't crash 2019-10-17 12:33:35 -07:00
Joe Bryan
f6b41754cc arvo: improves move type specialization (by spec'ing incrementally) 2019-10-16 17:30:33 -07:00
yosoyubik
f970e1c264
hoon: fix for +uno/uni (#1779) set/map union 2019-10-16 13:26:02 -07:00