Commit Graph

439 Commits

Author SHA1 Message Date
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
63ba2823dd
Merge remote-tracking branch 'origin/ted/clay-bunt' into release/next-sys 2021-05-18 07:38:52 -10:00
raghu
44722f3a09 fuse: properly report success 2021-05-11 21:30:44 -04: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
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
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
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
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
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
fang
7e2cc77ae0
clay: explicitly ask dill to print changelist
Instead of emitting a "debug message" gift and hoping dill picks it up
for printing.
2021-03-31 22:28:22 +02:00
Philip Monk
a1647a9767
clay, eyre: add profiling hints 2021-03-28 00:50:25 -07: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
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
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
Ted Blackman
b702505ac8 clay: print if +read-at-aeon crashes 2021-02-18 21:50:59 -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
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
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
Joe Bryan
5bc6d38437 arvo: updates vane interface 2020-12-06 03:33:43 -08:00
Joe Bryan
2c6b1cab44 arvo: removes +sloy-light, updates call sites (%clay, %dill) 2020-12-05 18:45:50 -08:00
Joe Bryan
958bb5acf7 arvo: removes +is and all references to it 2020-12-05 00:51:49 -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
83bd3943a8 arvo: adds %lull, vane structures 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
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
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
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
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
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
Joe Bryan
f95e1f48c2 arvo: scry reform 2020-11-25 16:02:10 -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
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
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
Philip Monk
1c8d229fb7
gall: fade initial commit 2020-11-09 23:42:04 -08:00
fang
acf0f8d0e1
clay: %limb instead of %wing 2020-11-03 16:35:28 +01: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
Philip Monk
8cd72daf20
clay: speed up +find-merge-points
In certain cases +find-merge-points was very slow.  Specifically, the
`done` set was meant to avoid checking the same commit repeatedly, but
it didn't catch the case where a commit was added to the worklist that
was already in that worklist.

Secondly, the worklist was stored as a list but used as a queue, which
resulted in a lot of unnecessary welding.  We change it to a qeu.

Fixes #3735
2020-10-16 11:21:02 -07:00
Joe Bryan
1402f763f3 clay: refactors +cancel-request, consistently accounting for TMI 2020-10-09 10:34:18 -07:00
Philip Monk
f9665c0cbd
Merge pull request #3378 from urbit/philip/base-hash
clay: expose mergebase as base-hash
2020-09-08 20:11:05 -07:00
Philip Monk
c7480c9b07
clay: fix bug in %mate
If both sides changed a file in the same way, %mate used the version in
the mergebase, which is incorrect.  This changes it to use the version
in the destination desk.

An example of this issue:

    > +cat %/test/hoon
    /~zod/home/~2020.9.3..21.41.24..61ed/test/hoon
    first

    > |merge %scratch our %home
    >=
    merged with strategy %fine
    + /~zod/scratch/2/test/hoon

    > +cat /=scratch=/test
    /~zod/scratch/~2020.9.3..21.41.32..408c/test/hoon
    first

    > *%/test/hoon 'second'
    : /~zod/home/3/test/hoon

    > *%%%/scratch=/test/hoon 'second'
    : /~zod/scratch/3/test/hoon

    > |merge %scratch our %home
    >=
    %fine merge failed, trying %meet
    %meet merge failed, trying %mate
    merged with strategy %mate
    : /~zod/scratch/4/test/hoon

    > +cat /=scratch=/test
    /~zod/scratch/~2020.9.3..21.42.25..9e8b/test/hoon
    first
2020-09-03 14:34:30 -07: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
Philip Monk
769b43d73a
clay: add comments and cleanup +find-merge-points 2020-08-26 18:32:20 -07:00
Philip Monk
9cd826f8f9
clay: make +find-merge-points faster
The main thing here is that we aggressively check whether we're in
ancestry of another mergebase candidate.  This means we don't have to do
a 2nd pass to eliminate redundant candidates.
2020-08-25 22:54:48 -07:00
Philip Monk
4468d79509
clay: expose mergebase as base-hash
Change the definition of base-hash to be the mergebase of %home with the
OTA source.  This means it's the most recent successfully-applied
update, which is usually the most important information.

Add sour-hash, which is the hash of the most recently *downloaded*
update, regardless of whether it applied successfuly (ie the old
base-hash).

Add a summary of the various hashes at the top of gen/trouble.
2020-08-25 20:25:39 -07:00
Philip Monk
f606d2e3d6
clay: cleaner no-op detection
Only no-op if the incoming commit's parent is the old head of the desk.
Also move the printing near the end so we can know exactly if anything
changed.
2020-08-25 18:15:06 -07:00
Philip Monk
d5596eb1a3
clay: if commit would be a no-op, don't commit it
fixes #3317
2020-08-25 16:24:36 -07:00
Philip Monk
3d1b7f2b35
clay: fix ph tests 2020-07-28 21:44:45 -07:00
Philip Monk
495a6cf004
clay: remove debugging printfs 2020-07-24 22:05:49 -07:00
Philip Monk
51983e5480
clay: rewrite new protocol
Use an explicit state machine to carefully manage pending downloads.
2020-07-24 00:20:22 -07:00
Philip Monk
553a9db843
clay: refactor over-the-wire protocol
Don't send blobs initially; instead, wait for the recipient to ask for
any they need.  This should significantly reduce network and memory usage.
2020-07-23 00:12:33 -07:00
Philip Monk
f4c34c7598
release: urbit-os-v1.0.29 2020-07-21 12:59:12 -07:00
Philip Monk
f4f1d0ab4b
clay: print conflicts 2020-06-30 15:24:42 -07:00
Philip Monk
e7e2c07d6f
clay: remove scaffolding 2020-06-29 14:30:33 -07:00
Philip Monk
40db8ea580
kiln: make otas continue even if they failed to apply 2020-06-29 13:25:10 -07:00
Ted Blackman
ede7105820 clay: flop syntax error trace 2020-06-29 11:01:23 -04:00
Philip Monk
42de999024
kiln: don't implicitly create syncs
Also silence some spurious errors.
2020-06-26 19:21:09 -07:00
Philip Monk
3a662881be
clay: don't be evil 2020-06-24 21:24:27 -07:00
Philip Monk
fc42bf6039
clay: special-case +run-pact for %hoon 2020-06-24 20:26:04 -07:00
Ted Blackman
652dc70304 clay,dojo: clean up stack traces 2020-06-20 03:46:22 -04:00
Ted Blackman
d1b4af89fe sys: s/mure/road 2020-06-19 00:44:17 -04:00
Philip Monk
7494bf57c6
clay: make reachable-takos linear instead of exponential
When merging, +reachable-takos is called roughly once per merge commit
in the ancestry of the new commit.  +reachable-takos was exponential in
the number of merge commits in the ancestry of the commit it's looking
at, due to mishandling of the accumulator.  This makes it linear.

Of course, linear x linear is still quadratic, which is not great.  I
doubt +reachable-takos can be made asymptotically better, but
+reduce-merge-points/+find-merge-points probably can.  50 merge commits
already gives about 14.000 iterations through the loop in
+reachable-takos.  Another option is to try to memoize this somehow, but
a simple ~+ is insufficient since `s` is usually different.

In local tests on macOS with a -L copy of ~wicdev-wisryt, this speeds up
OTAs significantly.  The majority of time was spent on this.
2020-06-18 18:56:31 -07:00
Ted Blackman
1b1d7c9512 Merge remote-tracking branch 'origin/m/clay-fusion-markers' into ota-ford-fusion 2020-06-13 02:09:31 -04:00
Philip Monk
90f3c7d2a1
clay: build reef to prime reef-cache on inital OTA 2020-06-12 21:40:32 -07:00
Philip Monk
21c0f77321
arvo: add +mure for compiling hoon/arvo
Also use +mure in clay for building cores
2020-06-12 21:38:50 -07:00
Philip Monk
a3e15cd64c
clay: send notifications on vega 2020-06-11 19:41:22 -07:00
Fang
6e8822ffb5
clay: resurrect ':' for file-change notifications
Instead of printing '+' for both additions and modifications.
2020-06-08 23:24:23 +02:00
Ted Blackman
3834860410 clay: state adapter, still needs :goad 2020-06-03 03:00:45 -04:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Philip Monk
84b8a67e47
clay: handle reefs for non-home desks
We build a reef for each desk but use the compiler from our kernel.  At
some point we should use the compiler from the desk, but then we need to
validate any results we get from it.
2020-06-01 20:52:20 -07:00
Ted Blackman
b191636276 clay: WIP reef building 2020-06-01 12:56:21 -04:00
Philip Monk
a4a44f1e21
kiln: cleanup 2020-05-22 14:32:32 -07:00
Philip Monk
4aff4d74e2
kiln: get updates into %home, remove %base
We need to get updates directly into %home in case the marks depend on
changes to hoon.hoon.  %base has no reason to exist.

Our ota strategy is now to merge from parent/kids to home, then
parent/kids to kids.
2020-05-21 23:45:17 -07:00
Philip Monk
a84b0db733
clay: fix clobbering changes if identical changes 2020-05-21 01:23:04 -07:00
Philip Monk
560e3375f5
clay: drip if foreign desk 2020-05-21 01:10:39 -07:00
Ted Blackman
5a1f227622 clay: remove beak from compiler path 2020-05-20 04:25:00 -04:00
Ted Blackman
044c22357d clay: virtualize +read-at-aeon:ze so failures don't kill event 2020-05-19 20:28:24 -04:00
Philip Monk
161cc7aa15
clay: put ship/desk in compiler path 2020-05-17 01:59:10 -07:00
Philip Monk
b7beb6a697
clay: make covariant in type of +hoon 2020-05-16 05:22:39 -07:00
Philip Monk
2c2e16df7a
language-server: convert to fusion 2020-05-13 23:30:52 -07:00
Philip Monk
fd26b2184e
kiln: convert to fusion 2020-05-13 20:13:53 -07:00
Philip Monk
af1a26aa5d
clay: abort mate on conflicts 2020-05-13 19:29:20 -07:00
Ted Blackman
4dde2081f1 Merge branch 'ted/leap-arvo' into ford-fusion 2020-05-13 19:44:44 -04:00
Philip Monk
9b434af44e clay: only reload vanes that changed 2020-05-13 18:27:14 -04:00
Ted Blackman
778f6e9d05 /sys: make hoon optional in %lyra 2020-05-13 18:27:14 -04:00
Philip Monk
6da1424f8a
clay: remove last turbo references 2020-05-12 23:36:55 -07:00
Philip Monk
be77fa39db
clay: convert foreign-update to fusion 2020-05-12 22:53:23 -07:00
Philip Monk
ee13aa73d4
clay: move foreign-request to fusion 2020-05-12 20:22:25 -07:00
Philip Monk
8536c6b1ca
clay: remove move of +util 2020-05-12 03:03:07 -07:00
Philip Monk
6e10a7439a
clay: remove fusion mount and queuing infrastructure 2020-05-12 02:09:41 -07:00
Philip Monk
4e1bac8946
clay: convert |mount to fusion 2020-05-12 01:27:19 -07:00
Philip Monk
5474b2fab6
clay: remove turbo merge 2020-05-12 00:43:45 -07:00
Philip Monk
aacd6f80d8
clay: move merge back into clay 2020-05-12 00:01:46 -07:00
Philip Monk
e75ab631a4
clay: remove turbo commit 2020-05-11 19:33:56 -07:00
Philip Monk
7d5e102dfe
clay: change %info to use ford fusion 2020-05-11 19:26:22 -07:00
Philip Monk
9a9d91214f
clay: port mate/meld to ford fusion 2020-05-11 18:23:44 -07:00
Ted Blackman
b6dcb65061 clay: rebuild desk on zuse change 2020-05-08 06:03:29 -04:00
Ted Blackman
b32ca5d222 /sys: kernel upgrades seem to work 2020-05-08 02:18:24 -04:00
Ted Blackman
ea2386b36c clay: stop the %drip 2020-05-07 23:58:03 -04:00
Ted Blackman
a064afbd89 /sys: |mass works again 2020-05-07 04:51:08 -04:00
Ted Blackman
339e4e34ce clay: fix %mime->%html mark conversion 2020-05-06 01:09:35 -04:00
Ted Blackman
3ad411646b clay: fix %sole-effect->%json conversion 2020-05-05 18:24:16 -04:00
Ted Blackman
58d3820e41 clay: track /{mar,lib,sur} dependencies properly 2020-05-05 02:31:35 -04:00
Philip Monk
1d5dfe394f
gall: port mark operations to fusion
Gall no longer refers to Ford Turbo
2020-04-30 23:19:50 -07:00
Philip Monk
65766a73e2
clay: port -merge to fusion 2020-04-29 17:38:24 -07:00
Philip Monk
1ae66bd098
clay: clean up sanity checks 2020-04-29 14:50:30 -07:00
Philip Monk
06c0d55a1e
clay: working sanity checks for ankh 2020-04-28 22:34:48 -07:00
Philip Monk
c5d7473cf7
clay: recurse properly 2020-04-28 20:33:12 -07:00
Philip Monk
7133e50ef3
clay: make first commits use fusion 2020-04-28 18:14:18 -07:00
Ted Blackman
87818b8795 clay: report cache sizes in |mass 2020-04-28 06:37:43 -04:00
Ted Blackman
004d0624da clay: remove stray print 2020-04-28 06:23:53 -04:00
Ted Blackman
0a906dc297 clay: use %mime cache on %into 2020-04-28 05:56:28 -04:00
Ted Blackman
3eac215a1c clay: fix %mime->%hoon bootstrapping 2020-04-28 00:52:07 -04:00
Ted Blackman
48caee7579 clay: fix +build-fit 2020-04-27 22:53:50 -04:00
Philip Monk
dca81a2ee2
clay: prepare for kernel updates 2020-04-24 17:44:29 -07:00
Philip Monk
d3b5fba864
clay: prepare for switching first commit to fusion
Can't be done right now because get-fit doesn't look at the incoming
changes.
2020-04-24 12:17:22 -07:00
Philip Monk
42bab4ecfb
clay: move -commit back into clay 2020-04-23 17:16:42 -07:00
Philip Monk
fa0e019ddf
clay: change %park interface to not take caches
Now a full commit is synchronous.  -commit will be assimilated back into
clay.
2020-04-23 13:54:57 -07:00
Ted Blackman
8b4ad9bfc9 :spider2 works with threads in subfolders 2020-04-21 00:22:54 -04:00
Ted Blackman
acaf5a12cf -test: all tests pass; fixed clay +get-fit 2020-04-20 02:41:20 -04:00
Ted Blackman
1f91676c97 ford-fusion: stateful %warp reads compile 2020-04-19 04:58:12 -04:00
Ted Blackman
0e4fb5a4f4 -test /sys/vane/{ames,clay} 2020-04-18 19:53:45 -04:00
Ted Blackman
8d3a497bb9 ford-fusion: add ~| with .changes and .deletes 2020-04-18 04:18:13 -04:00
Ted Blackman
8f60c0e036 ford-fusion: update ankh before mime conversion 2020-04-18 01:36:59 -04:00
Ted Blackman
f36dc49ede -build-file, -build-mark, -build-cast 2020-04-17 22:50:03 -04:00
Philip Monk
3d04695ca7
clay: use ford fusion for ankh and mime cache 2020-04-17 18:04:51 -07:00
Ted Blackman
1b27582e3a ford-fusion: minor cleanup to +get-value 2020-04-17 02:23:19 -04:00
Ted Blackman
fdcc80b1e2 ford-fusion: use .baked.nub; fixes /mar/hoon dep cycle 2020-04-17 02:14:41 -04:00
Philip Monk
92f8fad85d
clay: write checkout-ankh and checkout-mime 2020-04-16 20:18:02 -07:00
Philip Monk
a479618a23
clay: add +get-changes 2020-04-16 14:05:43 -07:00
Ted Blackman
af24318955 ford-fusion: check for cycles 2020-04-16 16:30:55 -04:00
Ted Blackman
3592b7e5bc ford-fusion: minor +promote-ford cleanup 2020-04-16 16:09:02 -04:00
Ted Blackman
46ee902eaa ford-fusion: hook up %cc scry to +get-cast 2020-04-16 15:00:03 -04:00
Ted Blackman
ea23be3973 ford-fusion: report syntax errors 2020-04-16 09:55:48 -04:00
Ted Blackman
95f27d4a7b ford-fusion: +run-pact compiles 2020-04-16 09:38:34 -04:00
Ted Blackman
6e12f71789 ford-fusion: +validate-path, +cast-path 2020-04-16 09:28:14 -04:00
Ted Blackman
5854162e74 ford-fusion: parse /? 2020-04-16 08:56:06 -04:00
Ted Blackman
35c39bf076 ford-fusion: +get-cast compiles, initial tests pass 2020-04-16 08:45:48 -04:00
Philip Monk
6441116e9f
clay: get-fit fix from ted 2020-04-15 19:55:41 -07:00
Philip Monk
311cf5329c
clay: integrate ford vase and mark without cache 2020-04-15 19:10:22 -07:00
Philip Monk
310f5d19ef
clay: add stubs for %a, %b, and %c cares 2020-04-15 17:47:45 -07:00
Philip Monk
d04191320a
clay: add +promote-ford 2020-04-15 16:24:48 -07:00
Philip Monk
17fa15336f
clay: fix %init for -merge 2020-04-10 20:42:56 -07:00
Philip Monk
5a4786169d
clay: don't underflow when patch produces empty file
Fixes #2602

I haven't been able to reproduce this bug, but I can see how it could
happen in theory.  This should resolve the issue.
2020-03-31 11:37:58 -07:00
Philip Monk
d70431a6b0
clay: add %cs for hash of yaki data 2020-03-27 20:45:32 -07:00
Philip Monk
3f2a7b08a5
clay: add -merge except meet/mate/meld
-merge will replace |merge so that.  Once they reach feature parity and
%info is rewritten to forward to -commit, we can rip out about half of
clay.hoon
2020-03-25 20:54:19 -07:00
Philip Monk
4d013573e1
clay: print changes on commit 2020-03-24 17:24:19 -07:00
Philip Monk
51ff5b8d67
clay: connect |commit to %park
Can remove the old commit flow once existing usage of %info is ported to
%park.
2020-03-24 16:48:18 -07:00
Philip Monk
1599937c81
clay: add option to skip queue
Makes it so that |cancel %force skips the next thing in the queue if
you're not in the middle of something.  If you are in the middle of
something, it skips the thing you're in the middle of (just like naked
|cancel).

This should resolve issues where |cancel doesn't drain the queue.
2020-03-23 15:53:18 -07:00
Philip Monk
531630e93a
clay: add %park task and -commit
%park is a plumbing commit task.  It guarantees completion in a single
event, so you have to do much of the work before calling it.  -commit
is an example of how to do this.
2020-03-20 21:30:56 -07:00
Joe Bryan
6322639436 vane: jet-hints all vanes for profiling 2020-03-03 14:17:42 -08:00
Joe Bryan
53d9798cda vane: prints error notifications where not handled 2020-02-26 16:56:17 -08:00
Joe Bryan
4cae84d9ac vane: downcast all error notifications to %crud 2020-02-26 16:56:17 -08:00
Joe Bryan
df970ed417 arvo: passes errors to all vanes 2020-02-26 16:56:17 -08:00
Ted Blackman
0bee77ce8e
/sys: use +harden on vane tasks
Uses Zuse's previously unused +harden helper function to streamline
+task unwrapping in vanes.

(Arguably, in landlocked vanes like Ford, we should crash if we get a
%soft task, since no events should be coming in directly from the
outside.)
2020-01-27 09:53:53 +04:00
Fang
f4ed3fe980
clay: document %t care 2020-01-22 21:23:14 -08:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
3808f02287
clay: implement %u care
Previously, it would always produce ~, regardless of the path asked
about.

Now, it produces a loobean, based on whether or not a file exists at the
specified path.
2019-12-18 21:02:38 +01:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
b25412b93b
clay: fix meet-conflict crash 2019-11-11 21:42:33 -08:00
Philip Monk
e603681097
clay: fix meet-conflict crash 2019-11-10 14:33:48 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Ted Blackman
3ecfbd6a68 fixed merge; sync and hi work again 2019-11-03 00:07:51 -04:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Ted Blackman
925489eba6 /sys: various merge fixes 2019-10-30 16:23:37 -04:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Philip Monk
9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
Joe Bryan
3dd9bd7111 arvo: wires up %trim memory-pressure event stubs 2019-09-27 13:02:11 -07:00
Philip Monk
263b151dcb
clay: answer ~ to %next request if file is deleted 2019-09-10 13:49:12 -07:00
Philip Monk
1ca4c72aa5
mall: make boot 2019-09-09 20:04:38 -07:00
Ted Blackman
ca00d89286 %lost ames gift and stub handlers in vanes 2019-08-27 20:12:56 -07:00
Ted Blackman
fc9104cb47 Merge branch 'master' into alef-testnet (might not work) 2019-08-19 14:43:39 -07:00
Ted Blackman
3f5a96485b printing cleanup 2019-08-10 11:48:40 -07:00
Philip Monk
9e154b053f
kick write queue on |cancel 2019-08-09 11:53:05 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Ted Blackman
626f7c9a75 Merge branch 'philip/kale' into alef-testnet 2019-08-05 22:06:53 -07:00
Ted Blackman
53d9b41a80 fixed alef bone<->duct mapping and therefore %breah-sudden ph test 2019-08-05 13:58:53 -07:00
Philip Monk
6f274de3be
more printfs 2019-08-05 11:48:11 -07:00
Ted Blackman
1d62f1eecc Merge branch 'philip/kale' into alef-testnet 2019-08-01 15:56:23 -07:00
Philip Monk
e39a2c0467
all breach tests pass 2019-07-29 15:09:08 -07:00
Ted Blackman
505c0eb4d5 clay |sync works; fixed ack bug and clay bug 2019-07-29 02:08:26 -07:00
Ted Blackman
9670408a06 Merge branch 'master' into alef-breach 2019-07-29 00:27:58 -07:00
Ted Blackman
5b0ee61a64 Boots without error and sends and receives talk messages 2019-07-28 23:37:49 -07:00
Philip Monk
f78d755a0d
%breach-sync works with kale 2019-07-27 16:52:28 -07:00
Philip Monk
dd76358f6a
%breach-hi works with kale 2019-07-26 20:45:45 -07:00
Philip Monk
a47ef9ac77
wip 2019-07-26 20:45:45 -07:00
Philip Monk
e703053fc0
more lat and hut order fixes 2019-07-24 17:16:41 -07:00
Philip Monk
e28c24324a
more lat and hut order fixes 2019-07-24 17:06:41 -07:00
Philip Monk
0b56c798fd
fix lat uni order in clay to break recursion 2019-07-24 16:05:15 -07:00
Ted Blackman
6c22beea8c Merge branch 'master' into alef-breach 2019-07-22 11:46:40 -07:00
Joe Bryan
b5d02a0082 adds sample type to +get:by, fixes call-sites 2019-07-18 11:51:34 -07:00
Ted Blackman
86da8e9033 made a pill that boots without error 2019-07-15 16:11:22 -07:00
Ted Blackman
793fc5c213 all vanes compile, at least individually 2019-07-15 14:23:34 -07:00
Ted Blackman
1ad2712870 Merge branch 'alef' into alef2 2019-07-11 14:26:22 -07:00
Fang
eb6c8a45ce
Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02:00
Ted Blackman
889c300092 clay, alef, and zuse compile 2019-06-28 16:43:52 -07:00
Jared Tobin
b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00