Commit Graph

1786 Commits

Author SHA1 Message Date
Ted Blackman
f9e1812a14 sys,gen/kiln: kelvin checking seems to work 2021-08-20 10:41:16 +03:00
Ted Blackman
4ea0c56849 dill: don't sync %kids on galaxies 2021-08-18 00:57:38 +03:00
Ted Blackman
616ab66f26 merge master; loosen :hood's updates 2021-08-11 19:23:36 +03:00
Ted Blackman
b8af4835cf dill: sync to %kids on galaxies 2021-08-09 02:31:53 +03:00
Philip Monk
98d8419c9e
hoon: don't compile .= children twice 2021-08-04 17:02:48 -04:00
Philip Monk
4e16b9c555
hoon: remove +ad
This reverts d96d50199 because +ad is incredibly opaque, and +ergo's
sitting right there anyway.  It looks like it was intended to abstract
over +endo, +elbo, and +ergo, but only +ergo was every implemented.  I
don't doubt the others could be as well, but then they would be just as
inscrutable.
2021-08-04 16:57:03 -04:00
Philip Monk
eb383baba9
dill: no-op on strange fact
Otherwise, if you accidentally give on the system duct, you crash the
event, as in #5138
2021-07-29 14:56:26 -04:00
Ted Blackman
a27697a45d dill: revert change to ota setup 2021-07-23 14:14:23 +03:00
Ted Blackman
6bf7d3316e dill: |install %base from sponsor on boot 2021-07-23 14:08:30 +03:00
Ted Blackman
d9c9740b8d clay: print desk in +read-a 2021-07-23 14:03:36 +03:00
Ted Blackman
891a295366 gall: fix /clear-huck handling 2021-07-21 11:55:21 +03:00
Philip Monk
1d06b77a46
jael, dawn: support multikeyfile
taken from bdaad4cf84
2021-07-20 13:28:33 -04:00
Philip Monk
564c1216e1
Merge remote-tracking branch 'origin/lf/replace-channel' into release/next-sys 2021-07-20 13:09:41 -04:00
Philip Monk
5240b66347
Merge branch 'pr' into release/next-sys 2021-07-20 13:07:57 -04:00
Ted Blackman
88c15bcca2 gall: make %jolt idempotent, remove dead +mo-reboot 2021-07-20 17:59:20 +03:00
Ted Blackman
38d6d0f4d4 gall,kiln: clean up agent stopping, starting, linking 2021-07-19 16:58:18 +03:00
Ted Blackman
4f5739879e clay: more printing adjustment 2021-07-19 14:01:34 +03:00
Ted Blackman
f521881212 clay: better print 2021-07-18 23:11:13 +03:00
Ted Blackman
4f3e99f797 clay,hood: seems to boot for real now 2021-07-17 02:54:20 +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
121502028e dill: stop poking drum 2021-07-16 05:22:53 +03:00
Ted Blackman
4121d35b64 gall: crash on agent build failure 2021-07-16 05:22:31 +03:00
Ted Blackman
4cb5cd0ba1 gall,drum,kiln: WIP start agents in kiln 2021-07-15 09:51:03 +03:00
Ted Blackman
5e496e920e clay: invalidate cache on kelvin change 2021-07-14 19:21:00 +03:00
Ted Blackman
f4232ce415 dill,clay: minor printing cleanup 2021-07-14 01:51:35 +03:00
Ted Blackman
529502543b sys,lib: boots! 2021-07-14 01:00:13 +03:00
Ted Blackman
9b968edf75 clay,kiln,/mar/kelvin,/lib/pill: some fixes for pills; not done 2021-07-13 19:02:24 +03:00
Ted Blackman
5986fe67f5 gall: no-op on %slay,%idle for missing agent 2021-07-13 17:35:54 +03:00
Ted Blackman
070bbd0917 clay: use 2021-07-10 08:56:25 -04:00
ixv
9883f09a34 gall: no-op instead of sending %huck in +mo-clear-queue 2021-07-09 12:12:48 -07:00
raghu
ad96d47cdc better formatting in error messages 2021-07-08 22:29:06 -04:00
Ted Blackman
0e144314c3 gall: suspend agents on upgrade 2021-07-07 14:08:21 -04:00
Ted Blackman
6a1cbf8894 arvo: kelvin version type 2021-07-02 17:40:55 -04:00
Fang
cb1a7cb76a
Merge branch 'm/multipass' into naive/preboot 2021-07-02 16:20:51 +02:00
Ted Blackman
82581ae993 gall: %e scry to list apps on a desk 2021-07-01 20:33:43 -04:00
Ted Blackman
784004cfb6 kiln: +install compiles and loads, untested 2021-06-30 21:03:47 -04: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
8c3d14b7a7 clay: check kelvin on non-%base desks 2021-06-28 21:22:55 -04:00
Ted Blackman
40af38c9ee bin/solid.pill 2021-06-28 20:18:37 -04:00
Ted Blackman
501ed4ad82 clay: remove reef 2021-06-28 20:01:51 -04:00
Logan Allen
d5ec02c801 eyre: cast within zapgar to avoid nest check 2021-06-28 17:07:13 -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
raghu
5698e2662a Merge remote-tracking branch 'upstream/master' into better-bar-fuse 2021-06-21 20:57:20 -04:00
raghu
a04b318d2d clay: log on strange fuse responses 2021-06-21 20:43:49 -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
Logan Allen
1296728d4f eyre: cast within zapgar to avoid nest check 2021-06-14 16:18:18 -05:00
Philip Monk
85fdd6b190
clay: handle out-of-bounds versions in nako 2021-06-08 15:41:44 -10:00
Philip Monk
e5ab5db20c
Merge branch 'release/next-sys' of ssh://github.com/urbit/urbit into release/next-sys 2021-06-08 09:21:04 -10:00
fang
f17e228046
Merge pull request #4942 from urbit/m/dill-appetizer
dill: support next runtime's inputs
2021-06-08 21:05:25 +02:00
Philip Monk
b0c9fd1940
Merge remote-tracking branch 'origin/lf/hoon-inc' into release/next-sys 2021-06-08 08:59:27 -10:00
raghu
b499e1e711 clay: print conflicting source on fuse failure 2021-06-07 20:35:18 -04:00
L
5cc908063a
Merge pull request #4987 from urbit/la/zuse-parsing
zuse: comb through all notes in libraries, and move arms to zuse
2021-06-07 13:11:40 -05:00
Logan Allen
6703e03199 zuse: remove unnecessary line from +re 2021-06-07 10:20:20 -05:00
Logan Allen
b6206728cc hoon: make +sink more concise 2021-06-04 16:06:40 -05:00
fang
4c004e0165
lull: saner belt construction
$% by itself wasn't quite right, considering +bolt's @c case.
2021-06-04 21:45:59 +02:00
Logan Allen
7ef313c5e1 hoon: add +sink, a slow (but faster than dunk) type printing 2021-06-04 14:40:28 -05:00
Logan Allen
2c7a909f19 zuse: comb through all notes in libraries, and move arms to zuse 2021-06-04 12:47:51 -05:00
fang
3b81e35260
dawn: better multikey format
Improves the multikeyfile format by taking a single ship and a list of
life+key pairs, instead of a list of full seeds.

Also decouples these changes from the dawn event, once again putting a
single seed into it. In the multikeyfile case, keys are injected as
%rekey events to jael near the end of the boot sequence.

Haskell-side changes may or may not be incomplete, boot presently fails
at some unknown point with what looks like a noun conversion error.
2021-06-04 01:49:15 +02:00
L
21ae35a08f
Merge pull request #4932 from urbit/la/fast-look
arvo: add +de-case to speed up +de-beam, prime cache in +settle:va
2021-06-01 13:45:32 -05:00
Logan Allen
2549eaa5c2 eyre: comment out %writ specialization because it causes crashes 2021-05-27 13:28:23 -05:00
Logan Allen
d822d5adce gall: ensure we send %whiz after all the other moves 2021-05-27 13:24:36 -05:00
Logan Allen
3427e57cb3 eyre: specialize %clay type 2021-05-27 13:01:06 -05:00
Logan Allen
00fa3e7f0d arvo: add %whiz option that allows one to prime the compiler cache 2021-05-27 12:55:03 -05:00
fang
bee2fd278c
dill: support next runtime's inputs
This, along with the new runtime understanding current dill's blits,
will ensure that the new runtime is reasonably usable even with the old
dill.
2021-05-27 16:28:42 +02:00
Logan Allen
7305ce1499 arvo: clean up unnecessary type casts and fix profiling hint 2021-05-26 17:59:00 -05:00
Logan Allen
517ebbbbee arvo: rename +en-case to +de-case, prime the cache in +settle 2021-05-26 17:12:59 -05:00
Logan Allen
fdec9ebe93 arvo: add +en-case, hoon: remove +sloy 2021-05-26 15:45:39 -05:00
Logan Allen
23f9668d46 eyre: make fang's requested style changes 2021-05-26 12:22:54 -05:00
fang
d1890f5db2
jael, dawn: support multi-keyfile during boot
Allows booting with a keyfile containing multiple keys, as long as one
of them matches current PKI pubkeys for the specified ship.

All relevant keys are loaded into jael and will automatically be put to
use when they match PKI state.
2021-05-26 16:02:39 +02:00
Logan Allen
8ee9382e7b arvo/hoon: add +sloy, a %da short-circuited +slay to speed up +de-beam and thus +look 2021-05-23 20:34:43 -05:00
Logan Allen
571e1df2c6 eyre: add ~| to slym 2021-05-20 15:05:36 -05:00
Logan Allen
be7c94fcba eyre: replace +slam with +slym for a speedup 2021-05-20 14:31:28 -05:00
L
782a7644a3
Update pkg/arvo/sys/vane/eyre.hoon
Co-authored-by: fang <github@fang.io>
2021-05-20 13:40:05 -05:00
L
c0daa7f9fc
Update pkg/arvo/sys/vane/eyre.hoon
Co-authored-by: fang <github@fang.io>
2021-05-20 13:39:49 -05:00
Logan Allen
5e2eb1b783 eyre: use slam and statically typed conversion 2021-05-20 18:03:04 +00:00
Logan Allen
306dbbaead eyre: use static mark conversions 2021-05-20 12:11:45 -05:00
Logan Allen
c0e4dcdc18 eyre: no-op on clay take 2021-05-19 16:01:05 -05:00
Logan Allen
054806b307 eyre: send warp to warm %c cache for any mark that gets used 2021-05-19 15:40:32 -05:00
Philip Monk
bbe3cbe8ee
clay: formatting 2021-05-18 08:32:30 -10:00
Philip Monk
1e6e69a49d
Merge branch 'pr' into release/next-sys 2021-05-18 07:50:26 -10:00
Philip Monk
5007257b63
Merge branch 'release/next-sys' of ssh://github.com/urbit/urbit into release/next-sys 2021-05-18 07:41:58 -10:00
Philip Monk
1f016f56a6
Merge pull request #4916 from urbit/la/sys-ram
zuse: added +ram method to ordered map and made comments on methods a…
2021-05-18 10:40:31 -07:00
Philip Monk
63ba2823dd
Merge remote-tracking branch 'origin/ted/clay-bunt' into release/next-sys 2021-05-18 07:38:52 -10:00
Logan Allen
2c754ff08f zuse: added +ram method to ordered map and made comments on methods accurate 2021-05-18 12:38:42 -05:00
Philip Monk
e2e4d28548
Merge pull request #4788 from urbit/la/sys-fast-orm
zuse: add +all, +any, +got, +has, +run, and +tab to ++ordered-map, jet hints, and reorganize alphabetically
2021-05-18 10:24:31 -07:00
Philip Monk
57bea9407e
Merge pull request #4623 from urbit/jb/seminoun-bunt
hoon: update seminoun bunt to be fully blocked
2021-05-18 10:23:30 -07:00
Philip Monk
f73b913df9
Merge branch 'release/next-sys' of ssh://github.com/urbit/urbit into release/next-sys 2021-05-13 07:04:27 -10:00
Philip Monk
a57b6f9c9e
Merge branch 'pr' into release/next-sys 2021-05-13 07:04:07 -10:00
raghu
44722f3a09 fuse: properly report success 2021-05-11 21:30:44 -04:00
Logan Allen
b311087f6a Merge branch 'release/next-sys' into la/sys-fast-orm 2021-05-11 12:37:16 -05:00
Logan Allen
a25f8028f4 tests: add test to make sure subtree is being modified properly in +del-span 2021-05-05 16:07:08 -05:00
Logan Allen
915c548037 zuse: fix +del-span in +tab 2021-05-05 14:41:13 -05:00
Logan Allen
36ae091cff zuse: +tab in ordered-map is more succinct and no longer nips 2021-05-05 13:09:43 -05:00
Logan Allen
4073cf9d76 zuse: +tab marginal code cleanup to reduce use of lark 2021-05-05 12:59:40 -05:00
Logan Allen
947b9ec75c zuse: +tab should paginate into the ordered-map starting from the highest element, not from the lowest 2021-05-05 11:56:04 -05:00
Logan Allen
c86559071f zuse: add +tab arm to +on, which allows one to take a subset excluding the start element with a max count 2021-05-04 14:55:41 -05:00
raghu
9db61a1566 fuse: simplify state restoration logic 2021-05-03 22:26:49 -04:00
raghu
2fd8e729e1 fuse: fix indents 2021-05-03 19:29:28 -04:00
Ted Blackman
4c94c7edd4 ames: expire direct lanes faster after inactivity 2021-05-03 17:33:56 -04:00
raghu
20fb39bba7 fuse: fix comments 2021-05-02 14:15:03 -04:00
raghu
08d3aa2485 fuse: c/r 2021-05-02 14:04:03 -04:00
raghu
75ed2cc0af fuse: c/r 2021-05-02 13:44:18 -04:00
Philip Monk
49bbf37ca2
Merge pull request #4835 from urbit/philip/clay-fixes
clay: fix requests for strange cares over ames
2021-04-29 15:18:05 -07:00
Philip Monk
7b7e9e3104
clay: fix requests for strange cares over ames
Four changes:

- implement +validate-u to allow %u requests over the network
- make +validate-x use our local marks to make %x requests generally
  work over the network
- in +start-request, if a foreign ship is making a request that we
  shouldn't send over the network, ignore it.  This closes a DOS vector.
- in +duce, if we're about to make a request to a foreign ship which
  they won't be able to answer, crash the event.

Combined, these fix many of the common cases of weirdness around foreign
clay requests.  Notably absent is a fix for reading `%a` across the
network, which I still maintain should happen against the foreign
hoon/zuse.

fixes #4834
see also #4307
2021-04-28 23:24:15 -07:00
Philip Monk
b1091d0e98
Merge remote-tracking branch 'origin/master' into philip/naive 2021-04-28 20:30:07 -07:00
Logan Allen
dd6eeccdae zuse: update names of +subset to +lot, +peek to +pry, remove unnecessary comments 2021-04-28 16:12:46 -05:00
Philip Monk
f2c43edc99
naive: make bitlengths explicit
Also switches everything to ropsten by default, including ivory pill.
Batches work on ropsten now.

Also adds +tx as a hacky development tool to create text for metamask to
sign and then turn that into a batch.  A useful reference for bridge and
aggregator work.
2021-04-27 22:58:19 -07:00
Liam Fitzgerald
9b2061a824
hoon: add +succ gate
Adds an +succ (successor) gate. Whilst .+ exists, it is impossible to use
in a point free style and doesn't compose functionally.
2021-04-27 10:24:21 +10:00
fang
6f0a947d1b
Merge branch 'master' into release/next-sys 2021-04-26 23:13:27 +02:00
fang
5d4d7de6a6
Merge pull request #4745 from urbit/m/ford-fassig
clay: add /~ ford rune, as /= for directories
2021-04-26 16:19:19 +02:00
raghu
8cbacb2545 clay: allow successive upgrades 2021-04-25 14:01:55 -04:00
raghu
201c3db193 clay: finalize fuse request - update |fuse 2021-04-25 14:01:45 -04:00
raghu
9d7afd10ee clay: change fuse request 2021-04-25 14:01:33 -04:00
fang
550dee32da
clay: +any:in in place of +lien over +tap:in 2021-04-23 23:05:11 +02:00
fang
dcdf695991
clay: insert %nest-fail into trace conditionally
Previously, we would stack on the ~| for every file we had previously
processed, even though we only want it in the trace for actual failures.
2021-04-23 22:56:24 +02:00
Logan Allen
ca9f6180d8 zuse: make ordered-map's +run wet 2021-04-22 10:46:48 -05:00
Logan Allen
cef4e6a726 zuse: fix +apt jet parent not found 2021-04-20 16:04:48 -05:00
Logan Allen
5b7b7e6cb7 zuse: reorder dip alphabetically 2021-04-20 15:21:07 -05:00
Logan Allen
6b0dc98952 ames: reflect update of name +traverse -> +dip 2021-04-20 15:04:28 -05:00
Logan Allen
b5a8e7a40b zuse: change name of +ordered-map to +on and add alias, change name of +traverse to +dip as per talk with ted 2021-04-20 15:03:57 -05:00
Logan Allen
f0ba5afe1c zuse: respond to joe's requests to remove mk-item and add fast hint for ordered-map 2021-04-20 12:56:24 -05:00
Logan Allen
9247fc247c zuse: add +got and +has arms to +ordered-map 2021-04-20 12:11:54 -05:00
Logan Allen
ae2aefed2a zuse: made +run allow type transform to match +by and +in 2021-04-20 12:06:03 -05:00
Logan Allen
2e302818d3 zuse: added +any to +ordered-map 2021-04-20 12:05:24 -05:00
Logan Allen
fd6f6b3bd0 zuse: added jet hints to all +ordered-map arms, reordered them alphabetically as is done in +in and +by 2021-04-20 12:04:59 -05:00
raghu
b2e1008d9a clay: add %fuse 2021-04-19 23:46:46 -04:00
Philip Monk
66b4c3f193
Merge pull request #4677 from urbit/philip/fast-refresh
sys: Speed up things used in Landscape
2021-04-19 15:43:16 -07:00
Philip Monk
8870add20d
Merge pull request #4701 from urbit/ted/gall-print
gall: print on missing request for ack
2021-04-19 15:41:27 -07:00
Logan Allen
2f0ed36101 zuse: add +all and +run to ++ordered-map 2021-04-19 15:10:33 -05:00
fang
0570fb5b76
clay: share logic between build-file and directory
By factoring their shared logic out into +build-dependency, which gets
passed the relevant details about how to track the file being built in
the dependency stack.
2021-04-12 13:10:36 +02:00
fang
8b4dba28fa
clay: update dependency logic for /~ imports
To match recent changes to the build logic, where it only includes
top-level hoon files.
2021-04-10 16:22:52 +02:00
fang
a45179412b
clay: for /~, only build top-level files
This is semantically cleaner than arbitrary-depth recursion, and lets us
stop worrying about hyphenated path conflicts.
2021-04-10 02:26:32 +02:00
fang
1411e08944
clay: specify target type for /~ results
Clay will nest-check the results and put a homogenous map into the
subject.
2021-04-10 01:59:26 +02:00
Logan Allen
5d16911f69 eyre: use font-display:swap; in login page 2021-04-09 16:02:55 +00:00
fang
62d7281156
clay: add /~ ford rune, as /= for directories
Hoon files may want to import nouns from all files in a given directory.
/~ lets you do so, importing as a (map @ta *) (but with typed values).

Note the description as "directories" here, instead of "path prefix".
The behavior, as implemented, will not include /path/hoon for /~  /path,
instead only including /path/more/hoon and more deeply nested files.
This seems to be, generally, the behavior you want, for example when
importing from /app/myapp/* for /app/myapp/hoon.

Actually using the resulting map requires some manual casting, which is
not ideal. Some code style improvement work remains to be done as well.
2021-04-09 01:49:14 +02:00
fang
1ec5e5acfb
hoon: add +stap, path parser
And cleans up a bunch of locally hand-written implementations of it.
2021-04-07 21:14:13 +02:00
Ted Blackman
06faf0b13c gall: print on missing request for ack 2021-03-31 14:54:28 -04:00
Philip Monk
820aee0478
zuse: strip ~ from ships in enjs 2021-03-28 01:58:21 -07:00
Philip Monk
fda5e4b361
zuse: hack enjs to speed up ship printing
In +en-json, the vast majority of our time is in +jesc (json string
escaping).  Since ships will always be string-safe, we pretend they're
numbers to bypass the escaper.  This saves about a second on initial
landscape load.
2021-03-28 00:59:08 -07:00
Philip Monk
a777567bb6
eyre: faster wain-to-octs conversion
Avoid allocating hundreds of thousands of cells when giving large
requests.  This took the footprint of this function on initial landscape
load from 1 second to 100 ms.
2021-03-28 00:57:33 -07:00
Philip Monk
a1647a9767
clay, eyre: add profiling hints 2021-03-28 00:50:25 -07:00
Philip Monk
7b55097ef4
hoon: memoize rend:co
We commonly print many names in a row, often the same ones.  For
example, on landscape's initial load, we send all the members of all the
groups we're in, and there's substantial overlap.

At least half the cost is in +fein, which is not currently jetted, but I
believe there's an old jet in the git history.
2021-03-28 00:21:30 -07:00
Liam Fitzgerald
746ece51ce
clay: allow numbers in +segments 2021-03-19 10:05:06 +10:00
Joe Bryan
19d5bd0de4 ames: gate "fragment crashed" printf on msg.veb 2021-03-18 17:04:08 -07:00
Joe Bryan
549c5e5db9 hoon: update seminoun bunt to be fully blocked 2021-03-17 14:21:58 -07:00
J
ef1b125c3e zuse: fix time fix regression
Fixes #4598.

#4474 made the JSON time conversion no longer invertible, which caused
problems for chat, which uses message timestamp in milliseconds as a key
-- so chat would send a message with ms timestamp x, it would get
encoded as @da x, but then when it went back through the conversion to
milliseconds, it would often (not always) get encoded as x-1.

I still do not fully understand why this is -- and why it doesn't seem
to be a problem with seconds based on cursory testing -- but integer
multiplication and division generally do not invert. And adding a half a
millisecond to the input date before converting it resolves the issue
and makes the functions invertible.

I added a regression test, so hopefully the next courageous adventurer
who winds up here after wondering why +unm looks funny will have a
safeguard against some of the mistakes I made.
2021-03-12 20:06:10 +00:00
Ted Blackman
b55417a1c3 clay: remove +bunt from marks 2021-03-05 16:53:35 -05:00
Philip Monk
f5ce79da9d
marks: fixup
Many of the marks were broken, and staticizing the marks revealed this.
This makes them build.
2021-03-04 19:21:34 -08:00
Philip Monk
a0146f4a44
clay: add %e, %f requests
For static naves, casts respectively
2021-03-04 18:28:16 -08:00
Philip Monk
4a066c8d4d
clay: fix upgrade 2021-03-04 13:41:07 -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
6215137ed5
Merge remote-tracking branch 'origin/ted/ordered-map-fix' into release/next-sys 2021-03-03 18:20:33 -08:00
Philip Monk
6e3d1680a7
Merge remote-tracking branch 'origin/master' into release/next-sys 2021-03-03 17:54:57 -08:00
Philip Monk
413413b70c
zuse: traverse always delete 2021-02-26 21:03:20 -08:00
Philip Monk
5ac70ec974
ames: reset num-live to actual number of live packets 2021-02-26 20:53:27 -08:00
Ted Blackman
4c190eb2e9 zuse: ordered-map minor cleanup 2021-02-26 22:39:41 -05:00
Ted Blackman
ccc704b22e zuse: remove unused +nup:ordered-map 2021-02-26 22:38:04 -05:00
Ted Blackman
fcbb70de9e zuse: actually fix ordered-map +traverse this time 2021-02-26 22:37:11 -05:00
Ted Blackman
2442f9bb93 zuse: fix ordered-map delete many 2021-02-26 21:42:22 -05:00
Ted Blackman
04ea4c78b2
ames: +on-hear-shut remove dead code 2021-02-26 16:55:26 +10:00
Ted Blackman
ccea39f865
ames: fix comet handshake 2021-02-26 16:55:24 +10:00
Ted Blackman
9636b889aa clay: speed up +checkout-changes 2021-02-24 14:43:35 -05:00
Ted Blackman
0452eb92f2 Merge branch 'release/next-sys' into HEAD 2021-02-24 13:26:51 -05:00
Ted Blackman
ce61d49ef9 clay: fix |mass; some renaming 2021-02-24 12:59:13 -05:00
Ted Blackman
19bf227428 clay: remove debug artifacts 2021-02-24 12:44:08 -05:00
Ted Blackman
d447e70b09 clay: fix /% parser; clean up unit tests 2021-02-24 12:18:50 -05:00
Jōshin
92a0b5eadf zuse: simplify +di/du:dejs:format 2021-02-23 19:46:21 +00:00
Jōshin
9e69892631 zuse: time conversion fixes
State before: in chrono:userlib, there were second-resolution
@da-to-unix and unix-to-@da functions. In en/dejs:format, there were
millisecond-resolution @da-to-unix and unix-to-@da functions. The
@da-to-unix path in time:enjs confusingly rounded to the nearest
millisecond, meaning millisecond n was a label for [n-0.5, n+0.5) rather
than [n, n+1).

This adds a millisecond-resolution @da-to-unix and unix-to-@da to
chrono:userlib, and a second-resolution conversion to en/dejs:format.
It makes use of the chrono:userlib functions in en/dejs, and doesn't do
any rounding.

Backwards-incompatible changes:

- made unt:chrono:userlib take a @da rather than @.
2021-02-23 19:46:21 +00:00
Ted Blackman
9bf6c6136a clay: fix mark +grad delegation bug 2021-02-22 14:35:57 -05:00
Ted Blackman
674b5edb1f Merge branch 'release/next-sys' into ted/gall-q 2021-02-19 13:42:58 -05:00
fang
a3acc70384
Merge branch 'master' into release/next-sys 2021-02-19 19:31:24 +01:00
Ted Blackman
eb56fbd3f4 ames: shorten error printing; update pill 2021-02-19 11:54:34 -05:00
Ted Blackman
d317a0847b gall: crash properly on failed %boon from ames 2021-02-18 21:51:44 -05:00
Ted Blackman
b702505ac8 clay: print if +read-at-aeon crashes 2021-02-18 21:50:59 -05:00
Ted Blackman
473a520b27 ames: more informative printing 2021-02-18 21:47:02 -05:00
Ted Blackman
22295f08fb gall: fix request queue desynchronization bug 2021-02-17 17:57:44 -05:00
Ted Blackman
ad20ddb1d4 clay: added mark runes; can boot off solid pill 2021-02-17 14:31:20 -05:00
fang
353e0f7395 clay: condense +pile-rule
Rewrites the `+pile-rule` parsing rule for compactness and legibility.
This is a purely stylistic change.
2021-01-27 12:17:40 -05:00
Ted Blackman
ca1585c841 clay: static clay boots 2021-01-26 22:51:52 -05:00
Ted Blackman
ce9f1eb3da clay: fix +grow in mark casting 2021-01-26 20:43:23 -05:00
Ted Blackman
6be1ebc41a clay,lull: +test-mar-mime passes 2021-01-26 15:59:36 -05:00
Ted Blackman
6234b56ac1 ames: cache message +jam in +on-memo 2021-01-20 15:29:45 -05:00
Ted Blackman
f469dbf8bc clay,lull: compiles with static marks 2021-01-13 15:20:58 -05:00
Ted Blackman
ece8bbf0a2 clay: WIP static mark and cast builds 2021-01-12 19:10:11 -05:00
fang
1b1b613729
clay: condense +pile-rule
Rewrites the `+pile-rule` parsing rule for compactness and legibility.
This is a purely stylistic change.
2020-12-24 13:03:56 +01:00
Philip Monk
e0dfbc8083
gall: fix huck wires 2020-12-18 16:28:43 -08:00
Philip Monk
548e2dcea8
gall: don't molt on vega
We can't molt until clay has gotten its pork or else we'll build the old
app against the new kernel.  This ignores vegas, since we should get a
notification from clay on /sys/lyv.
2020-12-18 15:33:58 -08:00
Philip Monk
a5993cc3e7
Merge remote-tracking branch 'origin/release/next-hoon' into release/next-sys 2020-12-18 12:43:07 -08:00
Philip Monk
e03030b80c
Merge pull request #4136 from urbit/m/redo-hint
hoon: add jet hint for +redo
2020-12-18 12:42:12 -08:00
Philip Monk
65d477b0fc
Merge pull request #4184 from urbit/philip/jael-order
jael: fix breach notification ordering
2020-12-17 16:24:38 -08:00
Philip Monk
c824284764
Merge pull request #4143 from urbit/philip/ames
ames: Fix stuck flows caused by %strange-current
2020-12-17 16:23:59 -08:00
Philip Monk
41a2ed084e
jael: fix breach notification ordering
When we changed wires from /a/foo to /ames/foo, our sorting function
started sorting by last character instead of first character, so breach
notifications were given to gall before ames.  This made gall try to
resubscribe before ames cleared its state, so the message would be lost.

Fixes #4177
2020-12-17 15:19:06 -08:00
Logan Allen
0341814c54 zuse: add backward tap (+bap) to +ordered-map 2020-12-16 12:57:05 -06:00
Joe Bryan
6678e7313b hoon: crash with valid tank on %eror 2020-12-15 18:22:51 -08:00
Philip Monk
e5d4230f6b
ames: print on crashing %done
This is guaranteed to produce a stuck flow if the error isn't transient,
so this will be good info to get.
2020-12-11 16:49:55 -08:00
Philip Monk
175ce28bb7
ames: tag verb printfs 2020-12-11 16:45:13 -08:00
Philip Monk
595efabf6c
ames: recover from %strange-current 2020-12-11 16:43:13 -08:00
fang
0ef30e0360
hoon: add jet hint for +redo 2020-12-11 21:58:19 +01:00
fang
80a5b22ab1
jael: account for step in deriving code
This had regressed during some breach-related merge. Multiple commits/branches
had touched this codepath recently, eating the code step change introduced in
#3217.

Fixes #4126.
2020-12-11 12:37:56 +01:00
Joe Bryan
4f79777e0b hoon: reverts to 3e577d4ae7 2020-12-08 16:26:11 -08:00
Joe Bryan
4b5f6ce1f4 arvo: time goes sideways 2020-12-08 14:49:28 -08:00
Joe Bryan
a7c82f949c
Merge pull request #4099 from urbit/philip/moons
jael: deconstruct wires accurately
2020-12-08 04:44:22 -08:00
Philip Monk
b90aa79891
jael: deconstruct wires accurately 2020-12-08 04:05:36 -08:00
Joe Bryan
2b8d83e255 ames: remove "larva: drain" printf (too noisy) 2020-12-08 03:32:29 -08:00
Joe Bryan
fd707761f8 zuse: moves lib/base64 2020-12-08 02:36:11 -08:00
Joe Bryan
1e728aa52b arvo: enables %wyrd kelvin stack sanity check 2020-12-08 01:59:28 -08:00
Joe Bryan
a08ad2306f arvo: restores previous +load compilation 2020-12-08 00:26:35 -08:00
Joe Bryan
563c2d4c06 hoon: restrict trap subject in +swat 2020-12-07 23:51:10 -08:00
Joe Bryan
c807769b9e hoon: removes +ride printfs 2020-12-07 23:27:31 -08:00
Joe Bryan
fb403bf080 hoon: removes obsolete compiler hooks 2020-12-07 23:27:25 -08:00
Joe Bryan
3e577d4ae7 arvo: kelvins 2020-12-07 22:56:01 -08:00
Joe Bryan
c2fb9cfd5c arvo: cleans up upgrade implemenation 2020-12-07 22:50:00 -08:00
Joe Bryan
2cf29af98c arvo: moves formal interface gate to the end 2020-12-07 19:35:31 -08:00
Joe Bryan
46a65d16df %lull: in fact 2020-12-07 19:31:13 -08:00
Joe Bryan
37a24bb800 clay: build %zuse against %lull 2020-12-07 19:24:34 -08:00
Joe Bryan
aaf506ce8a Merge branch 'jb/motion' into jb/motion-merge
* jb/motion:
  pill: solid
  zuse: remove %crud from vane-task
  arvo: full vane names in $sign
  aqua: build again (still broken)
  arvo: reform of the scry reform
2020-12-07 18:52:51 -08:00
Joe Bryan
5dd3e148b8 zuse: remove %crud from vane-task 2020-12-07 18:01:48 -08:00
fang
d98c59e73a
zuse: lift moves out of +able 2020-12-08 01:47:06 +01:00
Joe Bryan
17736990ed arvo: full vane names in $sign 2020-12-07 16:30:22 -08:00
Joe Bryan
98f2b8c6b3 arvo: reform of the scry reform 2020-12-07 13:52:12 -08:00
fang
eab88170e2
Merge branch 'jb/motion' into m/de-thereum 2020-12-07 13:42:00 +01:00
Joe Bryan
115d4f9ac8 arvo: removes $monk 2020-12-07 00:42:09 -08: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
358ed5f7a1 arvo: time advances 2020-12-07 00:11:09 -08:00
Joe Bryan
71ecdc60fc arvo: interface 2020-12-06 23:10:58 -08:00
Joe Bryan
ea06fbed59 arvo: pill reform 2020-12-06 20:53:14 -08:00
Joe Bryan
a08e196a95 hoon: avoid "fund: in/by" jet printfs by tweaking +map/+set/+qeu 2020-12-06 17:14:04 -08:00
Joe Bryan
fcf7e32de4 arvo: remove $hoof 2020-12-06 17:11:38 -08:00
Joe Bryan
48535b7f11 arvo: removes +slix, moves +slid and +slur 2020-12-06 17:10:02 -08:00
fang
25a55c0f63
various: ethereum, azimuth, json-rpc out of zuse
Moves them into files in /lib, and updates dependents accordingly.
2020-12-06 17:26:52 +01:00
Joe Bryan
fb4000b3f0 arvo: adds %wyrd event validation (disabled)
and switches runtime version to $path
2020-12-06 03:33:43 -08:00
Joe Bryan
ff06ccd2b9 arvo: completes scry reform 2020-12-06 03:33:43 -08:00
Joe Bryan
8cb75a8d3a %zuse: remove vestigial parts of legacy %init system 2020-12-06 03:33:44 -08:00
Joe Bryan
205c9a8620 zuse: removes en/de-beam (now in arvo) 2020-12-06 03:33:43 -08:00
Joe Bryan
5bc6d38437 arvo: updates vane interface 2020-12-06 03:33:43 -08:00
Joe Bryan
91e26ecc62 ford: gone 2020-12-06 03:33:43 -08:00
Joe Bryan
fb3d8bde72 %eyre: avoid +sloy when scrying for +code 2020-12-06 03:33:43 -08:00
Philip Monk
4b8be294b2
ames: don't crash on forward-lane scry 2020-12-05 20:02:31 -08:00
Joe Bryan
2c6b1cab44 arvo: removes +sloy-light, updates call sites (%clay, %dill) 2020-12-05 18:45:50 -08:00
Joe Bryan
07b0cb4ca2 arvo: fixes vane-abbreviation handling in +peek:le 2020-12-05 18:22:57 -08:00
Philip Monk
8103a6423c
jael: cleanup per review 2020-12-05 15:17:37 -08:00
Joe Bryan
a5861a1349 hoon: moves |wa and $worm to arvo 2020-12-05 02:32:54 -08:00
Joe Bryan
5a26613a76 arvo: persist vanes by full name, not abbreviation 2020-12-05 00:51:49 -08:00
Joe Bryan
958bb5acf7 arvo: removes +is and all references to it 2020-12-05 00:51:49 -08:00
Joe Bryan
0f0c2a6ffb zuse: moves |dawn to lib/vere, rewrites +ivory 2020-12-05 00:51:49 -08:00
Joe Bryan
ec7e23ab29 arvo: refactors internal module compilation 2020-12-05 00:51:49 -08:00
Joe Bryan
d8a6c5e387 hoon: use +mole to virtualize +cue in |so 2020-12-05 00:51:49 -08:00
Philip Monk
e5be584337
Merge remote-tracking branch 'origin/na-release/candidate' into philip/testnet 2020-12-04 23:51:42 -08:00
Philip Monk
b9fe6af976
jael: don't signal breach if first hearing of ship
When you first boot, if you try talk to someone before your azimuth is
up-to-date (for example by import), then if they've ever breached
(twice) then you'll get breach notification, cancelling your message.

This changes is it so that if we haven't heard anything about this ship,
we don't signal a breach.

The implementation complexity is primarily because we need
eth-watcher/azimuth-tracker to produce an update of a list instead of a
list of updates.  This way, Jael can keep a "state as of the beginning
of this move" variable to check when deciding whether to signal a
breach.
2020-12-04 23:08:47 -08:00
Joe Bryan
3a42c36298 hoon: adds +swat: deferred +slap 2020-12-04 22:46:02 -08:00
Joe Bryan
1e3378a7f5 hoon: fixes logic bug in date printer (truncation) 2020-12-04 21:38:39 -08:00
Philip Monk
0de3e76055
glob: update to 0v6.cmrce.5ass7.5gfqi.7c8cg.mdo7n 2020-12-04 17:59:15 -08:00
Joe Bryan
5e2b197633
Merge pull request #4072 from urbit/jb/moar-what
arvo: embrace filesystem, add %lull
2020-12-04 00:20:20 -08:00
Philip Monk
ed6c20a7a6
Revert "zuse: change to ropsten"
This reverts commit d15d5ba175.
2020-12-03 17:37:18 -08:00
matildepark
a92dd9e39b
Merge pull request #4069 from tylershuster/logindigo
login: translate to indigo
2020-12-03 20:02:17 -05:00
Tyler Brown Cifu Shuster
7584b4d33c eyre: translate login to indigo
fixes https://github.com/urbit/landscape/issues/154
2020-12-03 16:27:25 -08:00
Joe Bryan
81b868a364 clay: scry kernel source out of arvo for reef short-circuit 2020-12-03 16:25:44 -08:00
Joe Bryan
cea0db4670 arvo: fills out scry interface 2020-12-03 15:32:36 -08:00
Joe Bryan
83bd3943a8 arvo: adds %lull, vane structures 2020-12-03 15:32:36 -08:00
Joe Bryan
862fa14823 arvo: removes $curd, moves $card and $ovum to top level 2020-12-03 15:32:36 -08:00
Joe Bryan
a773ff408d arvo: updates %dill to %pass %verb/%whey, removes %give to arvo 2020-12-03 15:32:36 -08:00
Joe Bryan
0cc8c450a8 arvo: removes %lyra and %veer 2020-12-03 15:32:36 -08:00
Joe Bryan
84bec6f7c1 clay: %pass's %home commits to arvo as %what, unconditionally 2020-12-03 15:31:41 -08:00
Joe Bryan
dce11f6f7a
Merge pull request #4049 from urbit/jb/atom-gates
hoon: +rep/+rip reform, atom gate additions
2020-12-03 15:26:45 -08:00
Joe Bryan
9da45fd5fa Merge branch 'release/next-vere' into na-release/candidate
* release/next-vere:
  vere/aes_siv: check claimed length for all key sizes
  vere: fix -Z refcounts
  vere: remove -o in favor of manual -X
  vere: clean up refcounts, debug printf
  vere: replace -O with more generic -Z
  vere: add -O for exporting keyfile
  jael: add %vile scry endpoint for current keyfile
  vere/aes_siv: check claimed length
2020-12-03 15:25:08 -08:00
Joe Bryan
5111831a03 ames: use +rep to assemble message fragments 2020-12-03 14:26:55 -08:00
Joe Bryan
9bb790e3e9 ames: updates +end, +lsh, and +rsh call sites 2020-12-03 14:25:31 -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
Joe Bryan
ce053facd5
Merge pull request #4051 from urbit/ted/ames-flat-revised
Ames flat packet format
2020-12-03 14:12:56 -08:00
fang
467a90bc3e
Merge branch '24bit-colors' into m/klr-24 2020-12-02 17:24:55 +01:00
Joe Bryan
fa0680d201 hoon: updates +rap comment, removes jet-match hack 2020-12-02 01:21:55 -08:00
Joe Bryan
0e3941f146 hoon: updates +fil to bloq-truncate the repeated atom 2020-12-02 01:20:49 -08:00
Joe Bryan
b5ec0c30f0 hoon: renames +new-end, +new-lsh, +new-rsh 2020-12-02 01:00:09 -08:00
Joe Bryan
9e713a5e10 hoon: removes +end, +lsh, and +rsh 2020-12-02 01:00:09 -08:00
Joe Bryan
bec63413b0 hoon: adds +new-rsh, switches all +rsh call sites 2020-12-02 00:21:51 -08:00
Joe Bryan
089852e948 hoon: adds +new-lsh, switches all +lsh call sites 2020-12-02 00:21:38 -08:00
Joe Bryan
4f9cba2baf hoon: adds +new-end, switches all +end call sites 2020-12-02 00:21:12 -08:00
Joe Bryan
181b1fbdb6 hoon: (and %zuse) use +run and +rut where appropriate 2020-12-01 18:26:18 -08:00
Joe Bryan
3f71826d6b hoon: adds atom map gates +run and +rut 2020-12-01 18:19:07 -08:00
Joe Bryan
12bf28e2c8 hoon: adds +sew, inverse of +cut 2020-12-01 18:15:26 -08:00
Joe Bryan
0420dad443 hoon: removes +repn and +ripn 2020-12-01 18:11:59 -08:00
Joe Bryan
b27806769e hoon: updates +rep and +rip to take a $bite 2020-12-01 17:52:43 -08:00
Joe Bryan
9bfc0e6492 hoon: adds $bite for atom slice specifiers 2020-12-01 17:14:10 -08:00
Joe Bryan
7a08067cf1 hoon: adds $step for bloq-sized atom offsets 2020-12-01 16:51:14 -08:00
Ted Blackman
c7b8ffbf4e ames: flat packet format 2020-12-01 09:51:14 -05: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
409579398c Merge branch 'philip/clay-version' into m/modern-hoon
* philip/clay-version:
  jael: add version numbers
  gall: add version to over-the-wire protocol
  clay: cleanup protocol versions
2020-11-30 20:54:22 -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
Philip Monk
7e4d1a0a8b
jael: add version numbers
All over-the-wire requests should have version numbers.  This adds them
to Jael's +message.
2020-11-30 20:48:01 -08:00
Philip Monk
55de9ab0a9
gall: add version to over-the-wire protocol
All over-the-wire requests should have version numbers.  This adds them
to gall's +ames-request.
2020-11-30 20:12:43 -08:00
Joe Bryan
17f95c0cb6 Merge branch 'm/remove-ketcen' into m/modern-hoon
* m/remove-ketcen:
  u3: removes .fab from |ut hooks
  hoon: patch up +ax callsites
  u3: WIP removes fab:ut
  hoon: WIP remove fab:ut
  hoon: remove ^%
2020-11-30 20:08:17 -08:00
Philip Monk
350521853b
clay: cleanup protocol versions
+riff-any is all clay requests except "backfill" requests.  Change to
`$%` from `$^`, which was used to distinguish originally non-versioned
requests.

+fill is backfill requests and had no version number, so we add one.

We do not have version numbers on responses since those are implied by
the request.  If someone requests at version `n` and you're at `n+1`,
you must respond in the format of `n`.

If someone requests at version `n+1` and you're at `n`, you crash;
though possibly you should be able to respond with message "I only know
up to `n`", in which case they may be able to re-request at `n`.  In
either case, the version of the response is dictated by the request.
2020-11-30 19:25:12 -08:00
fang
d7c740b32a
jael: add %vile scry endpoint for current keyfile 2020-11-30 22:35:22 +01:00
fang
122123c11a
ames: remove old state versions & conversions 2020-11-27 13:55:21 +01:00
fang
732addadd3
various: touch up improperly rewritten comments
Also patches /mar/snip to be more correct, but a &snip [~ ~] in dojo
still does not work.
2020-11-27 13:25:40 +01:00
fang
eef09dd63b
hoon: remove deprecated character parsers 2020-11-26 17:43:54 +01:00
fang
8e57961183
hoon: remove {type} syntax 2020-11-26 17:43:42 +01: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
ebe0feed50
hoon: remove face/type syntax 2020-11-26 17:38:20 +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
2545282d5e
hoon: remove $constant type syntax 2020-11-26 17:31:23 +01:00
fang
a6e7af38d5
various: move away from $constant type syntax 2020-11-26 17:31:06 +01:00
fang
194e8ae440
hoon: remove += and +- arm syntax 2020-11-26 17:27:30 +01:00
Joe Bryan
76451b54a3 Merge branch 'jb/re-mug-pre' into jb/candidate
* jb/re-mug-pre:
  arvo: temporary, build +brass out of /not-sys
  hoon: switches to new +mug
  u3: adds new +mug (as u3r_gum_*)
  hoon: adds new +mug (as +gum)
  u3: updates +muk to truncate seed and removes spurious assertion
  hoon: updates +muk to truncate seed and removes spurious assertion
2020-11-26 01:20:28 -08:00
Joe Bryan
cd3918b852 hoon: switches to new +mug 2020-11-26 00:32:52 -08:00
Joe Bryan
fc30df7401 hoon: adds new +mug (as +gum) 2020-11-26 00:31:25 -08:00
Joe Bryan
f8b2beae32 arvo: adds some more explicit stack frames 2020-11-25 23:34:44 -08:00
Joe Bryan
aba8bdc989 arvo: moves tasks to top-level, restructures state 2020-11-25 23:34:39 -08:00
Joe Bryan
b8974d5338 arvo: improves faces in vane install/upgrade 2020-11-25 19:03:05 -08:00
Joe Bryan
4d5f1388f4 arvo: fix hoon source reference in +boot re-compilation 2020-11-25 18:57:41 -08:00
Joe Bryan
e1dbd37b5c arvo: remove old-style event routing 2020-11-25 16:48:44 -08:00
Joe Bryan
eaa77fae3e arvo: require both hoon and arvo in initial larval filesystem 2020-11-25 16:02:27 -08:00
Joe Bryan
e85f00f46b arvo: only allow a single %whom 2020-11-25 16:02:27 -08:00
Joe Bryan
f95e1f48c2 arvo: scry reform 2020-11-25 16:02:10 -08:00
Philip Monk
7259b2c121
gall: rename fading styles 2020-11-25 14:46:33 -08:00
fang
ad8367974b arvo: allow %$ care in +sloy
Similar to the fix made for desk in f714d90, now that we actually want to do so.
2020-11-25 10:55:11 -08:00
Joe Bryan
788f8532fe Merge branch 'na-release/candidate' into jb/wyrd
* na-release/candidate: (461 commits)
  pill: update
  zuse: make octs value @ again
  zuse, clay, various: unflop the spur in beams
  hoon: add +snip and +rear
  arvo: unflop the spur in scry
  tests: checks bip32 for xpub/xprv/pif/address
  bip32: adds network option for bitcoin addresses
  bip32: adds network type option for xpub/priv
  pill: all
  pill: change to ropsten
  zuse: change to ropsten
  pill: all
  u3: fix accidental neologism in comments
  pill: solid
  pill: solid
  nix: trims trailing whitespace from solid pill builder
  hoon: adds $cord to $tank
  zuse: modernizes syntax of top-level structures
  zuse: removes obselete structures $ares, $coop, and $disc
  hoon: moves $json and styled-text molds back to %zuse
  ...
2020-11-25 10:54:53 -08:00
fang
7956adedee
vanes: remove old load types and logic
Maintains state version numbers to avoid tripping up migration tools.
2020-11-25 16:24:16 +01:00
Joe Bryan
e2a33eee8d hoon: updates +muk to truncate seed and removes spurious assertion 2020-11-25 00:43:34 -08:00
fang
3ff083e9db
hoon: patch up +ax callsites
Some were still passing in a value for fab, which is no longer used.
2020-11-24 21:12:43 +01:00
Joe Bryan
a2abf1c992 arvo: moves |de out of +node, renames +node to +axal 2020-11-24 11:34:44 -08:00
Joe Bryan
6f0b7f120b arvo: refines version negotation, requires filesystem to molt 2020-11-24 11:34:40 -08:00
fang
38d85876d6
zuse: make octs value @ again
eaa69ec had reverted the change from c46061e.
2020-11-24 16:14:19 +01:00
fang
27d6fc7597
zuse, clay, various: unflop the spur in beams
Unflops the spur in +en-beam, +de-beam, and everything that calls either
of those, or works with the consequences of their output.

This includes clay's interface for mounting and unmounting, which now
no longer expects the arguments to contain an old-style spur.
2020-11-24 15:44:25 +01:00
fang
79f698c3a9
hoon: add +snip and +rear
Helper functions for dealing with the ends of lists.
2020-11-24 15:41:36 +01:00
fang
fb97528fd4
arvo: unflop the spur in scry
No longer use reversed paths in sley-style peek handling.
2020-11-24 15:41:35 +01:00
Joe Bryan
1a0b082de2 hoon: WIP remove fab:ut 2020-11-24 00:20:10 -08:00
Fang
1d644dc470 hoon: remove ^%
It's completely unused.
2020-11-24 00:05:44 -08:00
Joe Bryan
d6e5b19b3d Merge branch 'na-release/candidate' into jb/no-wrap-tank
* na-release/candidate: (31 commits)
  pill: change to ropsten
  zuse: change to ropsten
  pill: all
  u3: fix accidental neologism in comments
  pill: solid
  u3: refactors dynamic hint bytecodes, documents protocol
  u3: adds dynamic hint bytecodes and implementation
  u3: moves _n_swap() next to other stack ops
  u3: adds ghetto +mook replacement
  u3: moves |ut battery to the rightmost cache key position
  u3: adds |ut battery to jet cache keys
  pill: solid
  pill: solid.pill
  hoon: bscl to bccl, etc
  pill: solid
  hoon: modernizes syntax in the rest of |co
  hoon: updates @p rendering to avoid intermediate right-shifts
  hoon: refactors @da/@dr coin printing
  hoon: comments, modernizes syntax for all +*-co:co gates
  hoon: refactors +r-co:co, modernizing syntax
  ...
2020-11-23 23:15:12 -08:00
Joe Bryan
036b2de7f2 zuse: change to ropsten 2020-11-23 22:42:56 -08:00
Joe Bryan
2b89f7cb88 Merge branches 'na-release/secp', 'na-release/runes' and 'jb/co-norm' into na-release/next-vere
* na-release/secp:
  update solid pill
  fix secp test (new-secp staging name is gone)
  hoon: ensure lib/bip32 is working with new secp, remove old secp
  vere: wire up jets for new secp
  zuse: make it clear where the secp jet should make explicit size checks
  update solid pill
  zuse: add refactored secp core (unjetted)

* na-release/runes:
  pill: solid
  pill: solid.pill
  hoon: bscl to bccl, etc

* jb/co-norm:
  pill: solid
  pill: solid
  hoon: modernizes syntax in the rest of |co
  hoon: updates @p rendering to avoid intermediate right-shifts
  hoon: refactors @da/@dr coin printing
  hoon: comments, modernizes syntax for all +*-co:co gates
  hoon: refactors +r-co:co, modernizing syntax
  hoon: comments, modernizes syntax for all +**-co gates
  hoon: refactors +ro-co:co, modernizing syntax
  hoon: use +pow instead of handrolled loop in +ox-co:co
  hoon: use +dvr instead of +div/+mod in |co helpers
2020-11-23 15:32:44 -08:00
Joe Bryan
73e61b94d9 Merge branch 'na-release/next-vere' into na-release/secp
* na-release/next-vere: (1459 commits)
  u3: fix accidental neologism in comments
  nix: run tests against the latest arvo source
  test: fixes +to-wain (no more trailing empty lines)
  pill: solid
  u3: refactors dynamic hint bytecodes, documents protocol
  u3: adds dynamic hint bytecodes and implementation
  u3: moves _n_swap() next to other stack ops
  u3: adds ghetto +mook replacement
  u3: moves |ut battery to the rightmost cache key position
  u3: adds |ut battery to jet cache keys
  build: update gcloud to use non-deprecated action
  pill: solid
  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
  ...
2020-11-23 15:31:18 -08:00
Joe Bryan
818490fea8 arvo: moves (placeholder) kelvin to an arm 2020-11-21 13:51:24 -08:00
Joe Bryan
b114b0f1c1 arvo: filesystem 2020-11-21 13:51:20 -08:00
Joe Bryan
d3e28f5e54 Merge branch 'na-release/next-vere' into jb/co-norm
* na-release/next-vere: (1601 commits)
  nix: run tests against the latest arvo source
  test: fixes +to-wain (no more trailing empty lines)
  pill: solid
  build: update gcloud to use non-deprecated action
  pill: solid
  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
  ...
2020-11-20 15:39:46 -08:00
Joe Bryan
a6a421608a hoon: adds $cord to $tank 2020-11-20 15:23:56 -08:00
Joe Bryan
eaa69ec27a zuse: modernizes syntax of top-level structures 2020-11-20 15:23:56 -08:00
Joe Bryan
947742ff73 zuse: removes obselete structures $ares, $coop, and $disc 2020-11-20 15:23:56 -08:00
Joe Bryan
374f93d812 hoon: moves $json and styled-text molds back to %zuse 2020-11-20 15:23:56 -08:00
Joe Bryan
f6f7d2fab4 hoon: modernizes $tank and surrounding declarations 2020-11-20 15:23:56 -08:00
Joe Bryan
fb66dc10b5 hoon: moves xray traversals to userspace 2020-11-20 15:23:56 -08:00
Joe Bryan
b1e3b0def2 hoon: moves $xray into userspace 2020-11-20 15:23:56 -08:00
Joe Bryan
aea0f571d7 hoon: moves $plum and +plume to userspace 2020-11-20 15:23:56 -08:00
Joe Bryan
25cea09fd1 hoon: refactors |re for clarity 2020-11-20 15:23:55 -08:00
Joe Bryan
c9db96382a hoon: removes $plum from $tank 2020-11-20 15:23:55 -08:00
Joe Bryan
5f160a233e hoon: removes utf32 hacks and \/ windowing from |re
a tape is just a list of utf8 bytes, it's never save to split one
at an arbitrary position. this is exactly what \/ windowing did,
so i had hacked in to/from utf32 conversions to prevent splitting
multi-byte characters. that is dumb and slow, so it's now gone.
2020-11-20 15:23:55 -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
e1186950bc Merge branch 'na-release/next-vere' into na-release/runes
* na-release/next-vere: (943 commits)
  pill: solid
  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
  ...
2020-11-19 14:22:00 -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
99fb6bb4e8
gall: add nonce to agent wires
Give each agent a nonce so that when you delete an agent, any
outstanding responses don't go to a later app of the same name.
2020-11-18 20:12:29 -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
08ebacd430
Merge branch 'pr' into release/next-sys 2020-11-17 19:00:09 -08:00
Philip Monk
d48e296f4f
Merge pull request #3525 from urbit/jb/restage-to-wain
arvo: accept embedded nulls in to-wain:format
2020-11-17 18:33:41 -08:00
Philip Monk
e8e970d0ea
Merge pull request #3812 from urbit/ted/no-impostor-comets
no more impostor comets
2020-11-17 18:29:46 -08:00
Joe Bryan
79633c3559 arvo: adds (no-op) version negotiation 2020-11-17 15:09:35 -08:00
Joe Bryan
5ecc184638 arvo: refines arvo internal ($waif) and external ($wasp) effects 2020-11-17 15:09:35 -08:00
Joe Bryan
17ae2572a8 arvo: disables old event/effect routing regime 2020-11-17 15:09:35 -08:00
Joe Bryan
8f66508d63 arvo: moves arvo state management into |le
and sketches out new event/effect routing
2020-11-17 15:07:40 -08:00
Philip Monk
a7cc18072a
gall: add %doze-style fade 2020-11-17 12:53:05 -08:00
John Franklin
11f8ba23d7 hoon: bscl to bccl, etc 2020-11-17 01:05:17 -06:00
John Franklin
756c94aeb6 hoon: update glyph names (continued) 2020-11-14 23:08:52 -06:00
Joe Bryan
d729746c38 arvo: reforms state and upgrade structures 2020-11-13 12:51:48 -08:00
Joe Bryan
bac545e23c Merge branch 'release/next-vere' into na-release/next-vere
* release/next-vere: (1369 commits)
  nix: fixes `shellFor` nix-shell helper
  vere: print error and exit if stdin is not a tty
  build: silence service account activation output
  build: minor refactoring of haskell-nix overlays
  build: move darwin install_name_tool fixup from vere to king haskell
  u3: fixes incorrect double ref-counting in |ff jets
  u3: removes unused `Exit` variable
  u3: removes obsolete bail:need assertion
  u3: refactors fatal exception handling in u3m_bail()
  build: remove {sha256,md5} output for push-storage-object effects
  build: add log message when destination object already exists
  build: force google-cloud-sdk to use python3
  build: adding support for hercules ci effects
  build: remove push-to-storage for ivory, brass, and solid pills
  pill: rebuild solid pill with %lens included in lite boot apps
  arvo: run %lens when lite boot (-l) is specified
  build: expose configurable arguments when booting/testing fake ships
  build: ensure urbit tests are run with the -g argument
  vere: ensure debug symbols aren't stripped by default (by nix)
  build: remove from-scratch ropsten pill builds on ci
  ...
2020-11-11 18:03:01 -08:00
fang
3ca993df07
eyre: clog exclusively for %facts
Eyre's clog logic was a tad inconsistent about "only facts" vs "not poke-acks".
This makes it consistently say "only facts" when it comes to clog-related logic.
Yes, in theory this means %watch-acks and %kicks can build up endlessly, but
those should take up negligible space compared to %facts.

Should fix any oddball cases of crashes here that #3835 didn't already catch.
2020-11-10 22:06:28 +01:00
fang
9cd9448bcd
dill: remove ducts from %view and %flee interface
This was a little bit too crummy. Instead, we put in a placeholder of ~,
which should be forwards-compatible with atomic session identifiers,
where ~ identifies the default session.

Additionally touches up the herm wires/paths to stick to the above more
closely.
2020-11-10 19:33:11 +01:00
Philip Monk
1c8d229fb7
gall: fade initial commit 2020-11-09 23:42:04 -08:00
fang
485a15c913
dill: add scry endpoints for current line & cursor
This will let connecting clients get the rendering-relevant parts of the
current state of the session on demand.
2020-11-05 20:13:03 +01:00
fang
83d46dae88
dill: fall back to default session
This lets us support the "random userspace app sending dill belts".
Ultimately, we'll want to be able to specify a session identifier
alongside the belt, instead of strictly relying on the duct.
2020-11-04 20:12:01 +01:00
fang
eb824f1866
dill: allow watching output of arbitrary sessions
Adds a %view task, which opens a subscription on the output sent to the
specified session. %flee closes the same.
Whenever dill sends a blit to the session, any subscribers get the
output also.

The structures here will become more reasonable once we replace ducts
with proper dill session identifiers.
2020-11-04 20:11:42 +01:00
fang
18494f8a9d
dill: if styled prompt has no style, emit as plain
People using older runtimes might not support the %klr blit. It's not
uncommon for prompts without style to get passed in as %pom though, so
here we catch that case and turn it into a %pro, which gets rendered as
a traditional %lin.
2020-11-04 17:28:05 +01:00
fang
b96e071eb2
Merge branch 'release/next-sys' into release/next-dill 2020-11-04 17:25:35 +01:00
fang
c992e4ce9d
eyre: forego <atom> in favor of (scow %aura atom)
Pretty-printing is expensive, yet we do it whenever we construct the cookie
string, at least once (but usually twice) per authenticated request.

Here we call out the the specific to-tape functions we need, instead of relying
on the pretty-printer for converting... tapes to tapes, among other things.  
The primary gains come from the cookie-related instances, we update the others
mostly for good style.

For the "receive request and immediately send response" case, that is processed
synchronously within eyre (ie, client sends channel ack), speeds thing up by
roughly 55%.
2020-11-04 01:02:11 +01:00
fang
37c0383a79
Merge pull request #3864 from urbit/m/ream-to-zapcom
clay: replace ream with nouns and !, zapcom
2020-11-03 21:55:49 +01:00
fang
acf0f8d0e1
clay: %limb instead of %wing 2020-11-03 16:35:28 +01:00
pkova
b114956870 zuse: improve url extension parsing
Previously extensions ending with numbers such as .woff2 were not recognized.
2020-11-03 15:54:10 +02:00
fang
e7afc51018
clay: replace ream with nouns and !, zapcom
Motivation for the change is performance improvements on the un-`^~`d uses of
ream. Parsing turns out to be slow, making ream slow in turn. So we construct
the hoon ast manually instead.

!, is arguably better style than ream, since it doesn't require a ^~ for static
input, and lets syntax highlighting function properly.

For the investigated case, in +get-cast's +grow flow, improves performance by
over 80%.
2020-11-03 00:27:10 +01:00
fang
a35cad457a
Merge pull request #3830 from urbit/m/respect-forwarded-more
eyre: respect protocol from Forwarded header
2020-10-31 00:38:41 +01:00
fang
f8a2235d6e
Merge pull request #3835 from urbit/m/silent-subs
eyre: ignore facts directly after clog
2020-10-29 22:13:04 +01:00
fang
f480ac736f
Revert "eyre: ignore facts directly after clog" 2020-10-29 22:09:35 +01:00
fang
42229657ca
eyre: respect protocol from Forwarded header
If the Forwarded header specifies the original connection is secure,
update the flag to reflect that, regardless of whether the connection
directly to the urbit was made securely.
2020-10-29 14:24:24 +01:00
fang
82dcad4c59
zuse: if empty, unpack header into empty list
Previously, would give a ~[{}] for the '' header. This makes it parse
that as "no entries" rather than "one entry without data".
2020-10-29 14:19:57 +01:00
Ted Blackman
56db7cdcda ames/zuse: require >64-bit comet addresses 2020-10-27 17:28:07 -04:00
Ted Blackman
fcf9cfbcdb ames/zuse: require >64-bit comet addresses 2020-10-27 17:20:25 -04:00
Philip Monk
f548deaff6
Merge pull request #3787 from urbit/philip/symbols
hoon: update glyph names
2020-10-26 18:06:53 -07:00
Joe Bryan
aa200cf25a
Merge pull request #3786 from urbit/jb/ames-peek-forward-lane
ames: updates forward-lane scry-handling to prevent routing loops
2020-10-26 11:56:23 -07:00
fang
93475aa756
eyre: remove fact-without-subscription printf 2020-10-26 15:52:39 +01:00
fang
828f88b737
Merge branch 'master' into release/next-vere 2020-10-26 14:54:06 +01:00
fang
26049a3da0
eyre: ignore facts directly after clog
When an application would send multiple facts during a single event, it
was possible for the first fact to trigger a clog, removing the
subscription and sending a quit, but then the second fact still getting
sent out at normal.

Here, we drop any facts for subscriptions we don't have registered in
state, which should only happen in the described case.
2020-10-24 11:45:21 +02:00
fang
b92cfdb242
eyre: produce moves in correct order
Because storing in reverse order means producing in reverse reverse
order.

The tests didn't catch this because they, too, were infected with the
"reverse moves" meme.
2020-10-24 01:48:51 +02:00
Philip Monk
fc15f0d735
Merge branch 'pr' into HEAD 2020-10-22 20:47:53 -07:00
Joe Bryan
da928bed10 ames: updates forward-lane scry-handling to match +send-blob 2020-10-22 17:37:46 -07:00
crides
ca023b6db0 hoon, dill: Add 24-bit true color
This commit adds 24bit true color capabilities to `sole-effect` for
those terminal supporting it (which most modern terminal does). It adds
a RGB type squashed into `$tint`, which will get converted to escape
sequences in `dill` for the moment.

As Urbit does not do `termcap` detection, this also does not attempt
that. But on terminals that doesn't support true color (e.g. linux
console), the color would be truncated to the nearest achievable
approximate.
2020-10-21 12:11:52 -05:00
Anton Dyudin
e8c5dd9806
[hoon co] Fix float printer overuse of scientific notation
I.e, print `.10` as `.10` not `.1e1`. Only use `e+-N` when it would be shorter.

Before:
```
> (turn (gulf 1 10) |=(a=@u (turn (gulf 0 9) |=(b=@u (grd:rs d/[& -5 (mul (pow 10 a) +((pow 10 b)))])))))
~[
  ~[.2e-3 .1.1e-3 .1.01e-2 .1.001e-1 .1.0001 .1.00001e1 .1.000001e2 .1.0000001e3 .1e4 .1e5]
  ~[.2e-2 .1.1e-2 .1.01e-1 .1.001 .1.0001e1 .1.00001e2 .1.000001e3 .1.0000001e4 .1e5 .1e6]
  ~[.2e-1 .1.1e-1 .1.01 .1.001e1 .1.0001e2 .1.00001e3 .1.000001e4 .1.0000001e5 .1e6 .1e7]
  ~[.2 .1.1 .1.01e1 .1.001e2 .1.0001e3 .1.00001e4 .1.000001e5 .1.0000001e6 .1e7 .1e8]
  ~[.2e1 .1.1e1 .1.01e2 .1.001e3 .1.0001e4 .1.00001e5 .1.000001e6 .1.0000001e7 .1e8 .1e9]
  ~[.2e2 .1.1e2 .1.01e3 .1.001e4 .1.0001e5 .1.00001e6 .1.000001e7 .1.0000001e8 .1e9 .1e10]
  ~[.2e3 .1.1e3 .1.01e4 .1.001e5 .1.0001e6 .1.00001e7 .1.00000096e8 .1.0000001e9 .1e10 .1e11]
  ~[.2e4 .1.1e4 .1.01e5 .1.001e6 .1.0001e7 .1.00001e8 .1.000001e9 .1.0000001e10 .1e11 .1e12]
  ~[.2e5 .1.1e5 .1.01e6 .1.001e7 .1.0001e8 .1.00001e9 .1.000001e10 .1.0000001e11 .1e12 .1e13]
  ~[.2e6 .1.1e6 .1.01e7 .1.001e8 .1.00009997e9 .1.00001e10 .1.000001e11 .1.0000001e12 .1e13 .1e14]
]
```

After:
```
> (turn (gulf 1 10) |=(a=@u (turn (gulf 0 9) |=(b=@u (grd:rs d/[& -5 (mul (pow 10 a) +((pow 10 b)))])))))
~[
  ~[.2e-4 .1.1e-3 .0.0101 .0.1001 .1.0001 .10.0001 .100.0001 .1000.0001 .1e4 .1e5]
  ~[.2e-3 .0.011 .0.101 .1.001 .10.001 .100.001 .1000.001 .10000.001 .1e5 .1e6]
  ~[.0.02 .0.11 .1.01 .10.01 .100.01 .1000.01 .10000.01 .100000.01 .1e6 .1e7]
  ~[.0.2 .1.1 .10.1 .100.1 .1000.1 .10000.1 .100000.1 .1000000.1 .1e7 .1e8]
  ~[.2 .11 .101 .1001 .10001 .100001 .1000001 .10000001 .1e8 .1e9]
  ~[.20 .110 .1010 .10010 .100010 .1000010 .10000010 .100000010 .1e9 .1e10]
  ~[.200 .1100 .10100 .100100 .1000100 .10000100 .100000096 .1000000100 .1e10 .1e11]
  ~[.2e3 .1.1e4 .1.01e5 .1.001e6 .1.0001e7 .1.00001e8 .1.000001e9 .1.0000001e10 .1e11 .1e12]
  ~[.2e4 .1.1e5 .1.01e6 .1.001e7 .1.0001e8 .1.00001e9 .1.000001e10 .1.0000001e11 .1e12 .1e13]
  ~[.2e5 .1.1e6 .1.01e7 .1.001e8 .1000099970 .1.00001e10 .1.000001e11 .1.0000001e12 .1e13 .1e14]
]
```
2020-10-19 11:05:31 -07:00
fang
5bebff3c38
eyre: kick subscriptions if fact conversion fails
This matches the behavior that gall uses for %watch-as subscriptions,
which eyre was using previously.
2020-10-19 19:17:58 +02:00
fang
1d4ee5a7b5
eyre: kick busy subscriptions if client not acking
In order to curb event queue growth when a client for whatever reason
isn't acking the events we send out, we implement a mechanism for
detecting such "clogging", and proactively kick subscriptions which are
adding too many events to the queue.

If the client hasn't sent an ack for ~s30, any subscription that accrues
more than 50 unacked %facts gets closed to prevent further buildup.

Upon reconnecting, the client will see %kick for the relevant
subscriptions and can open a new subscription as appropriate.

Includes a simple test for this behavior, and updates /app/dbug to be
able to display the newly tracked statistics.
2020-10-19 15:56:05 +02:00
fang
63b4fb3e19
eyre: simplify channel subscription storage
Instead of storing by "channel wire", store by request-id instead.
The channel wire was just the channel-id, request-id, and some cruft.
2020-10-19 00:48:18 +02:00
fang
7e5f29cfd2
eyre: convert facts to json manually
By doing a %watch instead of %watch-as %json for channel subscriptions,
we can hopefully make better use of noun deduplication, when storing
events in a channel's event queue until they get acked.
2020-10-18 16:31:35 +02:00
fang
8def1dbea8
eyre: store unacked events unserialized
Store the gall events from channel subscriptions as (vaseless) signs,
instead of serialized events. This should be smaller in memory, and
makes it more likely for noun deduplication to happen.

The cost is needing to reserialize upon channel reconnect, but this is
the less common case, and we don't expect it to be particularly slow.
2020-10-18 16:04:19 +02:00