Commit Graph

1950 Commits

Author SHA1 Message Date
Joe Bryan
679b38138d ames: prevent larval stage from possibly clobbering adult state 2022-08-23 10:37:01 -04:00
Ted Blackman
5a96f3bdbe ames: drop %hear as larva; check duct before metamorpohse 2022-08-23 16:45:17 +03:00
Ted Blackman
07601c6bee ames: metamorphose on first +take if possible 2022-08-23 16:09:35 +03:00
Ted Blackman
9abe49489d ames: +on-stir clean up comments 2022-08-23 13:31:10 +03:00
Joe Bryan
9439841ce8 ames: refactor %stir, %rest stale/wrong timers 2022-08-22 20:14:02 -04:00
fang
a04d564269
Merge pull request #5963 from urbit/m/ames-eager-molt
ames: ensure larva initializes adult's state
2022-08-20 00:35:50 +02:00
fang
3a7938f057
ames: say "metamorphosis" in all relevant cases 2022-08-20 00:05:20 +02:00
fang
53b0e7ecaa
ames: ensure larva initializes adult's state
Previously, when the larva got to processing enqueued events, it was
doing so without loading state into the adult beforehand, resulting in
incorrect processing of events.

Here, we make the larva call +molt more eagerly, ensuring that the adult
always has its state available when we use it.
2022-08-19 23:58:10 +02:00
Philip Monk
ca0a00cb3c Merge remote-tracking branch 'origin/master' into philip/snap 2022-08-19 12:37:25 -08:00
fang
8108595b2b
gall: don't inject potentially-fake acks
We shouldn't be hitting this case anymore. Injecting events into agents
which they might not expect, and might not even be real, is bad.
2022-08-19 21:39:44 +02:00
fang
59f0556e3b
Merge pull request #5958 from urbit/ted/rake
gall: %rake task to clean up dead %leave's
2022-08-19 21:29:08 +02:00
fang
a79f2f27e5
Merge pull request #5961 from urbit/m/ames-stir-thoroughly
ames: don't skip closing flows in +on-stir
2022-08-19 21:22:49 +02:00
fang
a9a8619daa
Merge pull request #5947 from urbit/ted/staying-alive-rebase
gall: revive %hood and %dojo on keypress
2022-08-19 21:22:28 +02:00
fang
ce2e433a8a
ames: don't skip closing flows in +on-stir
Yes, there is a global timer for closing flows, but all that does is
enqueue a cork message. +on-stir needs to set _pump_ timers for all
flows that might still have messages to send, which includes closing
flows.
2022-08-19 20:26:08 +02:00
fang
cfa18b1f1f
gall: when kicked, register %cork as outstanding
When ames notifies us that our subscription has been kicked, we enqueue
a cork to clean up the flow. Unlike the %leave case, however, we were
not registering the cork in the queue of outstanding comms. We would
eventually get an ack, but not know what for, and erroneously inject
%poke-acks and %watch-acks.

Here we simply add a %cork entry to the queue before sending it.
2022-08-19 16:04:36 +02:00
fang
c8a163fedb
gall: clean up big wire construction 2022-08-18 22:46:58 +02:00
fang
a5335f5851
gall: improve match detection in +ap-rake
Making sure to stringify the nonce and including all the target details in the
wire, and excluding flows that are already closing.
2022-08-18 22:39:54 +02:00
Ted Blackman
d8df2787a0 gall: %rake task to clean up dead %leave's 2022-08-18 20:34:42 +03:00
Philip Monk
50c22343b6 clay: wip 2022-08-16 20:33:25 -08: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
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
fang
350f33d6ba
Merge branch 'next/arvo' into ted/doff-6 2022-08-11 21:06:30 +02: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
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
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
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
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
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
fang
d2e25f4122
Merge branch 'next/arvo' into m/contdist-and-behn 2022-07-05 17:43:49 +02:00
fang
d177d4f509
Revert "testnet: tweaks for ropsten"
This reverts commit e6db12cd82.
2022-07-05 16:34:14 +02:00
fang
6b18e73b0b
Revert "various: further tweaks and assets for testnet"
This reverts commit 6eba8053f8.
2022-07-05 16:34:04 +02: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
Philip Monk
ba702d5f76 clay: comments 2022-06-30 18:12:19 -07:00
Philip Monk
172af42def clay: clear ford cache on +load instead of +stay
Best practice is clean up state on +load, when you know more about what
the migration should be.

fixes #5849
2022-06-30 11:55:44 -07:00
fang
abd008e453
clay: patch state migration logic
We had overlooked changes to the $update-state type. Accounting for
those makes +load work properly again.
2022-06-30 20:48:24 +02:00
fang
f2d6104e9c
ames: remove debug printfs
Accidentally included.
2022-06-30 20:38:32 +02: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
fang
292a65f64c
Merge branch 'next/arvo' into yu/content-dist-merged
Includes patched versions of ames' and clay's +load arms.

In clay, we do a dumb ;; hack to get the state to adapt properly. This
shouldn't be needed ($case had an extra... case added to it, old ones
should still nest), and so we should revisit the logic there to make it
cleaner/better before release.
2022-06-30 16:27:02 +02:00
yosoyubik
2107240962 gall: run +ap-kill-down on +molt 2022-06-30 15:57:02 +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
yosoyubik
20ad05eabc clay: update scry retry/timeout 2022-06-24 09:33:29 +02: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
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
Ted Blackman
0190a477f5 ames: adjust comments 2022-06-15 15:35:41 -06:00
Ted Blackman
1380e83b55 ames: clog on 5 messages and 100kB 2022-06-15 15:28:34 -06:00
yosoyubik
d7544e9bde ames: fix parsing rift/life in ke-rcv 2022-06-06 15:50:02 +02:00
Ted Blackman
d2ea33ddfe
ames: condense message size calculation
Co-authored-by: fang <git@fang.io>
2022-06-05 08:49:47 -05:00
Ted Blackman
953273004a ames: clog at 100kB instead of 5 messages 2022-06-04 17:18:21 -05:00
Ted Blackman
4825f8968c lull,ames: renames, more packet verification
Regularized arm names to +etch-* and +sift-* to match Vere.  Renamed
$packet to $shot.  Used $meow, $purr, and $keen to match Vere's naming.
Reorganized packet decoding arms and moved some to Lull for later use in
Aqua.
2022-06-03 22:58:50 -05:00
Ted Blackman
3466f9854b ames: fix forwarding, use +send-blob in fine 2022-06-03 18:22:55 -05:00
Ted Blackman
32cc092704 ames: ;; scry result instead of \!< 2022-06-03 11:24:03 -05:00
Ted Blackman
0a3a793161 ames: don't forward to ourselves 2022-06-02 23:43:22 -05:00
Ted Blackman
44954dec7b ames: fix packet forwarding 2022-06-02 23:26:42 -05:00
Ted Blackman
d6428a9023 ames: cleaned up printing, signature bug appears fixed 2022-06-01 17:08:12 -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
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
Ted Blackman
6a13048cf1 ames: WIP modernized tests pass, still haven't found signature bug 2022-05-31 18:31:38 -05: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
Ted Blackman
930ce64343 ames: fix some meow and mug encoding issues; still signature problems 2022-05-28 20:23:37 -05:00
Ted Blackman
f159f38f16 ames: (debug build) fix yawn 2022-05-27 15:54:38 -05:00
Ted Blackman
062fbc71d7 ames: merge driver rework 2022-05-27 14:52:30 -05:00
Ted Blackman
aaffad63b0 ames: fix up packet encoding 2022-05-27 13:14:53 -05:00
Ted Blackman
a596322202 ames: remote scry works again 2022-05-27 10:35:03 -05:00
fang
984d2845a4
ames: correctly scry into jael for sponsors
+saxo:title uses .^, which doesn't work from kernelspace. We manually
call the scry function instead.

Also, we want the end of the list, not the head.
2022-05-27 13:06:26 +02:00
Ted Blackman
302d406a94 ames: WIP runs and ames works, but scrying kills ships 2022-05-26 21:23:09 -05:00
Ted Blackman
a1f202deb0 fine: refactor driver and arvo/vere interface 2022-05-25 17:30:35 -05:00
fang
830ee80325
ames: fall back to galaxy if no scry lane known
Will need to be updated alongside other routing logic eventually.
2022-05-25 20:58:14 +02:00
fang
6eba8053f8
various: further tweaks and assets for testnet 2022-05-24 23:55:32 +02:00
fang
e6db12cd82
testnet: tweaks for ropsten 2022-05-23 23:25:33 +02: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
fang
a0f7891f50
Merge branch 'philip/tomb' into lf/content-dist-rc
Beware, the ames conflict was particularly nasty. State migrations as of
yet untested.

Includes patched-up fine tests.
2022-05-19 17:07:35 +02:00
Philip Monk
7f63f548f5 clay: don't add lobe to wire to avoid flow leak 2022-05-18 20:54:10 -07:00
fang
e7f9686b1c
fine: re-enable scry permission check
Only expose fully public clay data over scry. Other vanes and permission
modes to follow at a later date.
2022-05-18 20:25:57 +02: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
fang
c1ce8bcec0
clay: don't clear busy flag unnecessarily
Not every +foreign-update call means we got a backfill response. Only
+take-backfill does, and that already clears the busy flag.
2022-05-18 16:17:19 +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
fang
055f31dada
clay: set saner scry timeout & retry timers 2022-05-18 15:24:02 +02:00
fang
2e6a7cfec8
clay: track pending (scry) requests better
Instead of having a separate "busy" flag and pending scry request state,
we now have a single "busy" unit that, if there is a pending request,
contains details about the pending request. In the ames case, this is
simply %ames. But in the scry case, it contains all the details we need
to cancel the request, timer, or both when needed.

Additionally, we now make sure to always cancel the scry timeout timer
whenever we get a scry response.
2022-05-18 15:21:26 +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
fang
4848d58410
clay: properly resume work when +retry-with-ames
Previously, when the scry timeout fired and we retried the request with
ames, we would always start over from the very first request (ie,
fetching the ""manifest"" containing the files we need to download).
This behavior is not correct in the case where we had already received
that initial response, and were now fetching individual files. So here,
if that's the case, we simply call into +work after marking this peer as
having known-broken scry, which will resume work as appropriate.

(The actual bug here that broke the fallback behavior entirely was the
busy flag not getting unset. We now clean it up properly.)

We also move setting of the sad timer into +retry-with-ames, instead of
doing it at each individual callsite. (In fact, one of the callsites was
missing this behavior.)
2022-05-18 00:30:31 +02: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
fang
9e3bcf14c1
fine: more straightforwardly cancel keen timer
When +ke-abet-gone gets called, we're going to remove this keen
entirely. +ke-set-wake does a whole song-and-dance and may even set a
new timer. So instead, we simply call +ke-rest, if we have a known
outstanding timer.
2022-05-16 22:52:07 +02:00
yosoyubik
586fecef10 gall: add %gn to scry the nonce of a subscription 2022-05-16 10:27:36 +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
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
c091ec92eb various: make all files build correctly 2022-05-14 22:49:10 -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
2e31f87068 Merge branch 'pr' into philip/tomb 2022-05-14 20:59:01 -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
d50d3915b8 Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb 2022-05-14 19:28:30 -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
fang
0251b127e1
clay: request files over scry by tako, not aeon 2022-05-12 17:14:55 +02:00
fang
70aeb2a7c1
clay: treat %d scry on empty desk specially
Similar to how %x on the empty desk was already treated specially. We
continue supporting %d on non-empty desks, but do add a print marking it
as deprecated.
2022-05-12 00:41:58 +02:00
fang
9286fc93b1
clay: give tako 0v0 for aeon 0
The previous commit already started treating the 0v0 commit as
equivalent to the 0 aeon (that is, never-real root), so we should give
the 0v0 commit for all 0 aeons.
2022-05-12 00:39:02 +02:00
fang
5549071649
clay: do reads by tako, not by aeon
This corresponds more closely to how clay actually works/stores data.
2022-05-11 20:58:24 +02:00
fang
bb7e74c1e9
arvo: add %uv hash case to scry paths
Clay desparately wants something like this. It helps answer questions
around hash-based content fetching.
2022-05-11 16:16:03 +02: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
fang
80958c70a0
Revert "clay: scry for files by lobe"
This reverts commit d5dca99ba8.
2022-05-09 17:20:02 +02: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
a278b63c66 ames: add tracing printf 2022-05-06 09:47:19 +02:00
fang
d5dca99ba8
clay: scry for files by lobe
Instead of scrying for revisions of files at paths in desks, we now scry
for data corresponding to a given lobe. This removes concerns of aeons,
paths, and other such frivolities, and lets us ask for the specific data
we need regardless of where it may live.

How we're supposed to answer permissioning questions around data this
way remains to be seen.
2022-05-05 16:59:09 +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
fang
8bef14d0a7
Merge branch 'philip/tomb' into lf/content-dist-rc 2022-05-05 00:33:37 +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
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
fang
b42833a568
Merge branch 'm/scry-vane-next' into lf/content-dist-rc 2022-05-03 15:29:16 +02: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
edf5ec9123 gall: upgrades almost smoothly 2022-05-03 12:49:09 +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
yosoyubik
02806f63a1 ames: hardcode rift for comets in state upgrade 2022-04-27 06:24:55 +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
yosoyubik
471b9be22d ames: fix emit of parsing old wire log 2022-04-22 12:26:24 +02:00
yosoyubik
91435a92ca ames: don't drop events with old wires
Previously we were dropping events that used old
wires that lacked a rift in them. This seems a
bad behavior because we don't want to destroy a
flow that has not been processed by both ends.

Note: pending a fix to test-old-ames-wire
2022-04-22 12:26:14 +02:00
yosoyubik
6cdebea1af ames: address review 2022-04-22 12:26:08 +02:00
yosoyubik
60cc44e961 ames: fix cached state in larval upgrade 2022-04-22 12:26:02 +02:00
yosoyubik
1b01455fe5 ames: fix dangling-bone error 2022-04-22 12:25:55 +02:00
Philip Monk
dfd4fc1028 clay: wip 2022-04-19 20:03:32 -07:00
fang
12ca0f45e5
ames: move various types and gates into lull
So that userspace may also en- and decode (scry) packets.
2022-04-20 00:09:00 +02:00
Liam Fitzgerald
4ae93c8bd0 ames: strip out notifications system 2022-04-15 16:42:33 -05:00
Philip Monk
3b337a14ce Merge branch 'philip/direct' into philip/tomb 2022-04-13 15:01:25 -07:00
Philip Monk
3a04dc3160 clay: address review comments 2022-04-13 15:00:59 -07:00
Philip Monk
10a2acdcc1 clay: use old requests for now when backfilling 2022-04-13 01:12:05 -07:00
Philip Monk
ce5ef26202 Merge branch 'philip/direct' into philip/tomb 2022-04-13 01:00:23 -07:00
Philip Monk
8805e0ee85 clay: convert all blobs to pages
This converts the blob store from having deltas, directs, and
tombstones, to just having direct pages.  This simplifies a lot of code,
since we don't have to constantly ensure that deltas always have their
parent available.

This removes the hardcoded text diff logic from clay, which was
previously required for bootstrapping.

Over the wire, we handle both old and new requests and responses
transparently, so communication is normal in both directions across
ships which do or do not have this change.
2022-04-13 00:35:58 -07:00
Philip Monk
bb14c495da clay: seek wip 2022-04-12 21:02:50 -07:00
Philip Monk
72fa850912 clay: don't download unneeded blobs 2022-04-12 18:31:55 -07:00
Philip Monk
ed00d38166 clay: add |tomb 2022-04-08 21:20:02 -07:00
Philip Monk
78d2d12cca clay; fix overly cautios tombstoning 2022-04-08 17:28:42 -07:00
Philip Monk
39b7b0a96b clay: add %tako scry 2022-04-08 16:21:19 -07:00
Philip Monk
07d8187fcc clay: allow to set norm for past revision 2022-04-08 15:50:35 -07:00
Philip Monk
d71a685b91 clay: add norm to +pick cache 2022-04-07 18:10:00 -07:00
fang
af4de87ff2
Merge branch 'm/aqua-revival' into m/scry-vane-next 2022-04-07 12:59:14 +02:00
Philip Monk
6dc20bfa7f clay: trying to find %dead bug 2022-04-07 00:44:49 -07:00
Philip Monk
7482717c02 clay: make +pick fast 2022-04-06 23:16:26 -07:00
Philip Monk
84ccf60b19 clay: add gc routines 2022-04-06 21:45:30 -07:00
Philip Monk
8084200f81 clay: add norm state, remove mark from %delta blobs 2022-04-06 21:44:50 -07:00
Philip Monk
a51152d1a4 clay: address review comments 2022-04-06 12:16:22 -07:00
Philip Monk
4131821b4f clay: unify all trie implementations
We had trie operations independently implemented in +de in arvo,
+an:cloy in zuse, +zu in clay, lib/trie, and app/spider.  This unifies
them all into +de in arvo, aggregating the used operations.
2022-04-06 00:19:38 -07:00
Philip Monk
0f6f2d6321 clay: bump kelvin, refactor 2022-04-06 00:18:23 -07:00
Philip Monk
90a2625016 clay: style 2022-04-05 20:30:52 -07:00
lukechampine
8399b7b96c ames: add resend timer for attestation requests 2022-04-04 00:19:55 -04:00
Philip Monk
90098067f2 clay: extend %tomb to delete all unneeded blobs 2022-03-26 14:37:46 -07:00
Jōshin
29a6692784
khan: minor whitespace cleanup 2022-03-26 09:17:38 -06:00
Philip Monk
ee3951e2df clay: require non-dead files at head of remote 2022-03-25 22:15:53 -07:00
Philip Monk
6e641005a0 clay: add upgrade to %11 2022-03-25 18:02:22 -07:00
Philip Monk
fb3f74f639 clay: prefer life 2022-03-25 15:32:38 -07:00
Philip Monk
ef9521272a Merge remote-tracking branch 'origin/lf/ford-memory-shit' into philip/tomb 2022-03-25 13:13:24 -07:00
Philip Monk
c5fda496ac clay: add basic %tomb 2022-03-25 13:13:09 -07:00
Philip Monk
99a10aa7a8 clay: use XX for things that really need to change 2022-03-25 12:33:48 -07:00
Philip Monk
0c3eee07b5 Merge remote-tracking branch 'origin/master' into philip/tomb 2022-03-25 12:21:56 -07:00
Philip Monk
5ff4cc7f66
Merge pull request #5612 from ynx0/story
clay: add `story`, a set of tools to support commit messages
2022-03-22 21:49:16 -07:00
Liam Fitzgerald
dd70856188 clay: be careful with subject in ford results
This fixes a space leak where the entire ford/clay core would be
included in the ford cache. Heavily reduces memory usage by clay,
reducing total usage from 100-200MB to around 10MB.
2022-03-21 13:02:36 -06:00
Liam Fitzgerald
2def946ded clay: break out ford memory usage in more detail
Instead of reporting a single memory size for built files, marks and
conversions, we now report memory size per path, mark name and mark
pair, respectively.
2022-03-21 12:21:38 -06:00
Liam Fitzgerald
92e52c9f7e ames: fix path handling in %bide 2022-03-15 10:40:34 -06:00
Liam Fitzgerald
0587e0e836 ames: add %pine task
%pine automatically scries for the latest case of a path
2022-03-14 15:04:14 -06:00
Liam Fitzgerald
49e53290a1 Merge remote-tracking branch 'origin/yu/dangling-bone' into lf/content-dist-rc 2022-03-11 11:07:51 -06:00
yosoyubik
5ecf87cf52 ames: fix cached state in larval upgrade 2022-03-11 10:22:50 +01:00
yosoyubik
ab116653e8 wip fix dangling bone 2022-03-11 10:21:12 +01:00
fang
8906d1c17d
dill: move %mor case into $blit
This lets us send a single blit around, instead of sending facts for
every individual blit in a draw event.
2022-03-05 18:17:48 -06:00
Jōshin
0139550c79
khan: saner tic rollover, remove our 2022-03-02 20:15:44 -06:00
Jōshin
e54e92cfa9
khan: docs 2022-03-02 18:02:20 -06:00
Jōshin
0b507cf498
khan: don't reset tic
instead make it a rolling 128-bit integer. 128 bits is the same size as
the +sham space, so is one natural choice for "big enough to never have
to think about this." 64, 32, 16, even 8 bits would probably be fine.
2022-03-02 17:28:10 -06:00
fang
998f7d081a
dill: fix %shut session deletion
+abet would re-insert the session into state, so we just pull the
deletion logic outside of the main core.
2022-03-02 17:24:54 -06:00
Jōshin
18274090b2
khan: handle multiple %fards in one event 2022-03-02 16:37:46 -06:00
Jōshin
5d7321385f
khan: separate arms by blank comments 2022-03-02 15:09:01 -06:00
Jōshin
1ef958ea25
khan: use +en-beam / +de-beam, wide form 2022-03-02 15:07:38 -06:00
Jōshin
91d390d529
khan: update docs 2022-03-02 13:23:06 -06:00
Jōshin
340f4d5b6c
khan: %fard/%arow use $cage, not $vase
Threads should eventually take and produce $cage instead of $vase. Since
%khan is likely to be used by third parties, we write to the eventual
intended API. We ignore the mark on the input $cage (it is safe to
always specify %noun), and we always use %noun as the output mark.

%fyrd now makes more sense. It was previously discarding the type of the
output %arow and re-encoding the raw noun as a vase of the output mark;
it is now performing mark conversion from the mark of the output $cage
to the originally requested output mark.
2022-03-02 13:07:52 -06:00
lukechampine
53a0c87cdb ames: add sendkeys-packet 2022-03-02 00:56:57 -05:00
lukechampine
df6318acd0 ames: fix comet self-attestation handling 2022-03-02 00:52:48 -05:00
lukechampine
1044d42a15 ames: don't enqueue blobs sent to unknown comets 2022-03-02 00:46:18 -05:00
Jōshin
f5fb214939
khan: initial state version is %0 2022-03-01 23:38:55 -06:00
Jōshin
6ce6e4f504
khan: structural slap, not general slam 2022-03-01 19:34:56 -06:00
Jōshin
2e9b4f5a94
khan: better wire production
runs afoul of a likely hoon bug and/or use case for dependent hoon.
2022-03-01 19:33:54 -06:00
Yaseen
70afcbd642 clay: fix bug in fuse
Co-authored-by: Philip Monk <phil@pcmonk.me>
2022-02-25 16:34:44 -05:00
Jōshin
a9442040be
khan: alignment 2022-02-25 11:16:47 -08:00
Liam Fitzgerald
b4da246f01 strandio: add +keen gate 2022-02-24 12:03:07 -06:00
fang
027d80b90c
Merge branch 'lf/content-dist-rc' into m/scry-vane 2022-02-23 16:18:17 -06:00
Liam Fitzgerald
f1c24c07dd ames: refactor to remove unused state 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
c16aaae201 ames: correct behaviour for %yawn 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
479e060e32 ames: add +load for remote scry 2022-02-23 16:00:56 -06:00
Liam Fitzgerald
5baa1b8318 ames: add fast retransmit 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
4be4e9a7a0 ames: fix keen ducts 2022-02-23 16:00:55 -06:00
fang
aaa759268e clay: clean up REVIEW comments 2022-02-23 16:00:55 -06:00
fang
cdff1d91fa clay: scry files at aeons, not timestamps
Turns out we can simply find the corresponding aeon in the nako.
2022-02-23 16:00:55 -06:00
fang
2adc52e03a clay: retry with ames on empty scry response 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
5f5092168f ames: fix sig + data catenation 2022-02-23 16:00:55 -06:00
Liam Fitzgerald
22f3e49823 ames: add |yawn, fix duct wrangling 2022-02-23 16:00:31 -06:00
fang
6b85022a61
clay: properly cancel scry timers and/or requests
Use the correct wires when cancelling the scry request and/or its
timers.

Note that we may produce more %rests and %yawns than strictly necessary,
but these no-op cleanly in those cases.
2022-02-23 15:41:19 -06:00
fang
d8dca44bd2
clay: refactor request wire construction 2022-02-23 15:40:16 -06:00
Joe Bryan
9c93068835 gall: adds verbose arg to agent scry implementation 2022-02-23 00:15:37 -05:00
Joe Bryan
92779d8179 gall: updates agent /whey scry to produce %mass mark 2022-02-23 00:14:44 -05:00
Joe Bryan
20c4645727 gall: adds optional agent integration with |mass 2022-02-22 13:07:01 -05:00
Jōshin
d771a4b9ef
khan: randomize tids
tid was accidentally getting set to the name of the output mark. As we
don't currently support cancelling threads, there is no reason to
maintain the originally-intended correspondence between tid and conn
request-id.

Take the opportunity to clean up indentation somewhat.
2022-02-19 02:18:49 -08:00
Yaseen
3d006d60ad clay: add scry for case existence check 2022-02-18 17:43:38 -05:00
fang
2969b1aae1
clay: clean up REVIEW comments 2022-02-17 21:17:45 +01:00
fang
02dec3ef5b
clay: scry files at aeons, not timestamps
Turns out we can simply find the corresponding aeon in the nako.
2022-02-17 21:14:52 +01:00
fang
b91e3f425e
clay: retry with ames on empty scry response 2022-02-17 20:10:38 +01:00
Liam Fitzgerald
ecb2de63b0 Merge remote-tracking branch 'origin/m/scry-vane' into lf/content-dist-rc 2022-02-17 12:46:09 -06:00
fang
7c0f05f8c3
clay: hook up /back-index %wake
And make sure we handle the timer error case safely.
2022-02-17 16:08:48 +01:00
fang
d6b5633c99
clay: allow for lobe-only need
This can occur after upgrade, or when receiving a %delta blob. We do not
know the path or commit timestamp of a file that resolves to the blob,
so we simply fall back to old ames-style blob-by-lobe fetching.
2022-02-17 16:02:57 +01:00
fang
3473033492
clay: scry when doing file requests outside %sing
In +work, we simply want to fetch file data, regardless of what the
overarching request is. (In fact, %sing would likely never hit this path
anyway.)

In order to be able to make the scry request, we track the timestamp of
the commit that contains a blob we're missing, and scry for that %da
revision.

There's two edge cases where we cannot immediately know the timestamp
that are currently assumed broken. Fix soon.
2022-02-17 15:44:16 +01:00
fang
dd4a115e51
clay: avoid %v scries, cancel scry timer correctly
%v requests are already handled specially for the ames case. We should
continue to respect that, only doing those kinds of requests over ames.

Also cancels the scry timer after receiving a response, instead of not
doing that.
2022-02-17 15:40:44 +01:00
Liam Fitzgerald
6bd6029f57 ames: use finger trees for packet storage 2022-02-16 15:35:59 -06:00
Jōshin
470ae80d4b
khan: cleanup 2022-02-15 22:32:52 -08:00
fang
fb4b3c7196
clay: update straggler state version number 2022-02-15 22:35:53 +01:00
Liam Fitzgerald
a36dc3aaff ames: per-lane congestion control 2022-02-15 08:47:38 -06:00
fang
0375e0a53f
clay: remove dist-upgraded flag
Ancient version upgraders beware! If you're coming from a home-based
arvo, you must first upgrade to the version prior to this, or else
you'll be in trouble!
2022-02-15 01:02:19 +01:00
fang
c02274dfdd
clay: sync files using remote scry
When clay wants to download blobs from a foreign ship, it attempts doing
this using the new remote scry protocol.

If it doesn't receive a response within ~m1, it falls back to using the
old ames-based syncing instead. We remember this "prefer ames" state for
the specific ship for an hour, after which we'll begin trying the scry
flow again.

Compiles, but untested. Some TODOs and REVIEWs remaining herein.

We intentionally leave the dist-upgraded flag in state to avoid
cluttering the diff here. The next commit will remove it.
2022-02-15 00:51:54 +01:00
Jōshin
6aa72069e3
arvo: introduces $crag
Also strips out `$` from khan top-level comment.

There are arguments for keeping $crag in lull, and on the other side for
moving $cast to arvo. This seemed like the most reasonable approach.
2022-02-14 12:46:31 -06:00
Ted Blackman
b2051fcc2b fine: WIP second list for performance 2022-02-14 10:34:26 -06:00
Jōshin
6d275fe9f3
khan: move =/ down 2022-02-14 09:09:55 -06:00
Jōshin
1d487a758b
test: full run, happy path 2022-02-13 07:33:03 -08:00
Jōshin
d7608019f2
khan: cleanup, namespace 2022-02-11 22:18:15 -08:00
Jōshin
c0423adea6
khan: parameterized types, nested implementation
%fyrd is now implemented in terms of %fard, and likewise %avow in terms
of %arow. State is tracked via wire rather than in a global map.

Unit tests adjusted to match.
2022-02-11 21:58:09 -08:00
Liam Fitzgerald
e97d99275b ames: congestion control for remote scry 2022-02-11 19:30:40 -06:00
Jōshin
5ff5082a5d
khan: docs, lift arg vase into (unit) 2022-02-08 12:03:00 -06:00
Jōshin
8123255a62
khan: add %fard/%arow for in-arvo threads
These take and produce vases, and assign random tids (rather than
deducing them from the input duct.)

Since %fard does not require mark conversion, we make the mark/beak on
$thread-state optional (and use this to decide whether to send %avow or
%arow.) Provide a state adapter since it's possible that people have
been experimenting with this vane.

This makes the negative case of %avow/%arow kind of clunky, since there
is no content difference, but the following does not seem possible
within the Hoon type system:

    =/  gif
      ?~  p.tad
      %arow  %avow
    [hen %give gif %| p.cag tang]~
2022-02-07 17:51:05 -06:00
Yaseen
ce0fa85e18 story: generators improvements
- use desk parameter instead of %base everywhere
- formatting clean up
- make |story-remove take a case instead of an aeon
- make desk param optional for story-set and story-log
2022-02-05 22:50:10 -05:00
fang
a5b16b1673
fine: consolidate duplicate logic
Further merge cleanup.
2022-02-04 13:36:32 +01:00
fang
47feec3ecc
Merge branch 'lf/ames-notifs' into m/scry-vane 2022-02-03 22:00:24 +01:00
fang
a8574df401
ames: retrieve pk from old crypto core on load
Since we cannot scry the key out of jael during load, and the
alternative is defering this logic through the larval core in some way,
we simply include the type for the old acru interface, letting us reuse
the old core to initialize the new one.
2022-02-03 13:49:38 +01:00
fang
39959942d2
ames: use +safe:as:crub instead of +veri:ed
+safe now exists to wrap that, so we should use it instead of deriving
the relevant key and calling +veri:ed directly.
2022-02-02 22:16:16 +01:00
fang
5776226a6c
lull: add acru arms for simply signing & authing
Instead of exporting keys so that caller can do this themselves, we
expose arms for signing and authenticating that produce and operate on
just the signature, without mangling it into the message.
2022-02-02 21:52:48 +01:00
fang
83e315cccd
lull: add arms to ex:acru for separate keys
We may want _just_ the encryption key, or _just_ the signing key.
2022-02-02 20:10:30 +01:00
fang
1302c5fa0b
fine: fix broken +full:keys callsite
Straggler from last commit about data type consistency.
2022-02-02 19:55:20 +01:00
Liam Fitzgerald
9dad96332b ames: remove logging 2022-02-01 20:50:02 -06:00
Liam Fitzgerald
6ee2e1626f ames: unify path format 2022-02-01 20:48:04 -06:00
Liam Fitzgerald
1eaad36d4d ames: working notifications 2022-02-01 20:30:11 -06:00
Liam Fitzgerald
7205625abf wip 2022-02-01 13:25:28 -06:00
fang
c72c187edd
fine: use $@(~ (cask)) consistently
It's what ends up in the packet, probably better than passing units and
converting them all over.
2022-02-01 12:02:47 +01:00
fang
4bea69bc7d
fine: verify life & signatures of packets & msgs
In addition to doing signing & verification consistently with each
other, we now handle the "no data" case sanely.

Still uses the wrong keys though.
2022-02-01 11:55:04 +01:00
Yaseen
b7e0b28220
Merge branch 'urbit:master' into story 2022-01-30 16:03:48 -05:00
fang
b42dc477c5
fine: move into per-event core
This is an obviously more ergonomic factoring.
2022-01-28 23:54:01 +01:00
fang
fb72b7df7d
fine: set receiver life in request packet 2022-01-28 23:11:27 +01:00
fang
709dd75d74
fine: track pending requests for unknown peers 2022-01-28 23:09:50 +01:00
fang
769d10fdd4
fine: use keys from ames state instead of jael 2022-01-28 14:30:59 +01:00
Jōshin
21ea32e8ad
khan: +bear allows a full +beak 2022-01-27 22:28:30 -08:00
Jōshin
72981203c8
khan: PR feedback, wip tests 2022-01-27 22:20:31 -08:00
fang
4c045a9c4f
ames, fine: minimal compilable unification 2022-01-27 14:32:49 +01:00
Jōshin
05a11d57b3
khan: cleanup
- only store metadata in the persistent map. just enough to support
  (eventual) thread cancellation and output mark lookup.

- try to delete thread state at other failure points not covered by
  %kick.

- reflect back the passed output mark rather than form.dais. not sure
  about this one yet.
2022-01-26 20:09:36 -08:00
Jōshin
aba5c0303d
khan: del in %kick 2022-01-26 17:45:25 -08:00
Jōshin
1281e1cdbe
khan: functionally done 2022-01-26 17:41:01 -08:00
Jōshin
425bf6b011
khan: accepts thread arguments with marks 2022-01-26 16:26:30 -08:00
fang
d4a0f1d901
fine: correctly calculate request body size
This had missed getting updated for byte-logic.
2022-01-26 20:03:03 +01:00
Jōshin
8ad57d8bd2
khan: cleanup 2022-01-25 21:28:45 -08:00
Jōshin
12b4c80cf1
khan: wip threads v0
super ghetto first pass with a bunch of stuff hard-coded to prevent
sending giant vases over the wire.
2022-01-25 20:08:48 -08:00
Jōshin
fd7d315e3b
khan: wip fyrd 2022-01-25 15:37:48 -08:00
fang
af8fd67472
fine: scry using the roof, not .^ 2022-01-25 21:27:52 +01:00
fang
793c31d7f9
fine: properly sign individual packets 2022-01-24 23:51:22 +01:00
fang
ff53ae5e66
fine: supply lane where needed
Still somewhat wip, this might not be the lane behavior we want for
real.
2022-01-24 23:26:02 +01:00
fang
03b73b85bf
fine: set and handle the response bit correctly 2022-01-24 23:06:06 +01:00
fang
2279764eff
fine: include header & prelude with %hoot 2022-01-24 21:01:46 +01:00
fang
b606dea970
fine: work on bytes instead of bits 2022-01-24 21:01:09 +01:00
fang
2c5510db64
Merge branch 'jb/next-gen-term' into next/dill
Resolves a good number of conflicts. Most notably, re-propagates removal
of gall's %onto, confirms new /app/herm behavior, coerces hood/drum
state adapters back into place, and updates webterm to use the latest
api.
2022-01-24 14:50:16 +01:00
Jōshin
30df250c7d
khan: closer to starting threads 2022-01-22 01:46:59 +00:00
Jōshin
3cf803129d
khan: basic +call, types 2022-01-21 22:09:01 +00:00
Jōshin
575ff61fa6
khan: vane skeleton 2022-01-21 18:48:05 +00:00
fang
92aa604be0
fine: factor out the fetching of scry results
And use it to implement task-ways request handling, which we'll probably
remove in favor of peek-ways handling.
2022-01-21 14:59:54 +01:00
fang
2d0a6f160b
fine: reuse packet en/decoding logic from ames
Also adds some more of the core logic, but still wip.
2022-01-20 20:36:38 +01:00
fang
dd4eb87f42
ames: move packet en/decoding into lull
By moving this behavior for packets with ames-style headers into lull,
other vanes that want to do protocols in similar style (like the upcoming
%fine vane) can reuse the logic here.

Note that we parameterize the main en- and decoding functions, so that
we may pass in the "is ames" flag and protocol versions as appropriate
to the context.
2022-01-20 01:59:43 +01:00
fang
207dc91c8c
fine: wip, add packet deserializing logic
Also stub our some flows, add todos, etc. Bit of a mess, follow-up soon.
2022-01-19 12:35:54 +01:00
yosoyubik
3d943ec201 ames: ignore missing peer-state on-publ-sponsor 2022-01-18 20:34:32 +01:00
fang
fa9c4016aa
fine: work around compiler bug 2022-01-14 13:51:02 +01:00
fang
355f05753f
fine: remote scry
Implements a WIP version of %fine, the remote scry vane. Plenty of work
remains to be done here, marked by TODOs and REVIEWs.
2022-01-14 00:22:56 +01:00
Yaseen
b37fd09fab clay: implement %base-tako scry under the %s care 2022-01-13 15:56:20 -05:00
yosoyubik
432d9674f5 jael: don't put conflicting this-su in the subject 2022-01-12 11:01:06 +01:00
yosoyubik
fccf99e0a6 jael: refactor new-event for %keys diff
this also adds a %rerun %poke to /app/azimuth
2022-01-08 19:28:11 +01:00
yosoyubik
8535563de6 jael: give private key to subscribers on keys diff
Triggering this event has been added to /app/azimuth's +on-load
2022-01-08 09:48:28 +01:00
Liam Fitzgerald
82e8d35a2a eyre: address mark review, update pill 2021-12-02 09:06:55 -05:00
Liam Fitzgerald
6160a77eaa eyre: include mark of fact in channel json
This change greatly improves the ergonomics of working with channel JSON
in statically typed languages, as the polymorphism is moved out of the
actual diff and into the event framing.
2021-12-01 17:48:57 -05:00
Yaseen
163ed030d4 clay: add new %s scry which gives the tako for a given beak 2021-11-25 12:48:24 -05:00
Philip Monk
a2a89d3532
Merge remote-tracking branch 'origin/next/arvo' into philip/roller 2021-11-16 13:58:57 -08:00
Philip Monk
4656372b09
Merge pull request #5426 from ynx0/claybel
clay: support labels
2021-11-15 08:49:31 -08:00
Yaseen
c080eb8336 fix comment styling 2021-11-15 09:07:24 -05:00
Yaseen
ae7cf81c29
clay: keep info in stacktrace when labeling fails
Co-authored-by: Philip Monk <phil@pcmonk.me>
2021-11-15 05:32:59 -05:00
Philip Monk
8af1dd3acc
clay: refactor +wake
+wake had accumulated several layers of abstractions which were later
rendered unnecessary.  This removes those abstractions and should have
no semantic effect.
2021-11-14 19:35:32 -08:00
Yaseen
70a85ccdb0 remove unnecessary comments 2021-11-14 20:41:30 -05:00
Yaseen
17751e7890 clay: enforce referential transparency on labels 2021-11-14 16:49:17 -05:00
Yaseen
25ce97cade clay: add support for labeling commits
- add helper arm `label:de`
- update relevant code to take in arbitrary aeons
2021-11-12 15:35:06 -05:00
Philip Monk
08ab77893e
azimuth: don't start on fake ships 2021-11-09 22:36:05 -08:00
Philip Monk
e4a069a4f6
jael: remove vestigial boq and nod 2021-11-09 16:41:23 -08:00
Philip Monk
bf7f4ba453
Merge remote-tracking branch 'origin/m/naive-ugprade-path' into philip/roller 2021-11-09 12:52:25 -08:00
Philip Monk
45c1693085
jael: use default network id 2021-11-08 22:59:06 -08:00
Philip Monk
91b38d4cea
ivory: update preboot validation format
string<->numbers didn't match the json serialization.  This makes
preboot validation succeed.
2021-11-08 20:34:32 -08:00
Philip Monk
d9276cd51c
clay: Add support for representing tombstones
This adds support for tombstoned files to clay.  It does not include any
way to actually tombstone them; that is left for later.

This allows tombstoning at the level of a file.  Precisely, this expands
+blob:clay by adding a %dead case:

    +$  blob                                              ::  fs blob
      $%  [%delta p=lobe q=[p=mark q=lobe] r=page]        ::  delta on q
          [%direct p=lobe q=page]                         ::  immediate
          [%dead p=lobe ~]                                ::  tombstone
      ==                                                  ::

Thus, we maintain the invariant that every lobe corresponds to a blob,
but now a blob may be an explicit tombstone.

Details:
- This has not been tested at all, except that it compiles and boots.
- This does not have a state adapter from master.  The only state change
  is the definition of +cach.
- Additionally, out-of-date ships may unexpectedly receive a %dead blob
  from a foreign clay which would interfere with their ability to download
  that desk.  No code changes necessary, but sponsors should avoid
  tombstoning files in %base for a while so their children can get the
  update.
- A merge will only fail if the tombstoned file conflicts with another
  change.  Note that as written, merging from a past desk *can* bring a
  tombstoned file to the head of a desk.  Possibly this shouldn't be
  allowed.

This also includes a couple refactors that were made possible by ford
fusion (since everything is synchronous now) but never got done.  In
both cases we get to remove a monad, which simplifies the code
considerably.

- refactor +merge's error handling to use !!/mule instead of threading
  through errors
- refactor all +read-* functions and related parts of +try-fill-sub to
  eagerly convert lobes to cages.

We also add support reading %a/b/c/e/f/r/x from past and foreign desks,
when possible.  Apologies that all of these are in one commit, it was
all a single chunk of work.

This is a draft until we have a way to tombstone.  I suspect we'll want
to have a mechanism of keeping track of gc roots and trace to remove,
but this PR doesn't suggest any particular strategy.
2021-11-07 22:17:02 -08:00
fang
fecb809573
jael, azimuth: reconfigure jael for L2
Jael needs to be reconfigured to listen to the new aagent for azimuth
events, and the old app needs to be shut down. We do this in
/app/azimuth's +on-init.

Additionally, we make sure that jael doesn't crash when it (as expected)
loses its subscription to the old agent.
2021-11-06 01:10:33 +01:00
fang
0ec3d5111d
Merge branch 'master' into naive/roller 2021-10-26 20:46:32 +02:00
fang
36cd69b6d0
Merge tag 'urbit-os-v2.100' into naive/roller 2021-10-26 17:08:03 +02:00
fang
f91c4dec08
Merge branch 'master' into release/next-sys 2021-10-08 17:39:03 +04:00
fang
bf4aef198c
clay: give %u answer for non-existent desks
Instead of considering it "in the future", an existence check for paths
on non-existent desks now always produce false.
2021-10-07 21:57:56 +04:00
fang
2a1c47ddd2
jael: add %ruin task for pretend-breaching others
The initial use case here is clearing state relating to long-gone
comets, but this could prove to be a useful general-purpose rescue tool.
2021-10-01 01:54:33 +04:00
Philip Monk
facdf4dbc1
jael: on rekey, update life if moon 2021-09-29 20:51:57 -05:00
Ted Blackman
5cce66523c Revert "clay: print cult"
This reverts commit d4bc38f774.
2021-09-29 20:31:57 -04:00
Ted Blackman
86a2715e67 clay: purge %next and %sing on migration 2021-09-29 20:10:53 -04:00
Ted Blackman
d4bc38f774 clay: print cult 2021-09-29 20:01:43 -04:00
Ted Blackman
5e1778ea84 clay: compile failure 2021-09-29 19:43:26 -04:00
Ted Blackman
2effd3cec0 Merge branch 'dist' of github.com:urbit/urbit into dist 2021-09-29 19:37:18 -04:00
Ted Blackman
b16d176863 clay: delete /app/publish from subscription state on migration 2021-09-29 19:36:29 -04:00
Philip Monk
3c658b17fa
Revert "gall: don't crash on suspended agent build failures"
This reverts commit d446418d53.
2021-09-29 18:30:01 -05:00
Ted Blackman
d446418d53 gall: don't crash on suspended agent build failures 2021-09-29 18:49:20 -04:00
Ted Blackman
bd46a367a3 clay: always notify if new read says nonexistent 2021-09-29 17:57:55 -04:00
Ted Blackman
7e5feb4cb4 gall: implement pupal +stay 2021-09-29 16:24:12 -04:00
Ted Blackman
fd54c96a3f gall: %jolt restart agent from new desk 2021-09-29 16:03:14 -04:00
Ted Blackman
9560fa43b2 gall,clay: fix migration file build dates; add %home as parent desk in jams 2021-09-29 15:00:42 -04:00
Fang
f6bb541269
gall: also watch changes to /sys/kelvin 2021-09-29 22:13:39 +04:00
Fang
27fcc9b4c3
various: %home -> %base 2021-09-29 22:13:08 +04:00
Fang
526e60b04c
strandio: fail when http request gets cancelled
Instead of waiting for a proper response. Iris doesn't currently retry!

Also updates docket to detect this case and retry appropriately.
2021-09-28 20:51:51 +04:00
Fang
1867209a12
Merge branch 'jm/spider-gall' into dist 2021-09-28 17:12:17 +04:00
Fang
059c2daed3
clay: make distribution desks public on-migrate
To ensure our sponsees (and other ships) can install from them.
2021-09-28 15:59:36 +04:00
ryjm
472f16fd2e garden spider: address comments 2021-09-27 21:23:46 -04:00
ryjm
47a6aa2753 spider garden: remove sigpams and move glob mark 2021-09-27 21:23:46 -04:00
ryjm
c630b560ee gall: don't verify spider marks 2021-09-27 21:23:46 -04:00
Fang
18bad9c423
gall: give correct %gu results
Give false for suspended agents, instead of always giving true if the
agent exists.
2021-09-28 00:22:52 +04:00
Ted Blackman
9aa8566a6e -jam-all-desks 2021-09-26 22:03:13 -04:00
Philip Monk
a94e17915f clay: fix failure to load apps
When you loaded an app with an error, then fixed the error, it would
create the main gall %mult subscription at a time in the past.  Then,
clay would never fill the subscription since it couldn't get the old %a
entries for the apps.

This fixes the issue in two ways:  first, don't subscribe in the past.
Second, if clay can't get the old versions, just fire the subscription
anyway.
2021-09-26 00:26:37 -04:00
Ted Blackman
d81a4a7cba dill,kiln: fixes for boot and same-kelvin OTAs 2021-09-26 00:20:37 -04:00
Ted Blackman
8f115bf059 clay: remote-install desks during migration 2021-09-25 16:53:52 -04:00
Ted Blackman
bbc80f9d45 zuse,ames: ^^sein:title 2021-09-25 16:52:53 -04:00
ryjm
154deb3281 clay: print stacktrace on build failure 2021-09-25 15:36:00 -04:00
Fang
4ed2a5914b
eyre: bind most specific endpoint first
This sticks to the old behavior, which was briefly lost in recent
changes.
2021-09-25 17:44:31 +04:00
Joe Bryan
5385889ebd Revert "Revert "Merge pull request #4463 from urbit/m/next-gen-term""
This reverts commit 3fba32185d.
2021-09-24 23:14:55 -04:00
Fang
369a6b7a47
eyre: allow overwriting existing bindings
Previously, if trying to bind to an endpoint that was already bound to,
eyre would reject it. This doesn't play very nicely in a softdist world
where uninstalled apps might not get a chance to clean up, and apps
might re-bind simply for being re-installed.

Here we change eyre to overwrite an existing binding if it conflicts
with the new one to be added.
2021-09-25 00:54:24 +04:00
Joe Bryan
3fba32185d Revert "Merge pull request #4463 from urbit/m/next-gen-term"
This reverts commit 39667fc071, reversing
changes made to 698fd6f66f.
2021-09-24 16:33:15 -04:00
Fang
ce09681b0a
clay: avoid migrating during boot
We set the "have we migrated yet" flag to true during boot, because
we're starting out in a post-migration world.

Also fixes a state version number.
2021-09-24 20:55:28 +04:00
Ted Blackman
c80fb82318 clay,kiln,landscape/notify: migration runs 2021-09-23 18:07:13 -04:00
Ted Blackman
16abd02a66 gall: set %hood to %base during dist upgrade 2021-09-22 23:11:41 -04:00
Fang
6812d15480
gall, kiln: better migration logic 2021-09-22 22:34:20 +02:00
Fang
eb1ec5b749
clay: clean up migration error case printfs 2021-09-22 15:45:04 +02:00
Fang
904165f83a
clay: don't forget the extra q
+load still nest-fails though.
2021-09-22 01:39:29 +02:00
Fang
f588ea9feb
clay: grab tmp desk jamfile correctly 2021-09-22 01:16:21 +02:00
Ted Blackman
30364ab29b clay: wip migration 2021-09-21 19:13:54 -04:00
Fang
c0bfab9bf5
clay: wip migrate from desk jams
To work around mark availability issues.
2021-09-21 00:28:31 +02:00
Fang
e9aa3821ef
zuse, clay: further wip migration 2021-09-20 23:13:04 +02:00
Ted Blackman
fb8c73e39a zuse,clay: WIP +migrate-dist 2021-09-20 13:01:48 -04:00
Ted Blackman
04e010e6c8 Merge branch 'dist' into ted/dist-migrate-wip 2021-09-20 07:43:43 -04:00
Liam Fitzgerald
1ac0465da7 gall: ignore reload for dead agents
Fixes a bug where even if an agent was dead, if its source was modified,
then gall would still attempt a scry for its cage.
2021-09-13 08:43:57 +10:00
Ted Blackman
84c043d921 lull,clay: WIP migration 2021-08-31 02:25:36 +03:00
Ted Blackman
bce8dfd477 ames: pop the next packet, not the first packet again 2021-08-28 23:01:15 +03:00
Ted Blackman
e2fd0b61e4 ames: |ames-prod to reset congestion control 2021-08-28 22:48:23 +03:00
Ted Blackman
91714f5579 lull,dill,gall,kiln: move %pyre to :agent:gall 2021-08-27 18:06:53 +03:00
Ted Blackman
dda7f13e0e clay: WIP migrate from master 2021-08-26 19:32:52 +03:00
Ted Blackman
f9e1812a14 sys,gen/kiln: kelvin checking seems to work 2021-08-20 10:41:16 +03:00
Ted Blackman
4ea0c56849 dill: don't sync %kids on galaxies 2021-08-18 00:57:38 +03:00
Fang
da85ee2e38
Merge branch 'master' into m/next-gen-term 2021-08-12 15:15:36 +02:00
Ted Blackman
616ab66f26 merge master; loosen :hood's updates 2021-08-11 19:23:36 +03:00
Ted Blackman
b8af4835cf dill: sync to %kids on galaxies 2021-08-09 02:31:53 +03:00
Philip Monk
eb383baba9
dill: no-op on strange fact
Otherwise, if you accidentally give on the system duct, you crash the
event, as in #5138
2021-07-29 14:56:26 -04:00
Ted Blackman
a27697a45d dill: revert change to ota setup 2021-07-23 14:14:23 +03:00
Ted Blackman
6bf7d3316e dill: |install %base from sponsor on boot 2021-07-23 14:08:30 +03:00
Ted Blackman
d9c9740b8d clay: print desk in +read-a 2021-07-23 14:03:36 +03:00
Ted Blackman
891a295366 gall: fix /clear-huck handling 2021-07-21 11:55:21 +03:00
Philip Monk
1d06b77a46
jael, dawn: support multikeyfile
taken from bdaad4cf84
2021-07-20 13:28:33 -04:00
Philip Monk
564c1216e1
Merge remote-tracking branch 'origin/lf/replace-channel' into release/next-sys 2021-07-20 13:09:41 -04:00
Philip Monk
5240b66347
Merge branch 'pr' into release/next-sys 2021-07-20 13:07:57 -04:00
Ted Blackman
88c15bcca2 gall: make %jolt idempotent, remove dead +mo-reboot 2021-07-20 17:59:20 +03:00
Ted Blackman
38d6d0f4d4 gall,kiln: clean up agent stopping, starting, linking 2021-07-19 16:58:18 +03:00
Ted Blackman
4f5739879e clay: more printing adjustment 2021-07-19 14:01:34 +03:00
Ted Blackman
f521881212 clay: better print 2021-07-18 23:11:13 +03:00
Ted Blackman
4f3e99f797 clay,hood: seems to boot for real now 2021-07-17 02:54:20 +03:00