Commit Graph

16147 Commits

Author SHA1 Message Date
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
1d1e9c0e16
eyre: better userspace libraries 2019-11-12 23:37:38 -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
85a40a13d0
spider, eth-watcher: switch to eny-based ids 2019-11-12 23:36:08 -08:00
Philip Monk
54d55b69e4
mall: fix ph 2019-11-12 21:03:21 -08:00
Philip Monk
1caa30d812
mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
Philip Monk
e603681097
clay: fix meet-conflict crash 2019-11-10 14:33:48 -08:00
Philip Monk
5c1d68bf44
spider: add process tree 2019-11-09 23:27:07 -08:00
Philip Monk
ab8ac96702
spider: allow arguments and return values 2019-11-09 19:09:02 -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
1c8bddfb15
mall: ci 2019-11-08 19:52:18 -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
aba0811b1d
mall: add lib/verb 2019-11-08 15:18:29 -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
4ef1278cfa
mall: add lib/skeleton 2019-11-08 13:18:27 -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
56db09470e
mall: safe pill 2019-11-07 17:18:57 -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
Jared Tobin
a244b452ac
Merge branch 'jt/fix-ropsten-pills' (#1924)
* jt/fix-ropsten-pills:
  build: use HEAD in sh/create-ropsten-pills

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-07 20:41:48 +08:00
Jared Tobin
080cd38f0a
tests: add unit tests for SHA hashes, etc. (#1853)
This tests each arm referenced in
https://urbit.org/docs/reference/library/3d/, based on official NIST
test vectors wherever possible.

Squashed commit of the following:

commit 3162b29f4d4d25460647be6ffb18214e602c0f7c
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 16:51:38 2019 +0000

    Update hoon.hoon

commit fe31ab286ad221147c1b6d5d733338bef2a6d39c
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 16:50:19 2019 +0000

    Create hoon.hoon

commit 28051f248694f6280b9803b37c388aab398c2976
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 16:45:38 2019 +0000

    Delete hoon.hoon

commit 186aaa89a1549ae14ab3faaf7c5867ffc84a6eaa
Merge: d0c8ae043 ed57763f1
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 11:43:51 2019 -0500

    Merge pull request #1 from ken-meier/master

    Add files via upload

commit ed57763f1e47c28bebe4f99d1be1cdea151c3d40
Merge: 225987e10 d0c8ae043
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 11:43:18 2019 -0500

    Merge branch 'add-sha-unit-tests' into master

commit 225987e100fe207a599738655d5377c10a171359
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Nov 6 11:28:05 2019 -0500

    Add files via upload

commit d0c8ae04358fa76bd6a3a654eb5f9f38c3fba502
Author: Ken Meier <55196189+ken-meier@users.noreply.github.com>
Date:   Fri Oct 25 19:20:50 2019 +0000

    Added containers for shad, shas, shaf

commit 1c9ac5b89c619b9005f6691aaf271a2992c5660e
Merge: 62f438bf5 7f124db8d
Author: Ken Meier <55196189+ken-meier@users.noreply.github.com>
Date:   Fri Oct 25 18:28:32 2019 +0000

    Merge branch 'master' into add-sha-unit-tests

commit 62f438bf5f754903779a69eb2fec48c1bdb5aae5
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Fri Oct 25 11:03:38 2019 -0400

    Add files via upload

commit 5090ea40a8100197cee415463b9b331920b7dfa3
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Fri Oct 25 11:02:59 2019 -0400

    Add files via upload

commit 9084b1598984476c4fd4ce1e66edbea42166ca72
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Wed Oct 23 20:41:45 2019 -0400

    Add files via upload

commit 4575827736361b687551582a7842951226f38eac
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Thu Oct 24 00:17:07 2019 +0000

    Delete sha.hoon

commit 833e4d6fda5befdbe2a39c92d6971774f476483c
Author: ken-meier <55196189+ken-meier@users.noreply.github.com>
Date:   Fri Oct 18 17:56:41 2019 +0000

    Add files via upload

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-07 17:27:23 +08:00
Jared Tobin
f183a5f669
contributing: update git practice section [ci skip]
Updates our git practice notes regarding long-form commit descriptions
and solid pills, per the urbit-dev thread:

https://groups.google.com/a/urbit.org/d/msg/dev/RLzP6AMAOhM/O8dsJ2rxCQAJ
2019-11-07 17:23:33 +08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Jared Tobin
ac26dabd57
Merge branch 'philip/jael-fix' (#1925)
* philip/jael-fix:
  jael: don't update state until you've tested for breach

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-07 16:02:30 +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
fd3756a3b7 build: use HEAD in sh/create-ropsten-pills
If we're not on a branch, e.g. if we've checked out an arbitrary
revision, then 'git branch --show-current' sensibly won't give us any
output, and thus the pills produced by sh/create-ropsten-pills will be
misnamed.

Consuming HEAD with git-rev-parse has the same effect here, and should
work in all cases of interst.
2019-11-06 20:14:51 +09:00
Jared Tobin
d557ea87dc
Merge branch 'slog-priority-style' (#1921)
* slog-priority-style:
  vere: flushes slog output to ensure style isolation

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 18:35:11 +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
Jared Tobin
3ec88f9bb1
Merge branch 'goad-gall' (#1915)
* goad-gall:
  updates solid pill
  dill: fixes cursor position during boot
  dill: adds %goad automation
  dill: refactors move production
  goad: adds app to unblock :hood if necessary
  hood: adds |goad-gall generator
  gall: restores "not-running" printf
  gall: adds %goad task force agent rebuilds

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 17:29:45 +08:00
Jared Tobin
0e6542afd5
Merge branch 'philip/language-server' (#1910)
* philip/language-server:
  language-server: address review comments
  language-server: fix rune typos
  language-server: multiple files and ford
  language-server: namespace libraries
  language-server: cleanup and incremental text sync
  language-server: initial commit

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 16:12:26 +08:00
Jared Tobin
144445beb1
Merge branch 'invite-app' (#1901)
* origin/invite-app:
  chat-hook: upgrade from old state and perform invitatory creation and subscription
  invite-hook: crash upon invalid invite received
  changed invite peek interface to /:path/:uid
  invite: add comments and clean up
  chat-js: added invite functionality
  chat-hook: added invite functionality
  app: added invite app and mark converters to JSON

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 15:47:05 +08:00
Philip Monk
65f5b95146
spider: convert dns 2019-11-05 23:28:20 -08:00
Philip Monk
9f0b1f9ae9
language-server: forward port changes to static gall 2019-11-05 20:33:11 -08:00
Philip Monk
545fe25cd2
language-server: address review comments 2019-11-05 20:26:33 -08:00
Philip Monk
7448432707
drum: don't print stack trace on phat reap 2019-11-05 20:05:31 -08:00
Philip Monk
46d89dd823
mall: convert dns-collector 2019-11-05 19:55:51 -08:00
Philip Monk
26c789e9f5
mall: fix chat-store refactor 2019-11-05 18:52:27 -08:00
Philip Monk
dadd6474a9
mall: chat-store style improvements 2019-11-05 15:50:56 -08:00
Joe Bryan
8e3e9f23e8 vere: flushes slog output to ensure style isolation 2019-11-05 15:01:32 -08:00
Joe Bryan
8594d2bbbf updates solid pill 2019-11-05 14:56:15 -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
Philip Monk
7fda3b616d
ph: typo 2019-11-05 13:49:34 -08:00