Commit Graph

383 Commits

Author SHA1 Message Date
Liam Fitzgerald
6a6897e009 kiln: update marks 2021-08-23 11:44:24 +10:00
Ted Blackman
d02652d799 kiln: update %base in +bump 2021-08-20 12:45:33 +03:00
Ted Blackman
f9e1812a14 sys,gen/kiln: kelvin checking seems to work 2021-08-20 10:41:16 +03:00
Ted Blackman
4dfc09d1a4 kiln: |suspend,|revive 2021-08-20 01:57:31 +03:00
Ted Blackman
ea1d30a506 kiln: fix kelvin checking 2021-08-18 20:32:54 +03:00
Ted Blackman
6408baaa93 various: fix merge problems 2021-08-18 01:16:48 +03:00
Liam Fitzgerald
a8dfca8246 Merge remote-tracking branch 'origin/ted/dist' into lf/dist-v2 2021-08-12 11:42:39 +10:00
Ted Blackman
616ab66f26 merge master; loosen :hood's updates 2021-08-11 19:23:36 +03:00
Liam Fitzgerald
5d1eda5efd kiln: fix subscription paths, add marks 2021-08-11 14:42:51 +10:00
Ted Blackman
4e2fd0dcd0 kiln: notify clients on desk upgrade and failure 2021-08-03 00:52:46 +03:00
ixv
83aaaa398a hood: start notify 2021-07-28 12:26:33 -07:00
Ted Blackman
2507404f97 hood,desk.bill: fix boot issues 2021-07-23 14:07:58 +03:00
Ted Blackman
6675c3775a |nuke generator 2021-07-21 12:00:11 +03:00
Ted Blackman
143bb80035 kiln: +report-vats, fix local kelvin check 2021-07-20 18:00:07 +03:00
Ted Blackman
38d6d0f4d4 gall,kiln: clean up agent stopping, starting, linking 2021-07-19 16:58:18 +03:00
Ted Blackman
6cb0afa15d kiln: fix error handling on failed merge 2021-07-19 14:02:02 +03:00
Ted Blackman
88db811524 kiln: fix print 2021-07-18 21:27:24 +03:00
Ted Blackman
175f1f9986 kiln: basic |install works, somewhat hacky 2021-07-18 21:21:54 +03:00
Ted Blackman
db816644ab drum: actually fix ctrl-d 2021-07-18 21:21:13 +03:00
Ted Blackman
1c41b01359 %base: move landscape files out; %base boots, %landscape validates 2021-07-18 04:40:20 +03:00
Ted Blackman
4f3e99f797 clay,hood: seems to boot for real now 2021-07-17 02:54:20 +03:00
Ted Blackman
df250a0eae drum: fix broken ctrl-d 2021-07-16 21:46:12 +03:00
Ted Blackman
a1b82d4b36 various: can bootstrap off existing ship, but generators are broken 2021-07-16 19:01:55 +03:00
Ted Blackman
ea386065d1 kiln,hood: fix +on-init, types, and reading 2021-07-16 05:25:03 +03:00
Ted Blackman
4cb5cd0ba1 gall,drum,kiln: WIP start agents in kiln 2021-07-15 09:51:03 +03:00
Ted Blackman
529502543b sys,lib: boots! 2021-07-14 01:00:13 +03:00
Ted Blackman
e4dd4c1a0f kiln: check clay %find product 2021-07-13 17:35:15 +03:00
Ted Blackman
035b5fb031 kiln: read future kelvins from clay 2021-07-10 08:56:08 -04:00
Ted Blackman
2dc2133b2f kiln: remove +update core; needs migration work 2021-07-09 12:07:16 -04:00
Ted Blackman
c3469a4444 kiln: merge to %kids in +vats 2021-07-09 11:56:52 -04:00
Ted Blackman
ad15da2e7b kiln: first stab at ota inside +vats 2021-07-09 01:08:33 -04:00
Ted Blackman
db49cbee92 kiln: bugfixes, cleanup, and publish some ota progress 2021-07-08 19:25:18 -04:00
Ted Blackman
cda4080e06 kiln: check for blocking desks before kernel update 2021-07-07 15:17:03 -04:00
Ted Blackman
51aac0f5d3 kiln: revive agents on upgrade (provisional) 2021-07-07 14:49:22 -04:00
Ted Blackman
06b4206e02 kiln: minor cleanup 2021-07-07 14:11:40 -04:00
Ted Blackman
e8dc993d84 kiln: initial kelvin check support compiles 2021-07-02 17:41:21 -04:00
Ted Blackman
bfb9419d22 kiln: tell gall to fade apps on uninstall 2021-07-01 20:34:17 -04:00
Ted Blackman
1e07e347ff kiln: make |install idempotent 2021-07-01 19:10:03 -04:00
Ted Blackman
784004cfb6 kiln: +install compiles and loads, untested 2021-06-30 21:03:47 -04:00
raghu
a9f3be003e kiln: move to %sing from %next 2021-06-21 20:44:29 -04:00
Philip Monk
87ca57c364
gall: allow apps to run from any desk
Start with |start %desk %app-name

Everywhere in the kernel that we deal with marks, we infer the app it's
connected to and use the marks from that desk.

Also some light renaming in gall, especially path->wire and
current-agent->yoke.

Subsequent tasks:

- Dojo needs a syntax to run generators and threads from other desks
- The home desk should be split into at least a minimal base desk and
  big "userspace" desk.  Dill's initialization logic should be updated
  to handle
- |show-package, |install, and |uninstall should to be written
- Clay should have smarter handling of system versions instead of just
  ignoring what's on each desk.  It's not clear that this will work
  correctly when sys updates right now.
2021-06-18 16:13:55 -10:00
raghu
d5c90ac448 accept behn gifts 2021-06-16 17:45:45 -04:00
raghu
ed81fdedfa fuse: update printing for |fuse-list 2021-06-07 20:23:00 -04:00
raghu
5106f18d9a fuse: use %w instead of %v so we can request over the network 2021-06-07 19:52:08 -04:00
raghu
75726c45e8 initial implementation of printing logic 2021-06-06 12:43:26 -04:00
raghu
a7bf5bbca4 fuse: fix some 80 char violations 2021-06-05 18:48:55 -04:00
raghu
d6c592ebba fuse: removing dependency on key being present 2021-06-05 16:03:32 -04:00
raghu
10cf37f8d8 fuse: add support for tracking sources 2021-06-05 16:03:32 -04:00
Matilde Park
c4a65eb65f Merge branch 'master' into release/2021-5-27 2021-05-19 22:07:12 -04:00
Philip Monk
804e2578ed
kiln: don't crash on fuse 2021-05-18 09:09:22 -10:00
Liam Fitzgerald
d37dd90aef
hood: dm-hook is born 2021-05-17 16:16:37 +10:00
raghu
baa06904f6 fuse: print help text in generator 2021-05-01 23:04:19 -04:00
raghu
201c3db193 clay: finalize fuse request - update |fuse 2021-04-25 14:01:45 -04:00
raghu
b2e1008d9a clay: add %fuse 2021-04-19 23:46:46 -04:00
Liam Fitzgerald
579570ed42
drum: load %settings-store on boot and migrate 2021-02-03 17:57:44 +10:00
Logan Allen
48d9e8c9b8 group-view: initiate %contact-pull-hook subscription upon group join 2021-02-01 16:36:16 -06:00
Liam Fitzgerald
97502838d6
Merge remote-tracking branch 'origin/la/contact-store' into lf/join-cleanup 2021-02-01 17:01:02 +10:00
Logan Allen
72e036bae3 Merge branch 'release/next-userspace' into la/contact-store 2021-01-29 14:48:39 -06:00
Liam Fitzgerald
015dffeb0f
metadata-hooks: start in drum 2021-01-21 10:14:19 +10:00
Logan Allen
7ffce92c37 hood: start %contact-push/pull-hooks 2021-01-19 15:20:47 -06:00
fang
f285c7954e
sole: add %bye effect for closing the session
This lets applications suggest to the client that they should gracefully
unsubscribe from the session.

Arguably this might be accomplished by %kick-ing the client and then
crashing on their subsequent resubscribe, but this requires tracking
their sole session id and has less semantic clarity on what's happening.
2020-12-15 16:56:47 +01:00
fang
a124c747b7
drum: update app index early when unlinking
The added logic also happens in +se-drop, which will get called by
+se-abet if we did unlink an application. But +se-agon depends on the
index being sane, and may be called between +se-klin and +se-abet.
2020-12-15 16:21:56 +01:00
Philip Monk
d4acbd1761
Merge remote-tracking branch 'origin/master' into jb/motion 2020-12-08 09:51:34 -08:00
fang
d98c59e73a
zuse: lift moves out of +able 2020-12-08 01:47:06 +01:00
Joe Bryan
5a82f1d4c0 Merge branch 'na-release/candidate' into jb/motion
* na-release/candidate: (36 commits)
  ames: don't crash on forward-lane scry
  jael: cleanup per review
  jael: don't signal breach if first hearing of ship
  pill: update
  vere: compile
  lens: don't de-base64
  vere: make import flow not use base64 encoding
  version: strip trailing newline
  pill: mainnet
  Revert "zuse: change to ropsten"
  chat-hook: fix another poke-import issue
  chat-hook: fix poke-import issue
  apps: reorder maps, sets, and jugs
  apps: reorder maps, sets, and jugs
  kiln: add base-hash and our scries
  lens: fix change lost in merge
  graph-store: leave try-rejoin wire when subscription succeeds
  graphs: import-export
  chat: import/export
  invites: import/export
  ...
2020-12-07 00:27:58 -08:00
Joe Bryan
205c9a8620 zuse: removes en/de-beam (now in arvo) 2020-12-06 03:33:43 -08:00
Philip Monk
0de3e76055
glob: update to 0v6.cmrce.5ass7.5gfqi.7c8cg.mdo7n 2020-12-04 17:59:15 -08:00
Philip Monk
28010d3599
kiln: produce one base-hash via scry 2020-12-04 00:37:28 -08:00
Philip Monk
4b48ab959e
Merge remote-tracking branch 'origin/philip/testnet-master' into philip/testnet 2020-12-03 23:56:30 -08:00
Joe Bryan
0cc8c450a8 arvo: removes %lyra and %veer 2020-12-03 15:32:36 -08:00
Joe Bryan
4a825df15b Merge branch 'na-release/candidate' into jb/atom-gates
* na-release/candidate:
  kh: use Word8 for Tint true color values
  arvo: remove unused app files, libraries, and imports
  webterm: improve line-spacing in certain browsers
  vere: avoid +scot call for color value rendering
  kh: support 24-bit %klr colors
  vere: support 24-bit %klr colors
  webterm: update mar and js to support 24-bit color
  tests: fix ames tests
  pill: update ivory pill
  dojo: correct mark conversion scry path
  pill: solid
  aqua/ph: fix comet test
  ames: flat packet format
  hoon, dill: Add 24-bit true color
2020-12-03 14:17:23 -08:00
Logan Allen
1913cdf4f1 arvo: remove unused app files, libraries, and imports 2020-12-02 14:05:04 -06:00
Joe Bryan
b5ec0c30f0 hoon: renames +new-end, +new-lsh, +new-rsh 2020-12-02 01:00:09 -08:00
Joe Bryan
4f9cba2baf hoon: adds +new-end, switches all +end call sites 2020-12-02 00:21:12 -08:00
Philip Monk
1394a9c455
kiln: add base-hash and our scries 2020-12-01 22:27:52 -08:00
Joe Bryan
096ef91f7a hood: fix obsolete syntax introduced in merge 2020-11-30 21:23:35 -08:00
Joe Bryan
072e2c8101 Merge branch 'm/vane-unversion' into m/modern-hoon
* m/vane-unversion:
  ames: remove old state versions & conversions
  gall: rename fading styles
  vanes: remove old load types and logic
  gall: refresh clay subscription on fade
  gall: add nonce to agent wires
  gall: add %doze-style fade
  gall: fade initial commit
2020-11-30 21:04:16 -08:00
Joe Bryan
97cb62bc45 Merge branch 'philip/fade' into m/vane-unversion
* philip/fade:
  gall: rename fading styles
  gall: refresh clay subscription on fade
  gall: add nonce to agent wires
  gall: add %doze-style fade
  gall: fade initial commit
2020-11-30 20:49:04 -08:00
fang
a539d986a7
various: move away from {type} syntax
In favor of [type] syntax.
Turns a bunch of ++ into +$ along the way.
2020-11-26 17:43:26 +01:00
fang
44fb0cc19d
various: move away from face/type syntax
In favor of face=type.
2020-11-26 17:38:00 +01:00
fang
a6e7af38d5
various: move away from $constant type syntax 2020-11-26 17:31:06 +01:00
Philip Monk
7259b2c121
gall: rename fading styles 2020-11-25 14:46:33 -08:00
Joe Bryan
7723ba2da8 Merge branch 'master' into release/next-vere
* master: (390 commits)
  glob: update to 0v4.fpa4r.s6dtc.h8tps.62jv0.qn0fj
  notifications: prevent safari shrinkage
  glob: update to 0v5.91i1u.1g535.t3de3.6c3ih.fanmv
  Sidebar: loosen property access
  launch: loosen property access in unread count
  notifications: fix scroll to load
  glob: update to 0v1.pak02.pfla3.gh56f.qhc6h.3h881
  inbox: fix graph resource redirects
  inbox: fix link routing and rendering
  glob: update to 0v4.3fbh4.p7j6i.2pi9g.d1ltq.5u7uu
  hark-fe: fix crash
  hark: update graph marks for editable comments
  graph-store: change atom to %1 for all migrated comments
  glob: update to 0v5.67obv.15auf.c2rc7.jpcu2.iain3
  inbox: correct notification order
  inbox: redirect invites correctly
  publish: Restore basic 'add writers' form
  interface: show currently editing comment as pending
  landscape: preclude dropdown duplicates on exact match
  interface: links and publish comments both work
  ...
2020-11-20 13:16:53 -08:00
Joe Bryan
4f43831095 Merge branch 'master' into na-release/next-vere
* master: (390 commits)
  glob: update to 0v4.fpa4r.s6dtc.h8tps.62jv0.qn0fj
  notifications: prevent safari shrinkage
  glob: update to 0v5.91i1u.1g535.t3de3.6c3ih.fanmv
  Sidebar: loosen property access
  launch: loosen property access in unread count
  notifications: fix scroll to load
  glob: update to 0v1.pak02.pfla3.gh56f.qhc6h.3h881
  inbox: fix graph resource redirects
  inbox: fix link routing and rendering
  glob: update to 0v4.3fbh4.p7j6i.2pi9g.d1ltq.5u7uu
  hark-fe: fix crash
  hark: update graph marks for editable comments
  graph-store: change atom to %1 for all migrated comments
  glob: update to 0v5.67obv.15auf.c2rc7.jpcu2.iain3
  inbox: correct notification order
  inbox: redirect invites correctly
  publish: Restore basic 'add writers' form
  interface: show currently editing comment as pending
  landscape: preclude dropdown duplicates on exact match
  interface: links and publish comments both work
  ...
2020-11-19 14:02:13 -08:00
Philip Monk
17c16d5887
gall: refresh clay subscription on fade 2020-11-18 20:39:58 -08:00
Philip Monk
eadc63938c
Merge remote-tracking branch 'origin/release/next-dill' into release/next-sys 2020-11-17 21:54:50 -08:00
Philip Monk
a7cc18072a
gall: add %doze-style fade 2020-11-17 12:53:05 -08:00
Matilde Park
a24959a64f drum: fix syntax error for state-11 2020-11-10 15:12:52 -05:00
Matilde Park
e986298ee9 Merge branch 'release/next-userspace' into lf/hark-redux 2020-11-10 15:04:16 -05:00
fang
c33f027735
hood: auto-start herm 2020-11-10 20:54:06 +01:00
Philip Monk
1c8d229fb7
gall: fade initial commit 2020-11-09 23:42:04 -08:00
Liam Fitzgerald
7e5bf37184
hark: address L review 2020-11-10 13:32:48 +10:00
Logan Allen
4b7f0e8025 thread-watch: change name to observe-hook 2020-11-06 14:55:32 -06:00
Brendan Hay
ff3d7c1574
arvo: run %lens when lite boot (-l) is specified 2020-11-05 10:25:31 +01:00
fang
b96e071eb2
Merge branch 'release/next-sys' into release/next-dill 2020-11-04 17:25:35 +01:00
Logan Allen
1b8af7d78c hood: start %thread-watch-hook 2020-11-02 15:22:50 -06:00
Philip Monk
77b33632a6
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
Fang
7242947f95
helm: add cors registry management generators 2020-10-05 23:42:59 +02:00
Fang
369193f50a
helm: add cors registry management generators 2020-09-30 15:54:25 +02:00
Joe Bryan
31fe240632 arvo: adds |meld, triggering memory unification 2020-09-09 22:50:43 -07:00
Joe Bryan
7f0b500778 arvo: adds |trim, triggering memory reclamation 2020-09-09 22:49:37 -07:00
Fang
ef4b56f8c7
dill: send styled text to runtime as-is
Depending on the additions to term.c made in 467d8d239 allows dill to
forget about ansi escape codes, and pass styled text nouns straight on
to vere.

Also removes a bit of logic from drum, which assumed things about the
rendering of escape codes to adjust cursor positioning. Now it simply
states the semantic cursor position, letting the runtime deal with the
potential influence of styling.
2020-09-09 19:09:29 +02:00
Philip Monk
67c5caada8
clay: add safe merge options
As described in gen/hood/merge/help.txt
2020-08-28 16:36:00 -07:00
Logan Allen
a4e21da3f0 hood: starts %graph-pull-hook and %graph-push-hook 2020-08-19 12:48:08 -07:00
Caio Marcelo de Oliveira Filho
92cf9d7c33 Merge branch 'master' into code-reset 2020-08-17 14:55:07 -07:00
Caio Marcelo de Oliveira Filho
df868e2c4f jael, eyre: Add a way to reset the web login code
Jael now stores a `step` that is combined with the original salt to
produce a new code.  A `%step` card is used to increment that value,
and effectively resetting the keys.  Because the first `step` is zero,
the first code is the same as before.

Eyre was changed to be notified with `%code-changed` so it can forget
old cookies, sessions and discard all the existing channels.

A new generator was added |code, that does both querying and
resetting the code

    |code             :: shows current code, step and help
    |code %reset      :: changes the code

The old +code generator still works correctly.
2020-07-31 11:35:48 -07:00
L
798f3b5de0
Merge pull request #3110 from urbit/la/graph-store
graph-store: a consistent, strongly validated, interoperable data storage format
2020-07-30 15:25:17 -07:00
Logan Allen
7c3d608185 hood: update to %9 and start %graph-store 2020-07-28 12:24:55 -07:00
Logan Allen
043714752e hood: no longer start graph hooks for now 2020-07-28 12:21:30 -07:00
Logan Allen
325667f9ec Merge branch 'master' into la/graph-store 2020-07-27 12:10:22 -07:00
Philip Monk
39052bdec0
Merge pull request #3185 from urbit/philip/kiln
kiln: get germ for actual desk
2020-07-24 21:20:53 -07:00
Philip Monk
5490a3cb73
kiln: get germ for actual desk 2020-07-24 16:37:15 -07:00
Caio Marcelo de Oliveira Filho
47871d0f48 ota: show information instead of disable by default
Instead of `|ota` cancel the OTA, make it show the current setting.
Make the cancel need a more explicit argument.

   |ota                 shows the current setting
   |ota disable         disable OTA
   |ota ~sponsor %desk  reset to a different sponsor/desk

Because most of the time the expected desk is going to be %kids, use
that in the "help message".
2020-07-22 16:27:05 -07:00
Liam Fitzgerald
24b25a3422 Merge remote-tracking branch 'origin/release/next-userspace' into lf/groups-refactor 2020-07-22 10:42:52 +00:00
Philip Monk
350756b47a
glob: autostart and make ota-able 2020-07-17 16:58:28 -07:00
Logan Allen
80d67c2f16 graph-view: delete for now 2020-07-08 15:39:20 -04:00
Logan Allen
106119a9ba Merge branch 'la/ordered-map-subset' into la/graph-store 2020-07-08 15:17:55 -04:00
Liam Fitzgerald
76bc3d82e1 Merge branch 'release/next-userspace' into lf/groups-refactor 2020-07-08 10:04:02 +10:00
Logan Allen
39933ca848 graph: hooks compile and higher-order mark implementation first-pass 2020-07-06 19:31:57 -04:00
Logan Allen
a7cbecc0e2 Merge branch 'lf/groups-refactor' into la/graph-store 2020-07-06 15:02:20 -04:00
Philip Monk
37b9f854fd
eyre: give all args to generators
fixes #3082
2020-07-02 14:42:26 -07:00
Liam Fitzgerald
93cf40a604 Merge branch 'release/next-userspace' into lf/groups-refactor 2020-07-02 12:38:12 +10:00
Philip Monk
ba9e894580
trouble: report source of OTA instead of parent 2020-06-30 16:10:12 -07:00
Philip Monk
40db8ea580
kiln: make otas continue even if they failed to apply 2020-06-29 13:25:10 -07:00
Philip Monk
42de999024
kiln: don't implicitly create syncs
Also silence some spurious errors.
2020-06-26 19:21:09 -07:00
Liam Fitzgerald
9b61c5571b Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-27 10:42:16 +10:00
Philip Monk
51c6faaa31
ford,kiln: nicer errors 2020-06-24 21:24:58 -07:00
Liam Fitzgerald
47352a06ba groups: finalize state adapters 2020-06-24 10:28:57 +10:00
Logan Allen
59a4c52232 graph-view: first sketch 2020-06-23 14:01:03 -04:00
Liam Fitzgerald
8cf81002ec Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-23 12:13:03 +10:00
Philip Monk
6ff9f75bb7
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-19 14:52:18 -07:00
Ted Blackman
f2ee0a1380 drum: fix +on-load resubscribes 2020-06-18 00:58:47 -04:00
Ted Blackman
3914c0c0dd ota: works on my machine 2020-06-17 23:31:37 -04:00
Logan Allen
08e1abb139 hood + apps: fix OTA process for feat/SPA 2020-06-17 15:51:13 -04:00
Logan Allen
eaf523e3c2 hood: add version %6 for %file-server upgrade 2020-06-17 14:27:30 -04:00
Ted Blackman
d395c2711d hood: WIP compiles but +on-load crashes 2020-06-17 03:54:27 -04:00
Ted Blackman
ac77d0a3ec hood: uncompiled first try at state as tuple 2020-06-17 02:36:09 -04:00
Ted Blackman
01eee03340 kiln: WIP state as tuple 2020-06-16 03:29:17 -04:00
Liam Fitzgerald
ef20a4d08a Merge branch 'feat/spa' into lf/groups-refactor 2020-06-10 14:41:17 +10:00
Philip Monk
11fa48f57b
kiln: ota logic compiles 2020-06-09 16:21:30 -07:00
Liam Fitzgerald
900da34fa9 drum: add %file-server to boot priority
File server needs to be started with priority in order to ensure the
-view apps can poke it, regardless of set ordering.
2020-06-09 13:02:24 +10:00
Liam Fitzgerald
d66dbff61e groups: migrate to push-pull hooks and resources 2020-06-08 17:53:16 +10:00
Matilde Park
9440392777 drum: remove 'invite-view' 2020-06-04 17:48:48 -04:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Logan Allen
9b5c93d2f1 file-server: renamed to file-server 2020-06-01 14:02:12 -04:00
Logan Allen
f13b174f16 landscape: renamed to http-server-store, finished subscribable configuration 2020-06-01 14:01:38 -04:00
Logan Allen
d727b95770 hood: start landscape app automatically and upon OTA 2020-06-01 13:57:04 -04:00
Philip Monk
0642cc5861
ames: add |ames-wake
Somehow we ended up with flows which expected to awaken but did not wake
up.  This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.

This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.

I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
2020-05-28 10:28:31 -07:00
Philip Monk
a4a44f1e21
kiln: cleanup 2020-05-22 14:32:32 -07:00
Philip Monk
096149713a
drum: relink to chat-cli
The subscription changes in drum broke existing subscriptions.  This
worked alright (though loud) for dojo, but it left chat-cli "frozen"
unless you manually unlinked/relinked.  This does that automatically.

It also includes a refactoring of +on-load in drum, to avoid vain
repetition.
2020-05-22 00:17:56 -07:00