1
0
mirror of https://github.com/ilyakooo0/urbit.git synced 2024-12-23 23:12:04 +03:00
Commit Graph

245 Commits

Author SHA1 Message Date
Philip Monk
8805e0ee85 clay: convert all blobs to pages
This converts the blob store from having deltas, directs, and
tombstones, to just having direct pages.  This simplifies a lot of code,
since we don't have to constantly ensure that deltas always have their
parent available.

This removes the hardcoded text diff logic from clay, which was
previously required for bootstrapping.

Over the wire, we handle both old and new requests and responses
transparently, so communication is normal in both directions across
ships which do or do not have this change.
2022-04-13 00:35:58 -07:00
Philip Monk
a18f35dd16
Merge pull request from urbit/jon/await-thread-fix
strandio: fix +await-thread %thread-fail handling
2022-04-06 11:29:14 -07:00
fang
51d252be24
ph: include missing library function 2022-04-06 16:44:08 +02:00
drbeefsupreme
a44781f47b
strandio: fix +await-thread %thread-fail handling
we need to use ;; instead of !< since the %thread-fail mark just returns
a raw noun
2022-04-06 10:42:21 -04:00
Philip Monk
73180a0d94
Merge pull request from urbit/jon/thread-marks
spider: fix child threads
2022-04-01 16:48:15 -07:00
fang
dad82436be
aqua: support injecting arbitrary tasks 2022-03-30 12:51:46 +02:00
drbeefsupreme
19db24acdd
spider: mv %thread-done %thread-fail to base-dev 2022-03-28 10:42:05 -04:00
drbeefsupreme
656a86479f
spider: fix child threads
addresses  by adding %thread-done and %thread-fail marks. also
fixes await-thread:strandio and removes some blank lines from
app/spider.hoon

%thread-done loses the type of the result, so you'll need to use ;; to
get it back. the real way to fix this is to have threads produce cages
instead of vases
2022-03-25 18:01:48 -04:00
Philip Monk
0c3eee07b5 Merge remote-tracking branch 'origin/master' into philip/tomb 2022-03-25 12:21:56 -07:00
fang
01de5a06b0
term: consistently use x/y coordinate ordering
%rez has always used "width & height". Certainly, "x & y" is more
standard than "row & column". As such, we settle on making %hop and %hit
respect the more natural ordering. This change is safe because these
interfaces haven't made it to livenet yet.
2022-03-25 13:45:29 +01:00
fang
3259f1f588
aqua: fix most tests
Small touch-ups to simulation behavior and ph tests. Most of them pass
now, even if they're still really slow at times.

The breach ones don't pass, but also complain of dangling bone, so might
work once the fix for that is in.
2022-03-23 22:19:35 +01:00
Philip Monk
5ff4cc7f66
Merge pull request from ynx0/story
clay: add `story`, a set of tools to support commit messages
2022-03-22 21:49:16 -07:00
fang
250e750a89
spider: factor spider-arg type out into interface
And fix a callsite that wasn't conforming.
2022-03-16 21:10:31 +01:00
fang
cf3770586d
Merge pull request from rabsef-bicrym/patch-2
Update /lib/ring/hoon for %jael scries.
2022-03-15 22:36:02 +01:00
rabsef-bicrym
986d273b5f
Update /lib/ring/hoon for %jael scries.
Also I took the liberty of making `build-signing-participants` use a `%lyfe` scry and remove unknowns from the set rather than crashing. This is a choice - happy to change it back the other way.
2022-03-11 11:10:47 -08:00
Yaseen
341e27b5c3 story: enforce 80 cols, fix formatting, update comments 2022-03-11 12:08:40 -05:00
Liam Fitzgerald
49e53290a1 Merge remote-tracking branch 'origin/yu/dangling-bone' into lf/content-dist-rc 2022-03-11 11:07:51 -06:00
Yaseen
b43b9f195e story: add file mar/story-diff.hoon, extract diff type to sur file 2022-03-11 11:21:55 -05:00
fang
8906d1c17d
dill: move %mor case into $blit
This lets us send a single blit around, instead of sending facts for
every individual blit in a draw event.
2022-03-05 18:17:48 -06:00
Jōshin
9d50957861
arvo: remove $crag, promote $page 2022-03-02 17:59:56 -06:00
Liam Fitzgerald
b4da246f01 strandio: add +keen gate 2022-02-24 12:03:07 -06:00
fang
3120681b2b
sole: properly support multiple sessions
We update the sole protocol to more cleanly support multiple sessions.

Primarily, the "sole id" is updated to be a [@p @ta] instead of a @ta,
and it is now generated based off the connected dill session, rather
than statically.

This change ripples out to applications that support the sole protocol:
the subscription path becomes /sole/[ship]/[session] (as opposed to
/sole/[per-ship-constant]), and %sole-action pokes include the new id as
well.
For shoe agents, this means (at the very least) updating the function
signatures of the shoe arms.

/lib/sole has been updated to include helper functions for parsing a
sole-id from a subscription path, and turning a sole-id into its
corresponding path. It also has a function to aid in migrating old
sole-ids.

Existing sole agents are made to kick any known open sessions, forcing a
resubscribe by drum, so that they may use exclusively the new format
going forward. Third-party agents are recommended to do the same.

Note that some functionality, such as |link, still operates exclusively
on the default session. Improvements in this area to follow soon.
2022-02-20 17:19:03 -06:00
fang
c4f38032ce
pkg: move /lib/dill into base-dev, include it
Landscape desk needed it, but didn't have it.
2022-02-20 15:35:55 -06:00
Yaseen
a149dc6c40 story: generators: add check for invalid case 2022-02-18 22:30:24 -05:00
Yaseen
b616f48169 story: add $cash 2022-02-18 17:46:04 -05:00
Yaseen
52537a7b3b story: lib: remove ;; in favor of typecast 2022-02-11 12:12:20 -05:00
Yaseen
5346784609 story: parser improvements 2022-02-05 06:16:59 -05:00
Yaseen
a38ec43d99 story: misc clean up 2022-02-05 06:15:45 -05:00
Yaseen
322fb5ecce story: clean up snoc in txt:grow 2022-02-04 12:53:13 -05:00
Yaseen
75b01a2c0c story: fix dif-ju correctness on empty input 2022-02-04 12:51:58 -05:00
Yaseen
9b66cb9b81 story: make lib lead core 2022-02-04 12:49:55 -05:00
Yaseen
94d55f1e33 story: misc changes 2022-02-04 12:49:10 -05:00
Yaseen
e1f8f4db45 story: fix error with null jug 2022-02-02 23:35:55 -05:00
Yaseen
b7e0b28220
Merge branch 'urbit:master' into story 2022-01-30 16:03:48 -05:00
Yaseen
9afc2b8258 story: diff: use dif-ju and uni-ju 2022-01-30 16:03:10 -05:00
Yaseen
68da061f47 story: update outdated diff types 2022-01-30 16:02:47 -05:00
Yaseen
f723088f4d story: create fundamental jug operations 2022-01-30 16:02:25 -05:00
Yaseen
e791c501a0 story: fix lib import 2022-01-30 16:01:45 -05:00
Yaseen
08cd2feed7 story: use new parser in mark 2022-01-30 16:01:31 -05:00
Yaseen
10e252bca0 story: add new parsers to lib 2022-01-30 16:01:00 -05:00
Yaseen
b87a754622 story: rip out parsers 2022-01-30 16:00:38 -05:00
Yaseen
75d6882b51 story: fix to-text arms 2022-01-30 15:59:58 -05:00
Yaseen
9286d89fa2 story: add chapter type 2022-01-30 15:59:06 -05:00
Yaseen
8787c43c83 story: cleanup 2022-01-30 15:58:35 -05:00
Yaseen
1e871e3c35 story: use crip/trip where necessary 2022-01-26 18:07:00 -05:00
Yaseen
484772e2b7 story: misc changes 2022-01-26 11:41:22 -05:00
Yaseen
d8450c2892 story: use lib arms in txt:grow 2022-01-26 11:41:08 -05:00
Yaseen
3105176df9 story: handle conflicts for updated $story type (mvp) 2022-01-26 11:39:18 -05:00
Yaseen
b0a666d2eb story: add lib/story.hoon 2022-01-26 11:37:02 -05:00
Yaseen
194f3d55c6 story: make sur file an lead core 2022-01-25 13:52:40 -05:00
fang
2c5510db64
Merge branch 'jb/next-gen-term' into next/dill
Resolves a good number of conflicts. Most notably, re-propagates removal
of gall's %onto, confirms new /app/herm behavior, coerces hood/drum
state adapters back into place, and updates webterm to use the latest
api.
2022-01-24 14:50:16 +01:00
xiphiness
73b2d27d49
Add +address-to-checksum gate to ethereum lib as per EIP-55
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md

I needed it because some api's i'm hitting fail if the address isn't checksummed.

Could maybe be written better, haven't done much byte munging in hoon. Feel free to improve.
2022-01-23 19:57:13 +02:00
Yaseen
606acd8fa2 story: restore previous mark functionality, ignore conflicts 2022-01-21 11:50:05 -05:00
Yaseen
f2b8a1b7f7 story: update sur file 2022-01-20 15:54:37 -05:00
Yaseen
df9e5175d1 story: create sur file and extract type 2022-01-16 22:36:52 -05:00
Yaseen
6a25f8ffca story: add custom ++grad core 2022-01-15 23:37:51 -05:00
Yaseen
e5642b5ff3 story: rename door sample to tale 2022-01-15 23:26:33 -05:00
jose
f158ebe312
Merge pull request from urbit/azimuth/jael-fix
jael: give new private key to subscribers on %keys new-event
2022-01-12 12:47:21 +01:00
yosoyubik
4724c32d3d pill: load azimuth snapshot file with mime mark 2021-12-14 09:40:34 +01:00
yosoyubik
f6dca03786 pill: restore solid pill 2021-12-10 16:19:59 +01:00
Jōshin
d94aa5704b
Merge branch 'master' into next/arvo
Conflicts:
	pkg/arvo/lib/azimuth.hoon

This file was turned into a symlink to pkg/base-dev/lib/azimuth.hoon on
one side of the fork, and meanwhile edited on the other side of the fork
(to update ecliptic to the new address for the WSTR fix.)

The two sides of the fork both had different outdated addresses in
base-dev's azimuth.hoon file, and Git's UI helpfully refilled the
contents of arvo's azimuth.hoon so that it showed a merge conflict with
an empty diff.

Resolved by reading out HEAD:pkg/arvo/lib/azimuth.hoon into
pkg/base-dev/lib/azimuth.hoon and manually recreating the symlink.
2021-12-10 08:24:32 +00:00
yosoyubik
fb2c078fde pill: load azimuth snapshot as mime in file-ovum 2021-12-09 07:28:57 +01:00
fang
35e820bfe6
Merge branch 'next/arvo' into m/shoe-scry 2021-12-08 13:13:54 +01:00
Philip Monk
1ffdad8719
Merge pull request from ynx0/dev-fixes
meta: fix various issues in file tree for development
2021-12-07 19:07:34 -08:00
yosoyubik
81eb6ae247 pill: add azimuth snapshot 2021-12-07 16:13:39 +01:00
fang
3df0efd7c6
Merge pull request from urbit/m/base-atom
pkg: include atom mark in base-dev
2021-12-06 15:11:12 +01:00
fang
4bff1df7e8
pkg: include atom mark in base-dev 2021-12-05 14:50:50 +01:00
Yaseen
6982735650 story: make sure terminating newline is present in text encoding 2021-11-25 11:38:06 -05:00
Yaseen
7564f922a2 base-dev: initial mime:grab impl for story mark 2021-11-19 16:10:47 -05:00
Yaseen
90cc57d062 base-dev: fix story to text encoding format 2021-11-19 16:09:57 -05:00
Yaseen
8689a165c8 base-dev: create story mark for storing commit messages 2021-11-19 14:50:24 -05:00
Yaseen
8819d61ff6 symlink arvo/lib/azimuth.hoon to base-dev/lib/azimuth.hoon 2021-11-19 12:33:12 -05:00
Yaseen
1a7708ba45 base-dev: remove sys.kelvin 2021-11-19 12:15:07 -05:00
Philip Monk
a2a89d3532
Merge remote-tracking branch 'origin/next/arvo' into philip/roller 2021-11-16 13:58:57 -08:00
Yaseen
0a2bd43d1d base-dev: remove outdated desk.bill 2021-11-12 15:23:28 -05:00
Philip Monk
7b96cf7a82
kiln: don't revive apps at wrong kelvin 2021-11-10 22:17:05 -08:00
Philip Monk
9fc74f60d9
Merge remote-tracking branch 'origin/master' into philip/roller 2021-11-09 22:03:25 -08:00
Liam Fitzgerald
2fa9c8e494 kiln: respect .liv flag in +get-apps-want
Accounts for the value of .liv in +get-apps-want, such that if a desk
is suspended then +get-apps-want should always return the empty list.
2021-11-08 16:43:48 -06:00
Philip Monk
d9276cd51c
clay: Add support for representing tombstones
This adds support for tombstoned files to clay.  It does not include any
way to actually tombstone them; that is left for later.

This allows tombstoning at the level of a file.  Precisely, this expands
+blob:clay by adding a %dead case:

    +$  blob                                              ::  fs blob
      $%  [%delta p=lobe q=[p=mark q=lobe] r=page]        ::  delta on q
          [%direct p=lobe q=page]                         ::  immediate
          [%dead p=lobe ~]                                ::  tombstone
      ==                                                  ::

Thus, we maintain the invariant that every lobe corresponds to a blob,
but now a blob may be an explicit tombstone.

Details:
- This has not been tested at all, except that it compiles and boots.
- This does not have a state adapter from master.  The only state change
  is the definition of +cach.
- Additionally, out-of-date ships may unexpectedly receive a %dead blob
  from a foreign clay which would interfere with their ability to download
  that desk.  No code changes necessary, but sponsors should avoid
  tombstoning files in %base for a while so their children can get the
  update.
- A merge will only fail if the tombstoned file conflicts with another
  change.  Note that as written, merging from a past desk *can* bring a
  tombstoned file to the head of a desk.  Possibly this shouldn't be
  allowed.

This also includes a couple refactors that were made possible by ford
fusion (since everything is synchronous now) but never got done.  In
both cases we get to remove a monad, which simplifies the code
considerably.

- refactor +merge's error handling to use !!/mule instead of threading
  through errors
- refactor all +read-* functions and related parts of +try-fill-sub to
  eagerly convert lobes to cages.

We also add support reading %a/b/c/e/f/r/x from past and foreign desks,
when possible.  Apologies that all of these are in one commit, it was
all a single chunk of work.

This is a draft until we have a way to tombstone.  I suspect we'll want
to have a mechanism of keeping track of gc roots and trace to remove,
but this PR doesn't suggest any particular strategy.
2021-11-07 22:17:02 -08:00
fang
0ec3d5111d
Merge branch 'master' into naive/roller 2021-10-26 20:46:32 +02:00
fang
ef90e9db31
Merge pull request from urbit/m/eip-1559-plus
ethereum: add signing support for eip-1559 transactions
2021-10-08 19:16:37 +02:00
fang
5131d3165d
Merge branch 'release/next-userspace' into m/eip-1559-plus 2021-10-08 20:42:37 +04:00
fang
a6bc01e791
hood: no longer work around bad clay %u behavior
Previously it would crash for non-existent desk. No longer does, so we
don't need to avoid this.
2021-10-07 21:58:56 +04:00
Jake Miller
af2a1bfb10
Merge pull request from urbit/jm/fix-ames-glob
spider, docket: fix versioning and validate-mark
2021-10-06 15:01:19 -04:00
ryjm
084f74129b spider, docket: fix versioning and validate-mark 2021-10-05 22:46:07 -04:00
Edward Amsden
60e3ac274b
hood: scry for list of desks with empty desk name
Co-authored-by: fang <github@fang.io>
2021-10-01 08:31:18 -04:00
Edward Amsden
000cfff73e
hood: remove needless weld 2021-10-01 08:14:10 -04:00
Edward Amsden
5fdd7d74f7
hood: report %kids desk hash in +report-vats 2021-10-01 08:08:11 -04:00
Ted Blackman
dff3a4593c sur/hood: debug print 2021-09-29 14:59:13 -04:00
Fang
f7c917600a
pill: do not include /tests in file-ovum 2021-09-29 22:12:20 +04:00
Liam Fitzgerald
d573687fd9 strandio: stop crashing on 504 2021-09-29 15:45:59 +10:00
Liam Fitzgerald
31f5898087 kiln: track original publisher with desk.ship file 2021-09-29 13:27:28 +10:00
Edward Amsden
b8969ebd7b
hood: don't check kelvin of nonexistent desk in +report-vat 2021-09-28 20:17:28 -04:00
Ted Blackman
89507f108d
Merge pull request from ryjm/jm/move-glob
garden: move glob from base-dev to garden
2021-09-28 15:54:08 -04:00
Ted Blackman
5511cc95b5 docket,kiln: snapshot on %watch 2021-09-28 15:33:16 -04:00
ryjm
e7ab54f73b garden: move glob from base-dev to garden
Since spider tracks the thread's source desk now, the glob mark can live
in %garden rather than %base-dev. The mark is only used to verify
a glob from ames in docket.
2021-09-28 15:18:10 -04:00
Fang
dca7742321
treaty: fix the other un-versioned mark instance 2021-09-28 22:59:47 +04:00
Fang
526e60b04c
strandio: fail when http request gets cancelled
Instead of waiting for a proper response. Iris doesn't currently retry!

Also updates docket to detect this case and retry appropriately.
2021-09-28 20:51:51 +04:00
Fang
400d2e4f44
Merge remote-tracking branch 'origin/lf/versioning-marks-dist' into dist 2021-09-28 17:13:33 +04:00
Liam Fitzgerald
f3f13b1261 garden: version treaty, docket 2021-09-28 12:50:45 +10:00
ryjm
47a6aa2753 spider garden: remove sigpams and move glob mark 2021-09-27 21:23:46 -04:00
ryjm
098587bf8b spider: fix mark validation
glob is succesfully downloaded and inserted into the docket state, but
as an octet stream. need to define the correct marks.
2021-09-27 21:23:46 -04:00
ryjm
035b29f0c0 spider: strand fixes 2021-09-27 21:23:46 -04:00
ryjm
121a7c9468 garden spider: add desk tracking 2021-09-27 21:23:46 -04:00
ryjm
c8cf0bb98d garden spider: (testing) correctly validate
just need to properly store the desk in `serving:spider` now.
2021-09-27 21:23:46 -04:00
ryjm
571649c631 spider: strand fixes 2021-09-27 21:23:46 -04:00
ryjm
a08c38b83c spider: track desks and validate marks (wip) 2021-09-27 21:23:46 -04:00
Hunter Miller
9f45dce312 Merge branch 'dist' of github.com:urbit/urbit into dist 2021-09-27 18:57:16 -05:00
Hunter Miller
72e3aca57c Merge branch 'ea/master-dist-deconflict' into dist 2021-09-27 18:56:49 -05:00
Hunter Miller
502f2e8a9c Merge branch 'hm/btc-wallet-conflict-resolution' into ea/master-dist-deconflict 2021-09-27 18:55:45 -05:00
Ted Blackman
855e97d17a kiln: update other agents on kernel updates 2021-09-27 19:34:15 -04:00
Fang
18701b2ad2
kiln: always check local desk when adjusting dudes
We do not care about what's on foreign, the local desk is the thing
we're taking action on. This is more robust in the face of absent
information about foreign desks etc.

Also stops pretending to take-commet during take-merge-main. We'll get a
separate commit event.
2021-09-28 00:57:38 +04:00
Edward Amsden
02d2185eb3
move hoons to base-dev 2021-09-27 15:10:19 -04:00
Ted Blackman
7665e75849 manual merge @liam-fitzgerald misc. fixes PR 2021-09-27 14:50:58 -04:00
Fang
1640ff6d38
dist: add glob mark, merge base-dev into others
This had fallen off the wagon at some point.
2021-09-27 13:34:23 +04:00
Ted Blackman
ede1976745 kiln: partial fixes for +take-download scry crash 2021-09-27 00:08:11 -04:00
Ted Blackman
84f306532c sur/hood: fix uninitialized foreign desk crash 2021-09-26 21:54:36 -04:00
Ted Blackman
bc7c2abe50 lib/pill: remove dead imports 2021-09-26 18:18:34 -04:00
Ted Blackman
2544b79e4b kiln,desks: remove %fish from /desk/bill; fix some other kiln issues 2021-09-26 17:03:26 -04:00
Ted Blackman
ef65c9c152 +agents generator 2021-09-25 16:15:55 -04:00
Ted Blackman
c80fb82318 clay,kiln,landscape/notify: migration runs 2021-09-23 18:07:13 -04:00
Liam Fitzgerald
f3befc8afc hood: fix pause poke 2021-09-22 13:20:05 +10:00
Liam Fitzgerald
e8148f20dd base-dev,arvo: update marks, add %ship mark 2021-09-21 14:51:57 +10:00
Fang
da28fbfed9
Merge dist into m/distpilled 2021-09-20 19:35:51 +02:00
Liam Fitzgerald
ce8f9d00fb hood: respect ordering of agents in bill 2021-09-17 15:43:30 +10:00
Liam Fitzgerald
143a8e08e6 various: fix dependencies & tests 2021-09-17 14:51:19 +10:00
Ted Blackman
3b30b67a3e Merge branch 'ted/kiln-warp' into m/distpilled, and
modify Kiln to listen for %writ's from Clay to track commits to Clay
that were not generated by Kiln itself.
2021-09-16 12:25:02 -04:00
Ted Blackman
577ec24459 kiln: WIP listen to %warp's too 2021-09-15 22:57:08 +03:00
Liam Fitzgerald
a433e4f911 Merge remote-tracking branch 'origin/dist' into lf/nu-hark-store 2021-09-14 12:40:52 +10:00
Liam Fitzgerald
038784b0fe kiln: surface paused in JSON 2021-09-14 10:49:34 +10:00
Liam Fitzgerald
e6e0f47435 kiln: kill agents before merge
If a remote commit is downloaded that simultaneously removes an agent from
desk.bill but also removes the associated source files, then the commit
will fail as gall will not have received the card to kill the agent yet.
Instead, we read our foreign copy of the bill in +take-download, and
kill any necessary agents there, preventing a reload of the deleted
agent from occurring.
2021-09-13 08:41:27 +10:00
Ted Blackman
f148f40a34 kiln: |install to a new upstream less destructively 2021-09-09 21:17:30 +03:00
Liam Fitzgerald
39a9ed4faa hood: fix update ordering
When we receive the %mere gift from clay, the kernel has not yet been
reloaded. This means any attempts to bump desks will fail, as they will
be bumped against the old kernel. Rectifies this by continuing the %base
desk update flow in +on-load, instead of +take-merge-main. Also adds a
wef=(unit weft) to the state in order to discriminate whether or not the
kernel has just been reloaded
2021-09-07 14:37:36 +10:00
Ted Blackman
f58d115ce5 Merge remote-tracking branch 'ryjm/jm/ship-globs' into dist 2021-09-06 21:29:38 +03:00
Ted Blackman
248b968550 kiln: |pause and |resume an app 2021-09-06 17:27:17 +03:00
Liam Fitzgerald
f24fbe3eba Merge remote-tracking branch 'origin/dist' into lf/nu-hark-store 2021-09-06 14:34:46 +10:00
Liam Fitzgerald
cb52de5c6c base-dev: update lib/agentio 2021-09-06 14:30:47 +10:00
Ted Blackman
f3e15396f3 %garden-dev desk; also cleaned up %base-dev 2021-09-02 00:37:56 +03:00
ryjm
ad8f6f681e docket: download globs over ames
Kind of a pain to test, need a better way to insert a `charge` directly.
Either that or rework `chad`, but I don't entirely understand why the
`chad` lifecycle is the way it is.
2021-09-01 02:22:54 -04:00
Liam Fitzgerald
17293ba758 treaty: fix updates after initial 2021-08-24 13:53:01 +10:00
Liam Fitzgerald
91276dd1c1 docket: revise $docket datastructures 2021-08-23 11:45:32 +10:00
Liam Fitzgerald
df47069a2f various: fixup missing 2021-08-11 14:40:25 +10:00
Liam Fitzgerald
6b59188642 base-dev: update missing libs 2021-08-11 14:15:40 +10:00
Liam Fitzgerald
41ae07f321 base-dev: add docket mark 2021-08-11 13:49:59 +10:00
Ted Blackman
f958b7874f various: fixes, pill might actually work now 2021-08-10 16:13:27 +03:00