mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-19 21:02:01 +03:00
Merge branch 'develop' into fix-host-scry
This commit is contained in:
commit
3ec1172c5b
10
.github/ISSUE_TEMPLATE/blank-issue.md
vendored
Normal file
10
.github/ISSUE_TEMPLATE/blank-issue.md
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: Blank Issue
|
||||||
|
about: Other
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
4
.github/ISSUE_TEMPLATE/config.yml
vendored
4
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,8 +1,8 @@
|
|||||||
blank_issues_enabled: true
|
blank_issues_enabled: true
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Submit a Landscape issue
|
- name: Submit a Landscape issue
|
||||||
url: https://github.com/urbit/landscape/issues/new/choose
|
url: https://github.com/tloncorp/landscape-apps/issues/new/choose
|
||||||
about: Issues with Landscape (Tlon's flagship client) should be filed at urbit/landscape. This includes groups, chats, collections, notebooks, and more.
|
about: Issues with Landscape should be filed at tloncorp/landscape-apps. This includes Groups, Talk, and Landscape proper.
|
||||||
- name: urbit-dev mailing list
|
- name: urbit-dev mailing list
|
||||||
url: https://groups.google.com/a/urbit.org/g/dev
|
url: https://groups.google.com/a/urbit.org/g/dev
|
||||||
about: Developer questions and discussions also take place on the urbit-dev mailing list.
|
about: Developer questions and discussions also take place on the urbit-dev mailing list.
|
||||||
|
@ -119,3 +119,40 @@ following command:
|
|||||||
```
|
```
|
||||||
git push origin <tagname>
|
git push origin <tagname>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Releases
|
||||||
|
|
||||||
|
- [ ] Create a pull request from the relevant release branch to `master`.
|
||||||
|
- [ ] ssh into `~zod`
|
||||||
|
- [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached.
|
||||||
|
- [ ] Attach to the screen session using `screen -x`
|
||||||
|
- [ ] Install the contents of the `%kids` desk on `~marnec-dozzod-marzod` into our `%base`: `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that`
|
||||||
|
- [ ] Check that `~zod` has updated to the latest release. For a Kelvin release, you can run `zuse` in the Dojo. Each non-Kelvin release might its own way of checking whether the update has completed, possibly through checking the `%cz` hash of the `%base` desk matches the hash on `~marnec-dozzod-marzod` by comparing the outputs of `+vat %base` on both ships.
|
||||||
|
- [ ] Merge `~zod`'s `%base` desk into its `%kids` desk to distribute the new code to the network: `|merge %kids our %base, =gem %only-that`
|
||||||
|
- [ ] Before exiting the screen session on `~zod`, make sure the screen session is not left in copy mode for a long period of time, since that will disrupt `~zod`'s operation.
|
||||||
|
|
||||||
|
### Release Communications
|
||||||
|
|
||||||
|
- [ ] Tag the commit that went onto the live network as a release, using GitHub's "Releases" interface. See the "Tagging" section of this document for details.
|
||||||
|
- [ ] Email the urbit-dev mailing list with an "[ANNOUNCE]" prefix in the email subject. See previous release emails for reference.
|
||||||
|
- [ ] Tweet from the `@zodisok` Twitter account linking to the GitHub release.
|
||||||
|
- [ ] Post links to the release in the Urbit Community Development channel and a channel in the UF public group.
|
||||||
|
|
||||||
|
### Post-Release Git Cleanup
|
||||||
|
|
||||||
|
- [ ] Merge `master` back into `develop`.
|
||||||
|
- [ ] Cut a new release branch from `develop`. The branch should have the format `release/urbit-os-vX.XX`
|
||||||
|
|
||||||
|
### Post-Release Checks
|
||||||
|
- [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state.
|
||||||
|
- [ ] Check that planets are receiving the update. They should start updating within an hour or so.
|
||||||
|
- [ ] Monitor the Urbit Community Help channel, UF public group channels, and Twitter to make
|
||||||
|
|
||||||
|
### Post-Release Artifacts
|
||||||
|
After waiting at least 24 hours after the release to the network, make and distribute a pill.
|
||||||
|
- [ ] Find a ship on the network (for now, use `~halbex-palheb`, which runs the UF public group) whose sources for `%base` and the standard app desks are mainline, not devstream.
|
||||||
|
- [ ] Ensure the `%cz` hashes of all desks match those on the distribution ships.
|
||||||
|
- [ ] Make a pill by running `.multi-vX-XX/pill +solid %base %garden %webterm %landscape %groups %talk` (replacing `X-XX` with the appropriate version numbers, in this and later steps).
|
||||||
|
- [ ] Boot a fakezod off that pill to make sure the pill is viable.
|
||||||
|
- [ ] Upload the pill to `bootstrap.urbit.org` using the Google Cloud SDK by running: `gsutil cp /path/to/pier/.urb/put/multi-vX-XX.pill gs://bootstrap.urbit.org/urbit-vX.XX.pill` -- note that it should be `vX.XX`, not `vX-XX` as in the original pill filename.
|
||||||
|
- [ ] Boot a ship with the latest binary and check that it downloads the pill from `https://bootstrap.urbit.org/urbit-vX.XX.pill` where you just uploaded it.
|
||||||
|
@ -6,9 +6,15 @@
|
|||||||
:- %tang
|
:- %tang
|
||||||
%- flop ^- tang
|
%- flop ^- tang
|
||||||
=/ pax=path /(scot %p p.bec)/[desk]/(scot %da now)
|
=/ pax=path /(scot %p p.bec)/[desk]/(scot %da now)
|
||||||
=+ .^([lal=@tas num=@ud] cx+(weld pax /sys/kelvin))
|
=/ welt=(list [@tas @ud])
|
||||||
|
=+ .^(=waft:clay cx+(weld pax /sys/kelvin))
|
||||||
|
%+ sort ~(tap in (waft-to-wefts:clay waft))
|
||||||
|
|= [a=weft b=weft]
|
||||||
|
?: =(lal.a lal.b)
|
||||||
|
(lte num.a num.b)
|
||||||
|
(lte lal.a lal.b)
|
||||||
:~ '/sys/kelvin:'
|
:~ '/sys/kelvin:'
|
||||||
leaf/"[{<lal>} {<num>}]"
|
(sell !>(welt))
|
||||||
'/desk/bill:'
|
'/desk/bill:'
|
||||||
(sell !>(.^((list dude:gall) cx+(weld pax /desk/bill))))
|
(sell !>(.^((list dude:gall) cx+(weld pax /desk/bill))))
|
||||||
==
|
==
|
||||||
|
@ -436,7 +436,7 @@
|
|||||||
+$ address @uxaddress
|
+$ address @uxaddress
|
||||||
:: $verb: verbosity flag for ames
|
:: $verb: verbosity flag for ames
|
||||||
::
|
::
|
||||||
+$ verb ?(%snd %rcv %odd %msg %ges %for %rot)
|
+$ verb ?(%snd %rcv %odd %msg %ges %for %rot %kay)
|
||||||
:: $blob: raw atom to or from unix, representing a packet
|
:: $blob: raw atom to or from unix, representing a packet
|
||||||
::
|
::
|
||||||
+$ blob @uxblob
|
+$ blob @uxblob
|
||||||
@ -886,6 +886,17 @@
|
|||||||
+$ norm (axal ?) :: tombstone policy
|
+$ norm (axal ?) :: tombstone policy
|
||||||
+$ open $-(path vase) :: get prelude
|
+$ open $-(path vase) :: get prelude
|
||||||
+$ page ^page :: export for compat
|
+$ page ^page :: export for compat
|
||||||
|
+$ pour :: ford build w/content
|
||||||
|
$% [%file =path]
|
||||||
|
[%nave =mark]
|
||||||
|
[%dais =mark]
|
||||||
|
[%cast =mars]
|
||||||
|
[%tube =mars]
|
||||||
|
:: leafs
|
||||||
|
::
|
||||||
|
[%vale =path =lobe]
|
||||||
|
[%arch =path =(map path lobe)]
|
||||||
|
==
|
||||||
+$ rang :: repository
|
+$ rang :: repository
|
||||||
$: hut=(map tako yaki) :: changes
|
$: hut=(map tako yaki) :: changes
|
||||||
lat=(map lobe page) :: data
|
lat=(map lobe page) :: data
|
||||||
@ -920,6 +931,13 @@
|
|||||||
+$ rule [mod=?(%black %white) who=(set whom)] :: node permission
|
+$ rule [mod=?(%black %white) who=(set whom)] :: node permission
|
||||||
+$ rump [p=care q=case r=@tas s=path] :: relative path
|
+$ rump [p=care q=case r=@tas s=path] :: relative path
|
||||||
+$ saba [p=ship q=@tas r=moar s=dome] :: patch+merge
|
+$ saba [p=ship q=@tas r=moar s=dome] :: patch+merge
|
||||||
|
+$ soak :: ford result
|
||||||
|
$% [%cage =cage]
|
||||||
|
[%vase =vase]
|
||||||
|
[%arch dir=(map @ta vase)]
|
||||||
|
[%dais =dais]
|
||||||
|
[%tube =tube]
|
||||||
|
==
|
||||||
+$ soba (list [p=path q=miso]) :: delta
|
+$ soba (list [p=path q=miso]) :: delta
|
||||||
+$ suba (list [p=path q=misu]) :: delta
|
+$ suba (list [p=path q=misu]) :: delta
|
||||||
+$ tako @uvI :: yaki ref
|
+$ tako @uvI :: yaki ref
|
||||||
@ -1059,6 +1077,31 @@
|
|||||||
%^ cat 7 (sham [%yaki (roll p add) q t])
|
%^ cat 7 (sham [%yaki (roll p add) q t])
|
||||||
(sham [%tako (roll p add) q t])
|
(sham [%tako (roll p add) q t])
|
||||||
[p q has t]
|
[p q has t]
|
||||||
|
::
|
||||||
|
:: $leak: ford cache key
|
||||||
|
::
|
||||||
|
:: This includes all build inputs, including transitive dependencies,
|
||||||
|
:: recursively.
|
||||||
|
::
|
||||||
|
+$ leak
|
||||||
|
$~ [*pour ~]
|
||||||
|
$: =pour
|
||||||
|
deps=(set leak)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
:: $flow: global ford cache
|
||||||
|
::
|
||||||
|
:: Refcount includes references from other items in the cache, and
|
||||||
|
:: from spills in each desk
|
||||||
|
::
|
||||||
|
:: This is optimized for minimizing the number of rebuilds, and given
|
||||||
|
:: that, minimizing the amount of memory used. It is relatively slow
|
||||||
|
:: to lookup, because generating a cache key can be fairly slow (for
|
||||||
|
:: files, it requires parsing; for tubes, it even requires building
|
||||||
|
:: the marks).
|
||||||
|
::
|
||||||
|
+$ flow (map leak [refs=@ud =soak])
|
||||||
|
::
|
||||||
:: $pile: preprocessed hoon source file
|
:: $pile: preprocessed hoon source file
|
||||||
::
|
::
|
||||||
:: /- sur-file :: surface imports from /sur
|
:: /- sur-file :: surface imports from /sur
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
ges=`?`%.n :: congestion control
|
ges=`?`%.n :: congestion control
|
||||||
for=`?`%.n :: packet forwarding
|
for=`?`%.n :: packet forwarding
|
||||||
rot=`?`%.n :: routing attempts
|
rot=`?`%.n :: routing attempts
|
||||||
|
kay=`?`%.n :: is ok/not responding
|
||||||
==
|
==
|
||||||
=>
|
=>
|
||||||
~% %ames ..part ~
|
~% %ames ..part ~
|
||||||
@ -121,14 +122,14 @@
|
|||||||
:: +qos-update-text: notice text for if connection state changes
|
:: +qos-update-text: notice text for if connection state changes
|
||||||
::
|
::
|
||||||
++ qos-update-text
|
++ qos-update-text
|
||||||
|= [=ship old=qos new=qos]
|
|= [=ship old=qos new=qos k=? ships=(set ship)]
|
||||||
^- (unit tape)
|
^- (unit tape)
|
||||||
::
|
::
|
||||||
?+ [-.old -.new] ~
|
?+ [-.old -.new] ~
|
||||||
[%unborn %live] `"; {(scow %p ship)} is your neighbor"
|
[%unborn %live] `"; {(scow %p ship)} is your neighbor"
|
||||||
[%dead %live] `"; {(scow %p ship)} is ok"
|
[%dead %live] ((trace k ship ships |.("is ok")) ~)
|
||||||
[%live %dead] `"; {(scow %p ship)} not responding still trying"
|
[%live %dead] ((trace k ship ships |.("not responding still trying")) ~)
|
||||||
[%unborn %dead] `"; {(scow %p ship)} not responding still trying"
|
[%unborn %dead] ((trace k ship ships |.("not responding still trying")) ~)
|
||||||
[%live %unborn] `"; {(scow %p ship)} has sunk"
|
[%live %unborn] `"; {(scow %p ship)} has sunk"
|
||||||
[%dead %unborn] `"; {(scow %p ship)} has sunk"
|
[%dead %unborn] `"; {(scow %p ship)} has sunk"
|
||||||
==
|
==
|
||||||
@ -627,7 +628,7 @@
|
|||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
=bug
|
bug=bug-9
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ship-state-4 ship-state-5
|
+$ ship-state-4 ship-state-5
|
||||||
@ -656,7 +657,7 @@
|
|||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
=bug
|
bug=bug-9
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ship-state-6
|
+$ ship-state-6
|
||||||
@ -685,7 +686,7 @@
|
|||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
=bug
|
bug=bug-9
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ames-state-8
|
+$ ames-state-8
|
||||||
@ -693,11 +694,25 @@
|
|||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
=bug
|
bug=bug-9
|
||||||
corks=(set wire)
|
corks=(set wire)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
+$ bug-9
|
||||||
|
$: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n]
|
||||||
|
ships=(set ship)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ ames-state-9
|
||||||
|
$: peers=(map ship ship-state)
|
||||||
|
=unix=duct
|
||||||
|
=life
|
||||||
|
crypto-core=acru:ames
|
||||||
|
bug=bug-9
|
||||||
|
corks=(set wire)
|
||||||
|
snub=(set ship)
|
||||||
|
==
|
||||||
|
::
|
||||||
:: $bug: debug printing configuration
|
:: $bug: debug printing configuration
|
||||||
::
|
::
|
||||||
:: veb: verbosity toggles
|
:: veb: verbosity toggles
|
||||||
@ -860,7 +875,8 @@
|
|||||||
[%6 ames-state-6]
|
[%6 ames-state-6]
|
||||||
[%7 ames-state-7]
|
[%7 ames-state-7]
|
||||||
[%8 ames-state-8]
|
[%8 ames-state-8]
|
||||||
[%9 ^ames-state]
|
[%9 ames-state-9]
|
||||||
|
[%10 ^ames-state]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|= [now=@da eny=@ rof=roof]
|
|= [now=@da eny=@ rof=roof]
|
||||||
@ -983,7 +999,7 @@
|
|||||||
:: lifecycle arms; mostly pass-throughs to the contained adult ames
|
:: lifecycle arms; mostly pass-throughs to the contained adult ames
|
||||||
::
|
::
|
||||||
++ scry scry:adult-core
|
++ scry scry:adult-core
|
||||||
++ stay [%9 %larva queued-events ames-state.adult-gate]
|
++ stay [%10 %larva queued-events ames-state.adult-gate]
|
||||||
++ load
|
++ load
|
||||||
|= $= old
|
|= $= old
|
||||||
$% $: %4
|
$% $: %4
|
||||||
@ -1020,8 +1036,15 @@
|
|||||||
state=ames-state-8
|
state=ames-state-8
|
||||||
==
|
==
|
||||||
[%adult state=ames-state-8]
|
[%adult state=ames-state-8]
|
||||||
== ==
|
== ==
|
||||||
$: %9
|
$: %9
|
||||||
|
$% $: %larva
|
||||||
|
events=(qeu queued-event)
|
||||||
|
state=ames-state-9
|
||||||
|
==
|
||||||
|
[%adult state=ames-state-9]
|
||||||
|
== ==
|
||||||
|
$: %10
|
||||||
$% $: %larva
|
$% $: %larva
|
||||||
events=(qeu queued-event)
|
events=(qeu queued-event)
|
||||||
state=_ames-state.adult-gate
|
state=_ames-state.adult-gate
|
||||||
@ -1076,12 +1099,22 @@
|
|||||||
=. queued-events events.old
|
=. queued-events events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
[%9 %adult *] (load:adult-core %9 state.old)
|
[%9 %adult *]
|
||||||
|
=. cached-state `[%9 state.old]
|
||||||
|
~> %slog.0^leaf/"ames: larva reload"
|
||||||
|
larval-gate
|
||||||
::
|
::
|
||||||
[%9 %larva *]
|
[%9 %larva *]
|
||||||
|
~> %slog.0^leaf/"ames: larva: load"
|
||||||
|
=. queued-events events.old
|
||||||
|
larval-gate
|
||||||
|
::
|
||||||
|
[%10 %adult *] (load:adult-core %10 state.old)
|
||||||
|
::
|
||||||
|
[%10 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva: load"
|
~> %slog.1^leaf/"ames: larva: load"
|
||||||
=. queued-events events.old
|
=. queued-events events.old
|
||||||
=. adult-gate (load:adult-core %9 state.old)
|
=. adult-gate (load:adult-core %10 state.old)
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
==
|
==
|
||||||
@ -1102,7 +1135,9 @@
|
|||||||
8+(state-7-to-8:load:adult-core +.u.cached-state)
|
8+(state-7-to-8:load:adult-core +.u.cached-state)
|
||||||
=? u.cached-state ?=(%8 -.u.cached-state)
|
=? u.cached-state ?=(%8 -.u.cached-state)
|
||||||
9+(state-8-to-9:load:adult-core +.u.cached-state)
|
9+(state-8-to-9:load:adult-core +.u.cached-state)
|
||||||
?> ?=(%9 -.u.cached-state)
|
=? u.cached-state ?=(%9 -.u.cached-state)
|
||||||
|
10+(state-9-to-10:load:adult-core +.u.cached-state)
|
||||||
|
?> ?=(%10 -.u.cached-state)
|
||||||
=. ames-state.adult-gate +.u.cached-state
|
=. ames-state.adult-gate +.u.cached-state
|
||||||
[moz larval-core(cached-state ~)]
|
[moz larval-core(cached-state ~)]
|
||||||
--
|
--
|
||||||
@ -1178,15 +1213,15 @@
|
|||||||
[moves ames-gate]
|
[moves ames-gate]
|
||||||
:: +stay: extract state before reload
|
:: +stay: extract state before reload
|
||||||
::
|
::
|
||||||
++ stay [%9 %adult ames-state]
|
++ stay [%10 %adult ames-state]
|
||||||
:: +load: load in old state after reload
|
:: +load: load in old state after reload
|
||||||
::
|
::
|
||||||
++ load
|
++ load
|
||||||
=< |= $= old-state
|
=< |= $= old-state
|
||||||
$% [%9 ^ames-state]
|
$% [%10 ^ames-state]
|
||||||
==
|
==
|
||||||
^+ ames-gate
|
^+ ames-gate
|
||||||
?> ?=(%9 -.old-state)
|
?> ?=(%10 -.old-state)
|
||||||
ames-gate(ames-state +.old-state)
|
ames-gate(ames-state +.old-state)
|
||||||
::
|
::
|
||||||
|%
|
|%
|
||||||
@ -1260,7 +1295,7 @@
|
|||||||
==
|
==
|
||||||
++ state-8-to-9
|
++ state-8-to-9
|
||||||
|= ames-state=ames-state-8
|
|= ames-state=ames-state-8
|
||||||
^- ^^ames-state
|
^- ames-state-9
|
||||||
:* peers.ames-state
|
:* peers.ames-state
|
||||||
unix-duct.ames-state
|
unix-duct.ames-state
|
||||||
life.ames-state
|
life.ames-state
|
||||||
@ -1269,6 +1304,19 @@
|
|||||||
corks.ames-state
|
corks.ames-state
|
||||||
*(set ship)
|
*(set ship)
|
||||||
==
|
==
|
||||||
|
++ state-9-to-10
|
||||||
|
|= ames-state=ames-state-9
|
||||||
|
^- ^^ames-state
|
||||||
|
:* peers.ames-state
|
||||||
|
unix-duct.ames-state
|
||||||
|
life.ames-state
|
||||||
|
crypto-core.ames-state
|
||||||
|
%= bug.ames-state
|
||||||
|
veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug.ames-state
|
||||||
|
==
|
||||||
|
corks.ames-state
|
||||||
|
snub.ames-state
|
||||||
|
==
|
||||||
--
|
--
|
||||||
:: +scry: dereference namespace
|
:: +scry: dereference namespace
|
||||||
::
|
::
|
||||||
@ -1507,6 +1555,7 @@
|
|||||||
%ges acc(ges %.y)
|
%ges acc(ges %.y)
|
||||||
%for acc(for %.y)
|
%for acc(for %.y)
|
||||||
%rot acc(rot %.y)
|
%rot acc(rot %.y)
|
||||||
|
%kay acc(kay %.y)
|
||||||
==
|
==
|
||||||
event-core
|
event-core
|
||||||
:: +on-prod: re-send a packet per flow to each of .ships
|
:: +on-prod: re-send a packet per flow to each of .ships
|
||||||
@ -2016,7 +2065,9 @@
|
|||||||
=. +.peer-state +:*^peer-state
|
=. +.peer-state +:*^peer-state
|
||||||
:: print change to quality of service, if any
|
:: print change to quality of service, if any
|
||||||
::
|
::
|
||||||
=/ text=(unit tape) (qos-update-text ship old-qos qos.peer-state)
|
=/ text=(unit tape)
|
||||||
|
%^ qos-update-text ship old-qos
|
||||||
|
[qos.peer-state kay.veb ships.bug.ames-state]
|
||||||
::
|
::
|
||||||
=? event-core ?=(^ text)
|
=? event-core ?=(^ text)
|
||||||
(emit duct %pass /qos %d %flog %text u.text)
|
(emit duct %pass /qos %d %flog %text u.text)
|
||||||
@ -2421,7 +2472,10 @@
|
|||||||
=^ old-qos qos.peer-state [qos.peer-state new-qos]
|
=^ old-qos qos.peer-state [qos.peer-state new-qos]
|
||||||
:: if no update worth reporting, we're done
|
:: if no update worth reporting, we're done
|
||||||
::
|
::
|
||||||
?~ text=(qos-update-text her.channel old-qos new-qos)
|
=/ text
|
||||||
|
%^ qos-update-text her.channel old-qos
|
||||||
|
[new-qos kay.veb ships.bug.ames-state]
|
||||||
|
?~ text
|
||||||
peer-core
|
peer-core
|
||||||
:: print message
|
:: print message
|
||||||
::
|
::
|
||||||
|
@ -191,19 +191,6 @@
|
|||||||
[%1 peg=(unit page)]
|
[%1 peg=(unit page)]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
:: Global ford cache
|
|
||||||
::
|
|
||||||
:: Refcount includes references from other items in the cache, and
|
|
||||||
:: from spills in each desk
|
|
||||||
::
|
|
||||||
:: This is optimized for minimizing the number of rebuilds, and given
|
|
||||||
:: that, minimizing the amount of memory used. It is relatively slow
|
|
||||||
:: to lookup, because generating a cache key can be fairly slow (for
|
|
||||||
:: files, it requires parsing; for tubes, it even requires building
|
|
||||||
:: the marks).
|
|
||||||
::
|
|
||||||
+$ flow (map leak [refs=@ud =soak])
|
|
||||||
::
|
|
||||||
:: Per-desk ford cache
|
:: Per-desk ford cache
|
||||||
::
|
::
|
||||||
:: Spill is the set of "roots" we have into the global ford cache.
|
:: Spill is the set of "roots" we have into the global ford cache.
|
||||||
@ -228,41 +215,6 @@
|
|||||||
[%arch =path]
|
[%arch =path]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
:: Ford build with content.
|
|
||||||
::
|
|
||||||
+$ pour
|
|
||||||
$% [%file =path]
|
|
||||||
[%nave =mark]
|
|
||||||
[%dais =mark]
|
|
||||||
[%cast =mars]
|
|
||||||
[%tube =mars]
|
|
||||||
:: leafs
|
|
||||||
::
|
|
||||||
[%vale =path =lobe]
|
|
||||||
[%arch =path =(map path lobe)]
|
|
||||||
==
|
|
||||||
::
|
|
||||||
:: Ford result.
|
|
||||||
::
|
|
||||||
+$ soak
|
|
||||||
$% [%cage =cage]
|
|
||||||
[%vase =vase]
|
|
||||||
[%arch dir=(map @ta vase)]
|
|
||||||
[%dais =dais]
|
|
||||||
[%tube =tube]
|
|
||||||
==
|
|
||||||
::
|
|
||||||
:: Ford cache key
|
|
||||||
::
|
|
||||||
:: This includes all build inputs, including transitive dependencies,
|
|
||||||
:: recursively.
|
|
||||||
::
|
|
||||||
+$ leak
|
|
||||||
$~ [*pour ~]
|
|
||||||
$: =pour
|
|
||||||
deps=(set leak)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
:: New desk data.
|
:: New desk data.
|
||||||
::
|
::
|
||||||
:: Sent to other ships to update them about a particular desk.
|
:: Sent to other ships to update them about a particular desk.
|
||||||
@ -5662,6 +5614,7 @@
|
|||||||
%sweep ``[%sweep !>(sweep)]
|
%sweep ``[%sweep !>(sweep)]
|
||||||
%rang ``[%rang !>(ran.ruf)]
|
%rang ``[%rang !>(ran.ruf)]
|
||||||
%tomb ``[%flag !>((tomb t.path))]
|
%tomb ``[%flag !>((tomb t.path))]
|
||||||
|
%flow ``[%flow !>(fad.ruf)]
|
||||||
%domes domes
|
%domes domes
|
||||||
%tire ``[%tire !>(tore:(lu now rof *duct ruf))]
|
%tire ``[%tire !>(tore:(lu now rof *duct ruf))]
|
||||||
%tyre ``[%tyre !>(tyr.ruf)]
|
%tyre ``[%tyre !>(tyr.ruf)]
|
||||||
|
@ -58,15 +58,15 @@ export const showBlit = (term: Terminal, blit: Blit) => {
|
|||||||
|
|
||||||
export const showSlog = (term: Terminal, slog: string) => {
|
export const showSlog = (term: Terminal, slog: string) => {
|
||||||
// set scroll region to exclude the bottom line,
|
// set scroll region to exclude the bottom line,
|
||||||
// scroll up one line,
|
// move cursor to bottom left of the scroll region,
|
||||||
// move cursor to start of the newly created whitespace,
|
// print a newline to move everything up a line,
|
||||||
// set text to grey,
|
// set text to grey,
|
||||||
// print the slog,
|
// print the slog,
|
||||||
// restore color, scroll region, and cursor.
|
// restore color, scroll region, and cursor.
|
||||||
//
|
//
|
||||||
term.write(csi('r', 1, term.rows - 1)
|
term.write(csi('r', 1, term.rows - 1)
|
||||||
+ csi('S', 1)
|
|
||||||
+ csi('H', term.rows - 1, 1)
|
+ csi('H', term.rows - 1, 1)
|
||||||
|
+ '\n'
|
||||||
+ csi('m', 90)
|
+ csi('m', 90)
|
||||||
+ slog
|
+ slog
|
||||||
+ csi('m', 0)
|
+ csi('m', 0)
|
||||||
|
@ -24,6 +24,14 @@
|
|||||||
++ test-hint-xray
|
++ test-hint-xray
|
||||||
~> %xray.[1 leaf+"test-hint-xray ~"]
|
~> %xray.[1 leaf+"test-hint-xray ~"]
|
||||||
~
|
~
|
||||||
|
:: test that these memory-report hints
|
||||||
|
:: are safe to run or ignore
|
||||||
|
++ test-hilt-meme
|
||||||
|
~> %meme
|
||||||
|
~
|
||||||
|
++ test-hint-meme
|
||||||
|
~> %meme.[1 leaf+"test-hint-meme ~"]
|
||||||
|
~
|
||||||
:: test that the hilt bout hint
|
:: test that the hilt bout hint
|
||||||
:: is safe to run or ignore
|
:: is safe to run or ignore
|
||||||
++ test-hilt-bout
|
++ test-hilt-bout
|
||||||
|
Loading…
Reference in New Issue
Block a user