Commit Graph

523 Commits

Author SHA1 Message Date
fang
ef2a0c913b
pill: rebuild the solid pill 2023-01-20 15:44:43 +01:00
Philip Monk
255fb1ca82 pill: update 2023-01-18 18:47:42 -07:00
Philip Monk
cdaae65786 dojo: mule calls to doccords 2023-01-12 13:53:15 -07:00
fang
721fa05519
Merge branch 'next/arvo' into next/dill 2023-01-03 18:56:33 +01:00
fang
3ef5260efc
Merge branch 'next/arvo' into pkova/ruin-comets 2022-11-25 12:20:46 +01:00
Philip Monk
1dd993a103 Merge remote-tracking branch 'origin/master' into philip/agent-clay 2022-11-20 18:48:44 -07:00
Joe Bryan
3bdc2a21dc pill: solid 2022-11-11 17:16:10 -05:00
Philip Monk
da15339c3b Merge remote-tracking branch 'origin/lf/agent-clay-fe' into philip/agent-clay 2022-11-01 22:08:56 -07:00
Philip Monk
301158c40a clay: use single-weft wafts when possible 2022-10-23 14:52:32 -07:00
pkova
708c95b6b2 ames: correct %ruin comet logic 2022-10-17 23:05:49 +03:00
pkova
d2de89985b fix pill 2022-10-03 17:24:32 +03:00
pkova
1d73558163 ames: ruin comets not seen for six months 2022-10-03 17:03:49 +03:00
Philip Monk
efa78b5fa7 pill: update 2022-08-19 15:54:26 -08: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
ac64f44538 clay: update tests 2022-05-20 20:03:34 -07:00
Philip Monk
9c7c776fd8 clay: fix stack while building directories 2022-05-15 02:27:49 -07:00
Philip Monk
591bdf458c Merge branch 'next/arvo' into philip/tomb 2022-05-04 00:45:57 -07:00
Philip Monk
ee3951e2df clay: require non-dead files at head of remote 2022-03-25 22:15:53 -07:00
Philip Monk
07d01a0071 Merge branch 'philip/fix-uno' into philip/tomb 2022-03-25 18:11:34 -07:00
Philip Monk
6e641005a0 clay: add upgrade to %11 2022-03-25 18:02:22 -07:00
Philip Monk
0c3eee07b5 Merge remote-tracking branch 'origin/master' into philip/tomb 2022-03-25 12:21:56 -07:00
Jōshin
23c1d1720b
pill: all 2022-03-02 20:37:13 -06:00
Jōshin
044e9015af
Merge branch 'next/arvo' into jo/khan
Conflicts:
	bin/brass.pill
	bin/solid.pill

Resolved by regenerating pills.
2022-02-13 21:00:10 -06:00
Jōshin
b277fd5e84
pill: solid, brass 2022-02-02 21:06:23 -06:00
Jōshin
5acc69da25
pill: solid, brass 2022-01-26 21:50:08 -08: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
yosoyubik
432d9674f5 jael: don't put conflicting this-su in the subject 2022-01-12 11:01:06 +01:00
yosoyubik
d71074eb58 pill: update solid 2022-01-08 20:12:21 +01:00
yosoyubik
1bda134280 azimuth: update /app/azimuth snapshot 2021-12-15 08:31:26 +01:00
yosoyubik
4724c32d3d pill: load azimuth snapshot file with mime mark 2021-12-14 09:40:34 +01:00
yosoyubik
f6dca03786 pill: restore solid pill 2021-12-10 16:19:59 +01:00
yosoyubik
fb2c078fde pill: load azimuth snapshot as mime in file-ovum 2021-12-09 07:28:57 +01:00
yosoyubik
cce14699c8 azimuth: update log message 2021-12-08 12:52:23 +01:00
yosoyubik
0833ee9ea6 azimuth: only print number of points during init 2021-12-07 16:32:39 +01:00
yosoyubik
81eb6ae247 pill: add azimuth snapshot 2021-12-07 16:13:39 +01:00
yosoyubik
d08ab43f3a lull: skip rift/life printf when booting 2021-12-06 13:47:59 +01:00
Philip Monk
775dd72072
pill: update 2021-11-16 20:20:27 -08:00
Philip Monk
82c41c942c
pill: update 2021-11-16 15:24:06 -08:00
Philip Monk
08ab77893e
azimuth: don't start on fake ships 2021-11-09 22:36:05 -08:00
Philip Monk
8bfb4acc20
pill: set everything to mainnet for consistency 2021-11-09 00:59:40 -08:00
Philip Monk
b29579b799
pill: update 2021-11-08 20:47:27 -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
0ec3d5111d
Merge branch 'master' into naive/roller 2021-10-26 20:46:32 +02:00
Joe Bryan
10b996e323 pill: all 2021-10-05 12:54:39 -04:00
Liam Fitzgerald
ebe5fe68ef various: update pills, jams, docket 2021-09-29 22:53:18 +10:00
Liam Fitzgerald
ff2e1f1c6f arvo: update jamfiles, pills, dockets 2021-09-29 16:09:22 +10:00
Fang
7427191a21
dist: pills and jams 2021-09-28 21:37:26 +04:00
Ted Blackman
40e07253f7 bin/solid.pill 2021-09-27 20:43:18 -04:00
Fang
deade98d02
dist: update pills and jams 2021-09-27 13:52:22 +04:00
Ted Blackman
cac8fd1226 bin/solid.pill 2021-09-26 17:18:47 -04:00