Commit Graph

563 Commits

Author SHA1 Message Date
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
0ec3d5111d
Merge branch 'master' into naive/roller 2021-10-26 20:46:32 +02:00
Liam Fitzgerald
ff7494f3fa various: update pills, globs, docket 2021-10-25 22:16:53 -05:00
Joe Bryan
10b996e323 pill: all 2021-10-05 12:54:39 -04:00
Joe Bryan
9a1b9b4450 Merge branch 'master' into release/next-vere
* master: (595 commits)
  grid: updating glob
  landscape: updating glob
  graph-store: clean up merge artefact
  interface: reduce %all-stats correctly
  docket: correctly en-vase a docket definition
  kiln: don't +mean the tang noun alongside the tang
  hood: scry for list of desks with empty desk name
  hood: remove needless weld
  hood: report %kids desk hash in +report-vats
  landscape: fix joining indicator in statusbar
  interface: reduce %saw-place correctly
  app-prefs: fixing logic around enabled
  pull-hook: add nice flag to kick poke
  graph-pull-hook: renegotiate subscriptions
  graph-store: Handle missing update-logs gracefully in scries
  arvo: update jamfiles
  landscape: correctly freeze graph-update-2
  jael: on rekey, update life if moon
  tmp/ jamfiles
  btc: updating glob
  ...
2021-10-05 11:33:08 -04:00
Fang
cc1189eeb7
pill: generate brass multi-desk pill 2021-09-29 17:19:24 +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
Ted Blackman
8fef031d12 bin/multi.pill 2021-09-28 16:20:41 -04: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
Ted Blackman
9c3f3e8b1f bin/multi.pill 2021-09-27 20:28:29 -04:00
Ted Blackman
3ed2f26f59 bin/multi.pill 2021-09-27 14:54:52 -04:00
Ted Blackman
9084ac16fd bin/multi.pill 2021-09-27 14:43:10 -04:00
Fang
deade98d02
dist: update pills and jams 2021-09-27 13:52:22 +04:00
Ted Blackman
733f7c5bcc bin/multi.pill 2021-09-26 22:26:28 -04:00
Ted Blackman
78d1dfb2f8 bin/multi.pill 2021-09-26 21:18:02 -04:00
Ted Blackman
cd39b6e223 bin/multi.pill 2021-09-26 17:33:43 -04:00
Ted Blackman
cac8fd1226 bin/solid.pill 2021-09-26 17:18:47 -04:00
Fang
c9f8e56ecc
pill: update 2021-09-26 22:06:41 +04:00
Ted Blackman
74379c9a70 bin/multi.pill 2021-09-26 00:44:58 -04:00
Fang
8043e8b66a
pill: add multi-desk pill
We forego making solid.pill the multi-desk one for the time being, since
there is no "light boot" mode for the multi-desk pill yet, and it
doesn't work with -A, which could lead to unexpected errors.
2021-09-25 17:45:08 +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
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
Joe Bryan
42e8158be9 pill: all
further propagating temporary space leak mitigation
2021-09-09 14:08:39 -04:00
Ted Blackman
5f4c02c6d2 bin/solid.pill 2021-08-27 18:38:20 +03:00
Ted Blackman
453c2900da bin/solid.pill 2021-08-27 17:39:20 +03:00
Liam Fitzgerald
845abffcc1 pill: update solid 2021-08-23 13:36:17 +10:00
Liam Fitzgerald
f8455ad5b5 pill: update solid 2021-08-23 12:08:41 +10:00
janeway
fa894b9690 glob: update to 0v758lj.uf0s5.0nh3m.gunn6.942gj 2021-08-19 15:25:15 -07:00
janeway
6ab7f53fff glob: update to 0v4.e52ik.udm4j.6aus5.02b25.vomaj 2021-08-18 18:12:52 -07:00
Ted Blackman
6408baaa93 various: fix merge problems 2021-08-18 01:16:48 +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
f958b7874f various: fixes, pill might actually work now 2021-08-10 16:13:27 +03:00
janeway
d76cf9ae8b
glob: update to 0v7.v4dng.o33qi.kc497.5jc02.ke5es 2021-07-29 11:51:48 +10:00
ixv
ff33ddacff solid: update 2021-07-28 12:44:39 -07:00
Ted Blackman
e10a55e1df bin/solid.pill: OTA to %base and %kids succeeds on boot 2021-07-23 14:32:01 +03:00
Ted Blackman
47546347f8 bin/solid.pill 2021-07-23 14:08:55 +03:00
janeway
ceed4b78d0
glob: update to 0v2.ifoe4.fbv35.aigir.66su4.fbspu 2021-07-23 13:53:54 +10:00
janeway
2f9044ab99
glob: update to 0v2.ifoe4.fbv35.aigir.66su4.fbspu 2021-07-23 11:46:06 +10:00
Ted Blackman
21a027a0f9 bin/solid.pill 2021-07-18 04:41:13 +03:00
Ted Blackman
1c21bba9c6 bin/solid.pill 2021-07-17 02:54:31 +03:00
Liam Fitzgerald
6ca0fd11c4
eyre: send comments as heartbeats, not empty events
The previous behaviour, in addition to not being conformant with the
spec, breaks correct reconnect behaviour.
See: https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation
2021-06-30 11:45:50 +10:00
Ted Blackman
40af38c9ee bin/solid.pill 2021-06-28 20:18:37 -04:00
Liam Fitzgerald
f2583ce080
eyre: address mark review 2021-06-25 08:28:06 +10:00
Liam Fitzgerald
9aaa44ff33
eyre: replace channel upon new GET request
As SSE are unidirectional, the client always realises that the
connection has failed faster than the server does. Hence, resuming a
subscription is useless, because channels can only be bound to one duct
at a time. Now, instead of failing a request for a channel
that is already bound to a duct, we replace the duct and continue
normally.
2021-06-24 13:54:53 +10:00
fang
568e8e320b
hood, pill: clean up merge artifacts 2021-06-23 14:53:47 +02:00
fang
2640a3352a
Merge branch 'master' into m/next-gen-term-real 2021-06-23 11:19:48 +02:00
janeway
7ac718a2c7 glob: update to 0v1.9p61c.bd4vn.deevh.0ldbq.fkqo3 2021-06-17 17:49:55 -07:00
janeway
f4119de553
glob: update to 0v2.23tfu.ss2fb.q233c.p9er4.viq93 2021-06-16 18:38:50 +10:00
janeway
337dac99c8
glob: update to 0v6.e3j9o.e928h.ivsmp.cfkd5.qr44b 2021-06-15 13:55:22 +10:00
Philip Monk
85fdd6b190
clay: handle out-of-bounds versions in nako 2021-06-08 15:41:44 -10:00
Logan Allen
1b8eaf41e6 pills: update ivory, brass, solid 2021-06-02 20:49:58 +00:00
Philip Monk
eb130136f0
pill: update 2021-05-18 07:53:44 -10:00
fang
719ff8b442
Merge branch 'master' into m/next-gen-term
Notably includes some changes to webterm's app.tsx that are required to
keep it functioning correctly. As of yet unclear why exactly this is
necessary, presumably hook shenanigans triggered by recent-ish changes.
2021-05-15 00:21:06 +02:00
Liam Fitzgerald
9f792180ed
glob: update to 0v4.vrvkt.4gcnm.dgg5o.e73d6.kqnaq 2021-05-11 12:50:42 +10:00
Liam Fitzgerald
798b894a78
glob: update to 0v3.p4se6.4k5i0.8v0le.v5vn4.mdotq 2021-05-11 11:57:00 +10:00
janeway
42bde744d8 glob: update to 0v7.k043v.fjsi2.bpm4g.0ekbj.566c4 2021-05-06 15:18:19 -04:00
janeway
a5904c0b68 glob: update to 0v7.d6q7p.kct28.jpdq3.r5kt9.rbjv0 2021-05-06 14:53:31 -04:00
Liam Fitzgerald
53f17d8844
glob: update to 0vp51an.2c81t.2dc6j.oibjo.0mbfd 2021-05-06 15:45:30 +10:00
Liam Fitzgerald
f9135d594b
glob: update to 0v5.6jf0v.sc7t3.1kjf9.25gku.9rumj 2021-05-06 14:11:32 +10:00
janeway
d0be435624 glob: update to 0v2.9br5i.hl1e5.cda79.75gdi.jj5hc 2021-04-30 12:49:53 -04:00
janeway
4f873320f1 glob: update to 0vrjber.rqjl4.19elk.2fmnt.6t82g 2021-04-30 12:16:28 -04:00
Liam Fitzgerald
85f2dd26ce
glob: update to 0v7.dmf2h.884m6.b2p1b.l1and.uv1lv 2021-04-30 15:25:01 +10:00
Liam Fitzgerald
4b6f390a97
glob: update to 0v3.m4922.94fro.soub7.2cod3.0rfhh 2021-04-29 15:58:06 +10:00
Liam Fitzgerald
b46f2e24e6
glob: update to 0v3.g6u13.haedt.jt4hd.61ek5.6t30q 2021-04-22 18:00:19 +10:00
fang
ba3a62f958
zuse: fix off-by-one in +wail:klr:format 2021-04-21 00:50:11 +02:00
Liam Fitzgerald
e63beeb271
glob: update to 0v4.m6t09.ego4v.atjn3.mn5p4.mchad 2021-04-20 15:06:10 +10:00
fang
2c837da6fa
zuse: add additional stub utilities in +klr
+wail, for overwriting part of a stub, starting at the given index,
extending it using the specified character if the index is past the end
of the stub.

+pact, for merging sequential stub sections with identical style.
2021-04-17 01:42:00 +02:00
Liam Fitzgerald
5062c1f683
glob: update to 0v6.qafur.17301.j8obh.vbepn.7tq3l 2021-04-13 16:12:38 +10:00
Liam Fitzgerald
baf365b63b
glob: update to 0v4.7tk5q.9ha4l.tbmji.fvkno.s9pfq 2021-04-08 15:20:20 +10:00
janeway
6ed5ccbc4e glob: update to 0v2i7ds.j99ka.5dpja.pef1e.b04e0 2021-04-02 17:02:40 -04:00
Liam Fitzgerald
ea5dc47eca
glob: update to 0v2.utsjo.ghhil.f0qh8.h5633.ffi8u 2021-04-03 01:04:52 +10:00
Liam Fitzgerald
f322360dca
glob: update to 0v5.ancat.1qorl.7rea9.55ltu.2r24p 2021-04-02 15:38:35 +10:00
Liam Fitzgerald
8d455eeac1
glob: update to 0v6.i86m5.f4rs9.l09fu.a7d86.v00sl 2021-04-02 13:27:10 +10:00
janeway
588026e12e glob: update to 0v6.8mn05.16g61.46lkc.lgddc.3ifug 2021-04-01 13:56:03 -04:00
Liam Fitzgerald
d8a958f651
pills: update solid 2021-04-01 15:41:49 +10:00
Liam Fitzgerald
7e750cf189
glob: update to 0v5.g86fq.9ngth.ki9h1.q7kut.icm5f 2021-04-01 12:08:42 +10:00
janeway
a74bdfea20 glob: update to 0v1.4ujsp.698kt.ojftv.7jual.4hhu5 2021-03-26 16:25:20 -04:00
Liam Fitzgerald
5c3bce8dbe
glob: update to 0v5.b7cjf.2kc12.85sng.lkqav.7sn0k 2021-03-26 14:03:10 +10:00
Liam Fitzgerald
f495a806c3
glob: update to 0v3.nmpms.bgjpu.9gd2j.klgii.qgeal 2021-03-24 14:12:47 +10:00
Liam Fitzgerald
1093a80604
glob: update to 0v2.gfefu.pffjo.rphqi.mlmpu.smaq4 2021-03-24 13:00:22 +10:00
Liam Fitzgerald
dc503a826b
glob: update to 0v5.3d6ao.5f5kl.i84k6.oqf1e.njnvh 2021-03-24 12:28:27 +10:00
janeway
0a8d82d822
glob: update to 0vtbs05.a6mkl.r5ark.jfj84.3fa4h 2021-03-12 14:35:19 +10:00
janeway
d17779972f
glob: update to 0v3.o81b7.9dkd7.6ubrn.ebhmi.dtree 2021-03-10 12:12:21 +10:00
janeway
640190610c glob: update to 0v7.sjbvb.4gg0l.1qmbv.fmobl.d2tsq 2021-03-09 17:18:58 -05:00
janeway
4e9873359d glob: update to 0v3.i5rmt.7fid4.sr9bh.0pcpi.cmc0v 2021-03-09 18:07:06 +00:00
janeway
9c9446d77f
glob: update to 0v8buag.lcoib.dupqj.iprqk.spvqf 2021-03-04 19:45:20 -08:00
janeway
aa07cc4cba
glob: update to 0vah4o5.ark7i.iqunl.or5d7.3rm2e 2021-03-04 14:47:10 -08:00
janeway
7e6672d356
glob: update to 0v1.5ahkf.kj160.veq26.sbnii.p6h5t 2021-03-04 14:28:54 -08:00
Philip Monk
137f1cdff3
Merge remote-tracking branch 'origin/ted/static-clay-3' into release/next-sys 2021-03-03 18:42:44 -08:00
Philip Monk
6e3d1680a7
Merge remote-tracking branch 'origin/master' into release/next-sys 2021-03-03 17:54:57 -08:00
janeway
6bcbbf8f1a
glob: update to 0v5.ip41o.9jcdb.4jb1f.sd508.fdssj 2021-02-26 17:07:59 +10:00
Isaac Visintainer
8c84de618d release: urbit-os-v2.33 2021-02-24 14:30:45 -08:00