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
fang
c437f1cdbd
Merge pull request #5855 from urbit/m/gall-quieter
...
gall: exclude from traces
2022-07-06 18:48:55 +02: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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