Commit Graph

6341 Commits

Author SHA1 Message Date
Philip Monk
50c22343b6 clay: wip 2022-08-16 20:33:25 -08:00
fang
497d790e59
gen: remove printf from +gall-nonces 2022-08-16 23:53:18 +02:00
fang
24cf4497e9
gen: add +gall-nonces for reading all next nonces 2022-08-16 23:24:32 +02:00
fang
18019d6d83
gall: re-enable doff, only for old-style subs
This is sufficient to bring the normal (non-prerelease-bugged) cases
into the new world.

For the prerelease ships that ran a buggier version of the new gall
subscription logic, we note that the conditional may trigger for the
nonce=1 case where it had already triggered for their
(shouldn't-be-possible) nonce=0 case. This results in a %leave on a wire
that wasn't in use. This no-ops on the publisher side though, and the
flow gets corked right away, so this is considered harmless.
2022-08-16 23:02:59 +02:00
Ted Blackman
c972c0fbe2 gall: roundtrip through arvo to revive %hood and %dojo 2022-08-16 01:37:35 +03:00
Ted Blackman
95580f7e83 gall: revive %hood and %dojo on poke 2022-08-16 00:40:38 +03:00
Ted Blackman
a70c2ffe1a gall: now restarts %hood, but not %dojo yet 2022-08-16 00:40:38 +03:00
Ted Blackman
ac072729c2 gall: force load %hood and %dojo on poke 2022-08-16 00:40:38 +03:00
fang
81f18d13ad
gall: remove outdated fixme comment
This is part of the %doff work, which is getting integrated elsewhere.
2022-08-15 12:24:18 +02:00
fang
5e43a9de56
Merge pull request #5941 from urbit/ted/nodoff
gall: disable %doff for now
2022-08-12 19:57:22 +02:00
Joe Bryan
205b5013e4 base: adds generator for getting %ames timer counts 2022-08-11 21:45:09 -04:00
Ted Blackman
1898483a45 gall: disable %doff for now 2022-08-12 00:55:19 +03:00
Ted Blackman
b1bab79f58 gall: add %f scry for sub-nonce's 2022-08-11 22:33:57 +03:00
Ted Blackman
7f35429e22
Merge pull request #5937 from urbit/ted/grq-test
ames: fix comet test
2022-08-11 22:27:15 +03:00
fang
350f33d6ba
Merge branch 'next/arvo' into ted/doff-6 2022-08-11 21:06:30 +02:00
Ted Blackman
91d6956388 tests: fix ames comet test 2022-08-11 20:49:09 +03:00
fang
5b4a964cdf
gall: fix the %doff conditional
No comment.
2022-08-11 19:48:27 +02:00
fang
06b7f52755
gall: print less during %doff 2022-08-11 17:04:44 +02:00
fang
cd0ea06ad4
gall: use a fully-formed wire when sending %cork
In response to clog notification from remote ames, we were sending a
%cork to clean up the flow. However, the wire we were using had the /sys
prefix already stripped off. Here, we put it back in.
2022-08-11 16:53:45 +02:00
fang
39cd895a55
gall: in +ap-doff, process oldest subs first
Start by killing subscription nonce 0, then work our way up instead of
down. We enhance the printf with a "total nonces" indicator so we can
still easily see the progress being made.
2022-08-10 22:51:38 +02:00
fang
8033fe760e
doff: improve generator interface slightly
No longer need to give units as named arguments, instead just the bare
values. The defaults get recognized as the "no filter" case.
2022-08-10 22:51:36 +02:00
fang
2fe27bd8d7
gall: simplify +ap-doff filter conditional 2022-08-10 22:25:01 +02:00
fang
04b7b86cae
gall: support %doff-ing specific apps and/or ships
This gives us more control over exactly which subscriptions get culled,
which is useful in debugging and targetted recovery scenarios.
2022-08-10 20:33:07 +02:00
Ted Blackman
6b836bb56d ames: fix no-op for messages on closing bones 2022-08-10 20:18:57 +03:00
Ted Blackman
20ccac22a2 ames: clean up closing bone check and printfs 2022-08-10 19:55:07 +03:00
Ted Blackman
9e47490c95 gall: fix %doff handling
Previous +ap-doff kicked the agent repeatedly.  We needed to kick
it only once.  Now publisher agents clear their incoming subscription
state without the subscriber making lots of new subscriptions because
of repeated kicking.
2022-08-10 19:48:39 +03:00
Ted Blackman
0baad53fb4 ames: drop pleas on dead bones 2022-08-10 19:47:59 +03:00
Ted Blackman
ef09595788 gall: update comment 2022-08-10 19:13:32 +03:00
Ted Blackman
543efac183 gall: kill old subscriptions on %doff (still has bug)
Squashed commit of the following:

commit 1e31ab96c14e7506d5cb746d90153cb5658df6e0
Author: Ted Blackman <ted@tlon.io>
Date:   Wed Aug 10 19:08:39 2022 +0300

    ames: revert prints on bad memos

commit c47f9c6053
Author: Ted Blackman <ted@tlon.io>
Date:   Wed Aug 10 18:44:56 2022 +0300

    Merge fix to +ap-kill-down and use that pattern in +mo-doff.

    This doesn't seem to work properly, but I'm not sure why so far.

commit e696816b8d
Merge: 4edb247cd7 a5f08643ff
Author: Ted Blackman <ted@tlon.io>
Date:   Wed Aug 10 18:29:42 2022 +0300

    Merge branch 'next/arvo' into ted/doff-revival

commit 4edb247cd7
Author: Ted Blackman <ted@tlon.io>
Date:   Sat Aug 6 00:09:04 2022 +0300

    ames,gall: fix lopsided bitt/boar state from old doffs

commit b21ffd9cfa
Merge: 7d532afaf8 8eb8a1da29
Author: Ted Blackman <ted@tlon.io>
Date:   Fri Aug 5 17:53:15 2022 +0300

    Merge branch 'next/arvo' into ted/kill-subs

commit 7d532afaf8
Author: Ted Blackman <ted@tlon.io>
Date:   Fri Aug 5 17:52:16 2022 +0300

    gall: add subscription nonce to %doff

commit f750de9aac
Merge: 38540658b5 aad5fa6fae
Author: Ted Blackman <ted@tlon.io>
Date:   Fri Aug 5 11:24:55 2022 +0300

    Merge branch 'next/arvo' into ted/kill-subs

commit 38540658b5
Author: fang <git@fang.io>
Date:   Thu Jul 28 21:10:57 2022 +0200

    gall: account for renaming of subscription state

commit c015dc8446
Merge: 7c222e4c60 731e27d5a1
Author: Zach Alberico <git@zalberico.com>
Date:   Thu Jul 28 10:14:24 2022 -0700

    Merge branch 'next/arvo' into ted/kill-subs

commit 7c222e4c60
Author: Ted Blackman <ted@tlon.io>
Date:   Thu Jul 28 14:01:00 2022 +0200

    hood: |doff generator

commit 8d00cf1bd1
Author: Ted Blackman <ted@tlon.io>
Date:   Thu Jul 28 13:21:45 2022 +0200

    gall: fix compile errors

commit 6a1fd360ff
Author: Ted Blackman <ted@tlon.io>
Date:   Thu Jul 28 13:01:16 2022 +0200

    gall: add %doff task to kill subscriptions
2022-08-10 19:09:47 +03:00
fang
a5f08643ff
Merge pull request #5932 from urbit/ted/ack-crash
ames: fix "ack crash"
2022-08-10 16:02:10 +02:00
fang
682dde904c
Merge pull request #5931 from urbit/m/gall-kill-down-accurately
gall: handle nonces in wires correctly
2022-08-10 00:04:10 +02:00
Ted Blackman
ce9f692ecd ames: clean up %cork plea handling
+on-plea gets called in two very different ways:
1) handling request from local vane to send %plea to peer
2) handling %cork request from another ship, which our local ames has %pass'ed
   to ourselves

In the second case, we shouldn't print misleadingly, or bind a duct in the ossuary.
2022-08-10 00:47:38 +03:00
Ted Blackman
2dc7171dfa ames: no-op on acks on corked bones 2022-08-10 00:44:54 +03:00
fang
db1e8d1b92
gall: explain reason for strange conditional 2022-08-09 21:36:08 +02:00
fang
52d8ef6a99
gall: initialize sub-nonce as 1 during upgrade
This matches the bunt of 1 for the new ship case. A nonce of 0 is
semantically mapped to old-style subscriptions.
2022-08-09 21:22:40 +02:00
fang
c2d77a5d47
gall: in/exclude the nonce from the wire as needed
+ap-nuke was not including the nonce, but should.
+ap-handle-peers was potentially including a zero nonce.

(The latter shouldn't have been possible, but there's a bug in +load
where sub-nonce.yoke gets initialized as 0 instead of 1.)
2022-08-09 21:21:10 +02:00
fang
0a3f542fcc
gall: refactor sub-wire-with-nonce construction
Into +ap-nonce-wire.
2022-08-09 21:20:24 +02:00
fang
1f30dccddf
gall: use correct wires in +ap-kill-down
For potentially-outgoing moves, we need to make sure the nonce is in the
wire so that it gets associated with the right instance of the
subscription.
2022-08-09 20:53:43 +02:00
fang
e396ddcdaa
gall: cork a subscription's ames flow on-kick
Gall tells ames to %cork flows for subscriptions it has closed.
Receiving a kick also closes a subscription, but gall wasn't issuing a
%cork in that case. We correct that here.

Inlines +mo-handle-ames-response's logic at its only callsite.
2022-08-08 22:21:34 +02:00
drbeefsupreme
2b7b3266ac clay: remove $dork
seems that this structure has been unused since
e75ab631a4 and confuses
newbies trying to figure out exactly what the commit
structure is (which is how I came across this)
2022-08-07 13:08:55 -04:00
Ted Blackman
da591a4078 ames: invert busted conditional in recork timer 2022-08-05 02:37:03 +03:00
Ted Blackman
56d4906a13 ames: try next recork on cork ack
Without this, a ship would send a cork on a max of one flow per
recork timer, which could take years to clear for some ships.
This starts a hot loop of trying the next cork once one gets
positively acked.
2022-08-05 01:35:34 +03:00
Ted Blackman
54cd1a5eca ames: simplify recork timer
The previous recork timer queued up %cork messages without sending them.
It also relied on making sure pump timers didn't get set for recork bones.
This was fragile.

The new design enqueues up to one new %cork message per ship during each
recork timer, based on the state of the flow.  If the flow is closing but
there are no outstanding messages in it, then it needs to be recorked.
Flows will be recorked in ascending numerical order by bone.
2022-08-05 01:13:21 +03:00
fang
9433d3354d
ames: unsent-fragments is a list, not a tree
Measure accordingly.
2022-08-03 21:03:49 +02:00
fang
7af527e605
ames: correctly measure queue size 2022-08-03 20:52:03 +02:00
fang
e6453bae3c
ames: more detailed "future msg" trace
This additional information may come in handy when debugging this crash
we shouldn't be seeing.
2022-08-03 20:46:54 +02:00
fang
e16c499724
ames: make recork timer faster
This will aid visibility and debugging. We'll probably want to make this
slower again later.
2022-08-03 20:33:04 +02:00
fang
7c01ee9b35
ames: account for corked flows during %stir
Also patches the behn scry in %stir handling to be correct for latest behn.
2022-08-03 19:37:53 +02:00
fang
b860bef066
ames: correctly avoid setting pump timer
The condition got butchered during refactor: instead of avoiding the creation
of pump timers during recork wake, it was setting them _exclusively_ during
recork wake.
2022-08-02 23:23:48 +02:00
Ted Blackman
e5e4c8602d ames: properly set recork flag in +on-wake 2022-08-02 23:15:43 +03:00
Ted Blackman
67efb2ad7c ames: don't start pump timers on recork 2022-08-02 23:03:34 +03:00
fang
7e71cbf61a
tests: temporarily disable ames comet flow test
This test started failing presumably somewhere during #5886. Testing
with a comet on the network, the test seems inaccurate: the comet can
communicate and be communicated to just fine.
2022-07-28 17:11:40 +02:00
fang
289fe5ef64
Merge branch 'next/arvo' into yu/gall-rq-global-cork-timer 2022-07-25 19:50:26 +02:00
yosoyubik
c69af12a6d gall: make spore-tag a @ud
TODO: still getting kiln: %base not installed
2022-07-18 13:49:16 +02:00
yosoyubik
a5aedaccc5 ames: delete naxplanation flows if bone is corked 2022-07-18 10:27:36 +02:00
yosoyubik
35c6ac416e ames: fix predicate for detecting %cork acks 2022-07-16 07:40:05 +02:00
fang
cd3dc4bdb9
Merge pull request #5830 from urbit/m/aqua-mark
aqua: add %aqua-effect mark file
2022-07-15 20:17:01 +02:00
yosoyubik
c599e60c5b ames: add recork set 2022-07-15 16:45:32 +02:00
yosoyubik
8712804d7f gall: comment subscription kill 2022-07-14 07:23:39 +02:00
drbeefsupreme
304efe1f35 naive: uncomment tests for +test-rut 2022-07-13 11:23:46 -04:00
yosoyubik
d17fd7521a gall: use spore tag for +molt subscription killing
WIP: kiln crashes after upgrade with a ! kiln: %base not installed
2022-07-13 15:52:15 +02:00
Ted Blackman
1cb2aaabbc gall: fix +molt initialization 2022-07-13 15:52:07 +02:00
Ted Blackman
5f8378e1b7 gall: kill subscriptions after agents reload 2022-07-13 15:52:02 +02:00
yosoyubik
d9b7643b79 gall: fix condition to run +ap-kill-down 2022-07-13 15:51:46 +02:00
yosoyubik
4c8a4ecb0e gall: run +ap-kill-down only once 2022-07-13 15:51:38 +02:00
yosoyubik
354a914c82 gall: run +ap-kill-down on +molt 2022-07-13 15:51:28 +02:00
yosoyubik
a3518ef4d6 ames: add trace for %cork plea 2022-07-13 09:17:42 +02:00
bacwyls
49b837f5e8
eyre: fix for %trim bug - addendum
Broader, more direct solution.
2022-07-08 17:10:41 -07:00
bacwyls
c8fafa53bd
eyre: fix for %trim bug
Problem:
by-channel has its own copy of server-state from line 2182. discard-channel returns an altered state, with one channel removed from the state of by-channel.
but the state of by-channel isn't changing with each iteration, so |trim is only removing one channel per invocation.

Solution:
update by-channel on each iteration.
2022-07-08 15:14:13 -07:00
yosoyubik
34a7496720 ames: clean up nack flows after a cork 2022-07-08 07:29:04 +02:00
fang
283e5ad1db
Revert "gall: exclude from traces"
This reverts commit b1b422ce05.
2022-07-07 16:24:03 +02:00
fang
a1b3348cdf
Revert "clay: render syntax errors at end of file"
This reverts commit 7a110db60d.
2022-07-07 16:21:43 +02:00
yosoyubik
ca1b586a46 ames: init cork timer on larval +take 2022-07-07 11:35:28 +02:00
yosoyubik
d4d443db13 ames: remove cork wire from state 2022-07-07 09:20:57 +02:00
Philip Monk
1bc0d0cd8e gall: don't reload if code is unchanged 2022-07-07 00:12:27 -07:00
Philip Monk
a4aa835fe1 clay: add %rein move to config agents 2022-07-06 23:09:43 -07:00
Philip Monk
56ed49578f clay: respect rein state 2022-07-06 22:26:34 -07:00
Philip Monk
71ecde32e1 clay: keep marks warm 2022-07-06 18:12:59 -07:00
Philip Monk
eb1e7dd173 clay: enable goad on every commit 2022-07-06 16:56:38 -07:00
Philip Monk
ddf13b3fb8 clay: make upgrade compile 2022-07-06 11:51:06 -07:00
fang
ddf3520648
hood: re-patch |rein
Essentially reimplements #5863 in the generator, instead of the library.
2022-07-06 20:18:45 +02:00
fang
c437f1cdbd
Merge pull request #5855 from urbit/m/gall-quieter
gall: exclude from traces
2022-07-06 18:48:55 +02:00
Ted Blackman
0d4ce15780 clay: add .liv and .ren state to dome 2022-07-06 16:41:20 +01:00
yosoyubik
e366e55dbc ames: add global daily timer for pending corks
WIP compiles and upgrades, and the timer gets properly reset
but untested for actual re-subscriptions with old publishers
2022-07-06 17:00:35 +02:00
yosoyubik
608aba2a87 gall: handle subscriber-side %cork
this also enables increasing sub-nonces for every new subscription
TODO: create one global cork timer for all peers
2022-07-06 14:44:20 +02:00
Ted Blackman
1cda56673f gall: idle agents not in %load move 2022-07-06 12:37:17 +01:00
Philip Monk
d4f02e0a57 clay: add global %goad logic 2022-07-06 03:32:15 -07:00
yosoyubik
f3a60aef14 gall: don't send %cork when leaving a subscription
This is a temporary fix, and first part of the gall-request-queue-fix
release in two stages. This gives a publisher ship the ability to
understand a %cork and handle it properly, but no subscriber will
be sending %corks at this stage when leaving a subscription.

We still add a nonce to all subscription wires but it doesn't
increment it when resubscribing, allowing flows to be reused.

Tested locally with toy pub/sub agents and Group join/leaving
2022-07-06 10:59:08 +02:00
yosoyubik
76919ce07c ames: resend %cork after a naxplanation in one day 2022-07-06 10:52:19 +02:00
Philip Monk
6d321c60cb clay, gall: move agent build management to clay 2022-07-06 00:51:11 -07:00
yosoyubik
850de0bfd3 Revert "gall: run +ap-kill-down on +molt"
This reverts commit 2107240962.
2022-07-06 09:12:30 +02:00
yosoyubik
675cf45171 Revert "gall: run +ap-kill-down only once"
This reverts commit cb5893ac05.
2022-07-06 09:12:10 +02:00
yosoyubik
3560f6b7e3 Revert "gall: fix condition to run +ap-kill-down"
This reverts commit e5c86886e4.
2022-07-06 09:11:22 +02:00
Sidnym Ladrut
13b8b337a0 dojo: re-add support for /=, /% runes 2022-07-06 00:29:23 -05:00
fang
6eece773ba
Merge pull request #5857 from urbit/jb/behn-fix1
behn: fix timers not firing
2022-07-05 16:00:31 +02:00
Sidnym Ladrut
3e22ee68e9 dojo: improve ford rune support for cable expressions 2022-07-02 18:04:54 -05:00
Sidnym Ladrut
8a017ce308 dojo: re-add support for /+, /- ford runes 2022-07-01 23:39:37 -05:00
yosoyubik
ea4a31558f ames: ack last fragment from closing bone 2022-07-01 09:59:24 +02:00
Philip Monk
89b9977ac8 azimuth: fetch snapshot on boot
Previously, the initial Azimuth snapshot was stored in Clay and shipped
in the pill.  This causes several problems:

- It bloats the pill
- Updating the snapshot added large blobs to Clay's state.  Even now
  that tombstoning is possible, you don't want to have to do that
  regularly.
- As a result, the snapshot was never updated.
- Even if you did tombstone those files, it could only be updated as
  often as the pill
- And those updates would be sent over the network to people who didn't
  need them

This moves the snapshot out of the pill and refactors Azimuth's
initialization process.  On boot, when app/azimuth starts up, it first
downloads a snapshot from bootstrap.urbit.org and uses that to
initialize its state.  As before, updates after this initial snapshot
come from an Ethereum node directly and are verified locally.

Relevant commands are:

- `-azimuth-snap-state %filename` creates a snapshot file
- `-azimuth-load "url"` downloads and inits from a snapshot, with url
  defaulting to https://bootstrap.urbit.org/mainnet.azimuth-snapshot
- `:azimuth &azimuth-poke-data %load snap-state` takes a snap-state any
  way you have it

Note the snapshot is downloaded from the same place as the pill, so this
doesn't introduce additional trust beyond what was already required.
When remote scry is released, we should consider allowing downloading
the snapshot in that way.
2022-06-30 23:22:50 -07:00
yosoyubik
e5c86886e4 gall: fix condition to run +ap-kill-down 2022-06-30 17:44:11 +02:00
yosoyubik
a967b42c30 ames: print bone if "hear last in-progress" 2022-06-30 17:12:07 +02:00
yosoyubik
cb5893ac05 gall: run +ap-kill-down only once 2022-06-30 17:06:22 +02:00
yosoyubik
2107240962 gall: run +ap-kill-down on +molt 2022-06-30 15:57:02 +02:00
fang
ad6a5acfbc
Merge branch 'master' into next/arvo 2022-06-30 12:59:41 +02:00
yosoyubik
b0766c2f53 ames: remove misleading trace printf 2022-06-30 10:46:02 +02:00
yosoyubik
27ac0b601e ames: use %$ as recipient vane for %corks 2022-06-30 10:18:37 +02:00
yosoyubik
17d52b8535 ames: handle bounce %cork from old publisher
Because the publisher will send the cork plea back to the subscriber on
the next bone, we are not able to know the bone for the original cork.
To handle it, we add the cork bone to the plea path

still wip: it keeps resending the cork plea faster than its ~h1 timer
2022-06-28 12:48:07 +02:00
yosoyubik
070d0a7d4b Merge branch 'jb/behn-fix1' into yu/gall-rq-wire-ames-flow-kill 2022-06-28 10:47:50 +02:00
yosoyubik
7de9c72f36 ames: add rift when inserting new peer state 2022-06-27 13:55:07 +02:00
pkova
7e74d44054 dns: transfer ship.arvo.network domains from ~zod to ~deg 2022-06-26 00:24:20 +03:00
fang
981bc796d7
Merge pull request #5841 from dnmfarrell/dnmfarrell/arvo-dojo-dont-crash-set-beak
dojo: setting eny/now/our shouldn't crash dojo
2022-06-18 14:25:04 +02:00
Joe Bryan
244961ed39 test: removes debugging comments from %behn unit tests 2022-06-17 22:24:24 -04:00
Joe Bryan
6b99b154d6 behn: cleans up comments 2022-06-17 22:20:16 -04:00
Joe Bryan
1b6d4f0fc5 behn: refactor to use +abet pattern 2022-06-17 10:27:27 -04:00
Joe Bryan
5482d3ff93 behn: emit %doze on any rescheduling of the next timer 2022-06-17 10:27:27 -04:00
Joe Bryan
bf8114a29d behn: don't compare pending timers to now 2022-06-17 10:27:27 -04:00
Joe Bryan
1843df6cde behn: unconditionally clear runtime timer state on %wake 2022-06-17 10:27:27 -04:00
Joe Bryan
5e867610ec behn: adds (failing) tests 2022-06-17 10:27:23 -04:00
fang
b1b422ce05
gall: exclude from traces
Removes the !: at the top of gall, so that it no longer gets included in traces about agent builds or crashes.

We also refine intentional crashes with ~_s, so that we still see a crash reason even if we don't get a full trace.

Lastly, flops the trace for +on-load crashes, which were getting printed bottom-first.
2022-06-17 14:08:47 +02:00
yosoyubik
2e92331a0b Merge branch 'next/arvo' into yu/gall-rq-wire-ames-flow-kill 2022-06-16 08:54:24 +02:00
fang
df82167111
Merge pull request #5840 from dnmfarrell/dnmfarrell/arvo-dojo-check-dir-exists-before-switch
dojo: check =dir exists before switching
2022-06-14 16:26:01 +02:00
David Farrell
d8f34e8930 dojo: remove unnecessary debug output
The tip already communicates to the user that dojo is busy, so the
sigpam output isn't needed anymore.
2022-06-13 21:00:46 -04:00
David Farrell
d439b33cc9 dojo: say how to beat the %dy-edit-busy escape room
It's too easy to get trapped in the dojo %dy-edit-busy escape room. Just
type something like:

  -build-file /=base/gen/ls/hoon

This modifies the dojo output to tell the user how to get out.

Fixes #1462.
2022-06-13 21:00:21 -04:00
David Farrell
04672fbe1d dojo: setting eny/now/our shouldn't crash dojo
Changes dojo to emit a usage message and ignore the request.

Fixes #1519
2022-06-13 20:51:38 -04:00
David Farrell
3a10b4d8f3 dojo: simplify dir not exist error message build
Incorporates @Fang- suggested changes (thanks!).

Drops the path serialization as it will print on two separate lines,
and it is already displayed in dojo immediately above the error message:

    > =dir /=base=/ge
    dojo: dir does not exist
2022-06-13 20:37:55 -04:00
David Farrell
73c1c94ea8 dojo: have dojo check =dir exists before switching
Scries clay for a list of files beneath the provided path - if the response
is nil then the dir must not exist (clay abhors a vacuum).

Fixes #1559
2022-06-13 20:37:49 -04:00
fang
5eac6a8aa3
aqua: add %aqua-effect mark file 2022-06-05 19:06:34 +02:00
Hunter Miller
c7ee2f7230 Merge branch 'master' into next/landscape 2022-06-03 10:48:39 -05:00
fang
43dff9c279
ames: do not use old lanes during stateful forward
As 999f0e8, but for the stateful code path in +send-blob.
2022-06-01 21:47:15 +02:00
fang
bad5013c8a
gen: in |new-desk, prompt instead of crash
If a desk already existed, we would crash the generator, embedding a
message in the resulting stack trace.

To improve legibility, we turn this into an %ask generator, prompting
only if we are about to overwrite an existing desk.

We also update the =force argument to be =hard instead, to match |nuke.
2022-06-01 20:21:27 +02:00
fang
49ad872629
gen: in |new-desk, fetch files individually
The ankh is no longer included in the dome, so we must scry out files
one by one.
2022-06-01 20:20:18 +02:00
fang
d260f391ea
gen: |make-desk -> |new-desk
User survey (sample size: 2) suggests |new-desk is the more ergonomic
name.
2022-06-01 20:19:13 +02:00
fang
999f0e84e9
ames: do not produce stale forward lanes
Stale lanes may cause forwarding loops. Imagine the following:
1) Planet A is live. Galaxy B, its indirect sponsor, learns of its route.
2) A goes offline. Another ship, C, is started in its place, at the same route.
3) B receives a packet for A, forwards it to the known route.
4) C received the packet, forwards it to B.
5) Repeat from 3.

Here, we update the forward lane(s) scry used by the runtime to not produce a
peer's lane if they haven't communicated with us in the last hour. Everyone's
supposed to ping their sponsorship chain every 30 seconds. If those aren't
going through, you shouldn't expect to be reachable anyway.

We may or may not want to update +send-blob to match.
2022-06-01 17:17:37 +02:00
fang
ac90c2a602
Merge pull request #5812 from urbit/m/eof-syntax-error
clay: render syntax errors at end of file
2022-05-31 16:58:46 +02:00
fang
e9a0c8543e
Merge pull request #5811 from ynx0/patch-1
eyre: Modify landing title from "OS1" to "Urbit"
2022-05-31 16:56:15 +02:00
fang
7a110db60d
clay: render syntax errors at end of file
Previously, if the pointer for a syntax error pointed to the end of the file
(and the file ended in a newline) the code snippet rendering would try to
display a line _beyond_ the end of the file, causing a crash.

Here, we detect that case, and display `<<end of file>>` instead.
2022-05-30 16:08:59 +02:00
Yaseen
c94fea25da
eyre: Modify landing title from "OS1" to "Urbit" 2022-05-29 16:22:20 -04:00
David Farrell
43b2481bdf pkg: default test everything under /=base=/tests
Checks if args is empty and if so, sets the test path to /=base=/tests.
2022-05-27 21:23:16 -04:00
David Farrell
09fdc43e6b pkg: -test shouldn't require a list of paths
Changes the test command to check if args contains a single path and
wraps it in a list. Now a test thread can be started without providing
a list:

  -test %/tests/lib

And passing a list still works:

  test %/tests/lib ~

One nit in this change is the lark expression to reach into args: if
args is ~ then instead of getting a useful need/have error, the test
ends in a "false-start". Perhaps this could be fixed by detecting ~
and setting it to %/tests.
2022-05-27 21:23:16 -04:00
David Farrell
d74852eaa1 pkg: don't silently skip non %tests/ test arms
No longer strips "%tests" from the beginning of test filepaths.

Fixes [#5803](https://github.com/urbit/urbit/issues/5803)
2022-05-26 13:50:17 -04:00
Philip Monk
5b773723b3 Merge remote-tracking branch 'origin/yu/ames-fixes' into next/arvo 2022-05-20 22:52:00 -07:00
Philip Monk
ac64f44538 clay: update tests 2022-05-20 20:03:34 -07:00
Philip Monk
b914fbaedc clay: add logging commands 2022-05-20 17:01:50 -07:00
Philip Monk
f16abbd992 ames: fix comet communication with breached ship 2022-05-19 20:20:00 -07:00
Philip Monk
7f63f548f5 clay: don't add lobe to wire to avoid flow leak 2022-05-18 20:54:10 -07:00
yosoyubik
16920a894e Merge branch 'yu/ames-fixes' into yu/gall-rq-wire-ames-flow-kill 2022-05-18 17:37:24 +02:00
yosoyubik
c2576cdc46 ames: handle +call moves if re-evolving from larva 2022-05-18 17:36:40 +02:00
yosoyubik
fe412b1ca7 gall: remove $watches from egg/yoke
Also renames $beat to $boar so it signifies more its closeness to $boat
2022-05-18 15:27:17 +02:00
Philip Monk
201cb7290f clay: add tomb scry 2022-05-18 02:12:35 -07:00
Philip Monk
6cae525464 clay: make trim clear ford cache 2022-05-18 00:35:23 -07:00
Philip Monk
61c1e19db5 clay: progress download when receiving tombstone 2022-05-18 00:11:16 -07:00
Philip Monk
4051d182ee clay: fetch entire latest foreign commit 2022-05-17 22:07:53 -07:00
Philip Monk
9548f8333a clay: don't require head of foreign desks 2022-05-17 17:06:03 -07:00
Philip Monk
9f0e8294db clay: fixes 2022-05-17 16:02:15 -07:00
Philip Monk
c440a333d3 clay: tweaks from walkthrough 2022-05-17 14:17:53 -07:00
Philip Monk
7e4ad62a51 Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb 2022-05-17 14:07:05 -07:00
yosoyubik
c8f50ff2e6 gall: increment nonce after leaving pre-nonce subs 2022-05-17 15:37:33 +02:00
yosoyubik
7166e4c7cf gall: skip nonce in pre-nonce subs wires 2022-05-17 14:29:13 +02:00
yosoyubik
4dae3ae3e2 ames: indent 2022-05-17 07:49:15 +02:00
yosoyubik
f81061fe40 Merge branch 'yu/ames-fixes' into yu/gall-cork-wip 2022-05-17 07:47:58 +02:00
yosoyubik
2553573be0 ames: start drainage timer if regressed from adult
This accounts for a possible race condition where ames expects a
response, but regresses into the larval state. Upon receiving the
$sign on +take, we would remain stuck as a larva. Now we check
that we have enough information to re-evolve and then start a
/larval timer to begin draining the queue.
2022-05-17 07:11:09 +02:00
yosoyubik
586fecef10 gall: add %gn to scry the nonce of a subscription 2022-05-16 10:27:36 +02:00
yosoyubik
20a5f0701c app: remove nonce from dbug and spider 2022-05-16 10:27:27 +02:00
yosoyubik
83356f02ca gall: add $beat map for subscription nonces
Previously we stored the nonce in $boat, which changed the $bowl of each
agent. This compiles and all agents reload, but more testing is needed.
It also renames inbound/outbound watches to $bitt/$boat.
2022-05-16 09:13:40 +02:00
yosoyubik
a1dcc5a8cd gall: print trace logs by agent
This uses the same patterns found in %ames. We add an %odd flag
for logs related to the gall-rq PR, and leave it open for other flags
2022-05-15 17:16:18 +02:00
Philip Monk
2a38467f04 clay: re-export page to not break apps 2022-05-15 02:54:44 -07:00
Philip Monk
9c7c776fd8 clay: fix stack while building directories 2022-05-15 02:27:49 -07:00
Philip Monk
d25194c7a3 arvo: reduce priority of lifecycle printfs 2022-05-14 23:59:21 -07:00
Philip Monk
e6d61c0236 Merge remote-tracking branch 'origin/next/vere' into philip/tomb 2022-05-14 23:02:37 -07:00
Philip Monk
c091ec92eb various: make all files build correctly 2022-05-14 22:49:10 -07:00
Philip Monk
f41cfa112e tests: fix various 2022-05-14 22:05:39 -07:00
Philip Monk
8a2eac7c70 Merge remote-tracking branch 'origin/ted/ames-prod-2' into philip/tomb 2022-05-14 21:17:10 -07:00
Philip Monk
c9a8933628 Merge remote-tracking branch 'origin/lf/eyre-mark-desk' into philip/tomb 2022-05-14 21:04:26 -07:00
Philip Monk
00d180c008 Merge branch 'pr' into philip/tomb 2022-05-14 20:59:33 -07:00
Philip Monk
2e31f87068 Merge branch 'pr' into philip/tomb 2022-05-14 20:59:01 -07:00
Philip Monk
265ff532e7 Merge remote-tracking branch 'origin/lf/signed-js-parser' into philip/tomb 2022-05-14 20:53:35 -07:00
Philip Monk
e457a4c15e Merge remote-tracking branch 'origin/jm/homebase' into philip/tomb 2022-05-14 20:46:09 -07:00
Philip Monk
915dc733f5 Merge remote-tracking branch 'origin/m/buclus' into philip/tomb 2022-05-14 20:39:51 -07:00
Philip Monk
8f96e8402b Merge remote-tracking branch 'origin/jo/lull-bump' into philip/tomb 2022-05-14 20:36:14 -07:00
Philip Monk
90a9ed951c Merge remote-tracking branch 'origin/next/arvo' into philip/tomb 2022-05-14 20:36:05 -07:00
Philip Monk
c0c5120384
Merge pull request #5752 from jfranklin9000/next/arvo
vat: add +vat, a single-desk version of +vats
2022-05-14 20:32:09 -07:00
Philip Monk
0ef9570f06 eth-watcher: fix upgrade 2022-05-14 20:28:56 -07:00
Philip Monk
d50d3915b8 Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb 2022-05-14 19:28:30 -07:00
Philip Monk
6f46e483d0 Merge remote-tracking branch 'origin/yu/azimuth-kick' into philip/tomb 2022-05-14 19:27:45 -07:00
Philip Monk
c029495ac5 helm: emit moon-breach in new event 2022-05-14 19:04:13 -07:00
yosoyubik
350636fe2a ames: don't relay acks for naxplanations of %corks
This avoids closing a subscription prematurely, before the
server ames has had time to process the innitial %cork.
2022-05-14 10:52:45 +02:00
Philip Monk
82bd5d15b1 Merge remote-tracking branch 'origin/next/arvo' into philip/tomb 2022-05-12 20:45:20 -07:00
Philip Monk
b29865a021
Merge pull request #5662 from urbit/philip/moon-self-breach
helm: add poke to helm to allow self-breaching moons
2022-05-12 20:24:50 -07:00
yosoyubik
7fc5177602 azimuth: restart %eth-watcher if not running 2022-05-12 07:14:26 +02:00
Philip Monk
e66b6b6a16 kiln: use %only-that for vats merges 2022-05-10 20:38:57 -07:00
Philip Monk
32ff1417a7 clay: only maintain mime cache if mounted 2022-05-10 20:33:01 -07:00
Philip Monk
3b0c2dac9c clay: validate files in separate roads 2022-05-10 20:32:11 -07:00
Philip Monk
7f573cb357 clay: tweak |mass output 2022-05-10 03:24:58 -07:00
Philip Monk
27a4a9584f hoon: in molds, unify result with input 2022-05-10 01:01:25 -07:00
Philip Monk
8e2720cd0e Merge remote-tracking branch 'origin/yu/azimuth-kick' into philip/tomb 2022-05-09 22:36:28 -07:00
Philip Monk
c76214b226 Merge remote-tracking branch 'origin/next/arvo' into philip/tomb 2022-05-09 22:36:19 -07:00
Matilde Park
7c646417b6 base-dev: add css.hoon, switch others to symlink 2022-05-09 12:41:50 -07:00
yosoyubik
76ddc359f5 ames: fixt 6-to-7 state update 2022-05-09 14:17:27 +02:00
yosoyubik
a2b771f704 Merge branch 'yu/ames-fixes' into yu/gall-cork-wip 2022-05-09 14:16:07 +02:00
yosoyubik
5d6b2d8997 ames: fix 4-to-5 state migration 2022-05-09 14:13:51 +02:00
yosoyubik
da4de1579d eth-watcher: discard future pend-logs in watchdog
If there were pending-logs in an existing watchdog that was not fully
restarted, and the number of the starting block is newer than the first
in pending, when starting a new thread, those logs will be carried over
to the new thread, which will then be re-downloaded and will fail to be
verified in /lib/naive
2022-05-08 09:43:30 +02:00
yosoyubik
79d0129401 azimuth: use %kick poke to restart subscriptions 2022-05-07 16:27:04 +02:00
John Franklin
43db356619 show-vat: change output formatting to match +vats 2022-05-07 03:16:30 -05:00
John Franklin
3d9f0c6414 vat: add +vat, a single-desk version of +vats 2022-05-07 02:20:44 -05:00
yosoyubik
a278b63c66 ames: add tracing printf 2022-05-06 09:47:19 +02:00
yosoyubik
6318aa283b ames: retry sending a %cork if publisher is behind 2022-05-05 14:04:18 +02:00
yosoyubik
06883b617e ames: add new state version in +stay 2022-05-05 13:00:23 +02:00
Philip Monk
591bdf458c Merge branch 'next/arvo' into philip/tomb 2022-05-04 00:45:57 -07:00
Philip Monk
4760e4e158 clay: fix |pick 2022-05-04 00:22:00 -07:00
Philip Monk
36640afaa0 clay: add |pick 2022-05-03 22:58:40 -07:00
Philip Monk
c995f04474 clay: comment 2022-05-03 22:09:36 -07:00
Philip Monk
53353cde11 clay: add %sweep scry to verify refcounts 2022-05-03 21:59:56 -07:00
Philip Monk
d59fb3a82b clay: address review comments 2022-05-03 19:17:39 -07:00
Philip Monk
a3a2934d53 clay: add dependencies to stack on sprig hit 2022-05-03 16:47:48 -07:00
Philip Monk
c96e5bbf09 clay: reduce printfs 2022-05-03 16:20:36 -07:00
Philip Monk
7e17ae25fb clay: rename poor->mist 2022-05-03 16:17:28 -07:00
Philip Monk
71d4f72ce1
Merge pull request #5647 from urbit/roller/batch-split
roller: add batch-trimming functionality
2022-05-03 14:34:12 -07:00
yosoyubik
53e1c86833 Merge remote-tracking branch 'origin/yu/ames-fixes' into yu/gall-rq-wire-ames-flow-kill 2022-05-03 13:57:39 +02:00
yosoyubik
ec60399cdf ames: restore previous +decode-shut-packet 2022-05-03 12:49:10 +02:00
yosoyubik
3f7f4dbd5a gall: handle %kicks for nonexistent subscriptions 2022-05-03 12:49:10 +02:00
yosoyubik
a288d455c3 ames: remove %cork from |ack-meat 2022-05-03 12:49:10 +02:00
yosoyubik
c380cf3f42 gall: add %cork to remote-request action 2022-05-03 12:49:10 +02:00
yosoyubik
0a96d69785 gall: include sub-nonce in unsubscribe wire 2022-05-03 12:49:10 +02:00
yosoyubik
674c9e95a0 gall: style indentation 2022-05-03 12:49:09 +02:00
yosoyubik
8be9257164 ames: style indentation 2022-05-03 12:49:09 +02:00
yosoyubik
52ef6ba08e ames: handles decoding old-format shut-packets 2022-05-03 12:49:09 +02:00
h5gq3
c95cce4404 style fixes 2022-05-03 12:49:09 +02:00
h5gq3
5583fc1320 ames-flow-kill 2022-05-03 12:49:09 +02:00
Ted Blackman
fdd2067e75 gall: review cleanups 2022-05-03 12:49:09 +02:00
Ted Blackman
9582307713 dbug: fix type error from nonce change 2022-05-03 12:49:09 +02:00
Ted Blackman
edf5ec9123 gall: upgrades almost smoothly 2022-05-03 12:49:09 +02:00
Ted Blackman
c63732cd77 dbug,spider: fix type errors; ship boots 2022-05-03 12:49:08 +02:00
Ted Blackman
a4ae79e794 gall: compiles with nonce in wire 2022-05-03 12:49:08 +02:00
yosoyubik
0252d71553 gall: WIP added sub-nonce to state and wire 2022-05-03 12:49:08 +02:00
Philip Monk
53a417dc43 clay: add sprig cache 2022-05-03 01:32:40 -07:00
Philip Monk
21cc132884 clay: rename ford-cache->flow 2022-05-03 00:17:30 -07:00
Philip Monk
8bab16d448 clay: remove -k arms 2022-05-01 17:03:17 -07:00
Philip Monk
0b72164740 clay: remove +build-leak 2022-05-01 16:36:45 -07:00
Philip Monk
c2754662b8 clay: new ford cache 2022-05-01 03:54:03 -07:00
Philip Monk
7219b7e58f clay: collapse version 12 into 11 2022-04-29 20:44:42 -07:00
Philip Monk
5a5de05518 clay: enable mounting revisions of desks 2022-04-29 18:50:30 -07:00
Philip Monk
a7eaddfdc7 clay: remove ankh
ankh was a cache of the current validated blobs, which is no longer
necessary
2022-04-29 17:29:50 -07:00
Philip Monk
60950ade08 clay: cleanup 2022-04-29 15:05:53 -07:00
Philip Monk
8d2ddfd467
Merge pull request #5671 from urbit/jon/l2-csv
L2 transaction gas costs csv thread
2022-04-29 14:53:29 -07:00
yosoyubik
02806f63a1 ames: hardcode rift for comets in state upgrade 2022-04-27 06:24:55 +02:00
yosoyubik
79af26fc3c azimuth: revert azimuth change in 60cc44e 2022-04-26 18:36:48 +02:00
Philip Monk
ac6e793aa2 arvo: rename +de to +of 2022-04-22 17:55:42 -07:00
yosoyubik
9cb425e0ef ames: remove unused ames-to-ames %plea logic
This seems to have been used in the past for pinging the ship's
sponsor, but was later removed when the :ping app was introduced
2022-04-22 15:49:15 +02:00
yosoyubik
087f24e931 ames: use +trace to print logs 2022-04-22 12:29:16 +02:00
yosoyubik
e2f8e21529 ames: remove sigwut 2022-04-22 12:26:53 +02:00