Commit Graph

807 Commits

Author SHA1 Message Date
Liam Fitzgerald
2e3947e3c0 drum: account for app dependencies on boot
Changes drum's boot order to be deterministic regardless of the ship
you're on.

Fixes #2681
2020-04-25 07:20:42 +10:00
Logan Allen
285f0bd5e3 s3: integrated with store and reducers 2020-04-24 12:19:01 -04:00
Logan Allen
bec650957c s3: added configuration settings for setting current bucket and adding / removing buckets from list 2020-04-24 12:19:01 -04:00
Logan Allen
ab3a759ce2 s3-store: poke functionality, updated credentials, added generators 2020-04-24 12:19:01 -04:00
Logan Allen
daf32fd0f9 s3-store: initial commit 2020-04-24 12:19:01 -04:00
Philip Monk
e7bf9cc190
ph: fix now that ford builds are often dripped 2020-04-23 19:07:33 -07:00
Logan
c36c5a9bd3
Merge branch 'master' into os1-avatar 2020-04-22 11:42:33 -04:00
Jared Tobin
5b9887ca19
Merge branch 'la-contact-delete-fix' (#2738)
* origin/la-contact-delete-fix:
  t groups + contacts: make removes completely clean up state
  contact-js: made channel handle onChannelError
  contact-hook: tested it, got /synced path working, and subscriptions loading
  contacts: fix group deletion and do some quality of life fixes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-22 14:04:19 +04:00
Logan Allen
f6a2f7f83c contact: finish %octt implementation 2020-04-21 19:59:03 -04:00
Ted Blackman
9b0cb85a02 gall: clean up API, remove empty caches from state. 2020-04-21 18:50:47 -04:00
Logan Allen
2f7e8fd811 contacts: added "url" avatar support and finished "octet" avatar
fetching support
2020-04-21 15:29:47 -04:00
Ted Blackman
ddc5b9e3f6 kiln: fix |goad-gall 2020-04-20 22:55:40 -04:00
Ted Blackman
f3544067af -test: full path syntax 2020-04-20 01:33:29 -04:00
Ted Blackman
4bf854c180 WIP :spider2 using ford-fusion 2020-04-19 05:11:01 -04:00
Ted Blackman
a705954b08 -test, -build-file, -build-mark, -build-cast 2020-04-18 04:21:15 -04:00
Ted Blackman
f36dc49ede -build-file, -build-mark, -build-cast 2020-04-17 22:50:03 -04:00
Ted Blackman
241a7165d4 test: remove redundant helpers 2020-04-16 09:40:59 -04:00
Ted Blackman
b285ebe407 test: +expect-yes, +expect-crash 2020-04-16 09:08:03 -04:00
Fang
d1feabd1fb
dbug: print result with priority
To give it some color, making it less easy to miss.
2020-04-15 23:50:53 +02:00
Fang
e2034eca19
dbug: avoid printing nothing at all
Previously, if filtering subscriptions turned up no results, nothing was
printed. With this change, we explicitly print "no matching subscriptions"
instead.
2020-04-15 22:28:59 +02:00
Logan Allen
bfcaf6468e contact-hook: tested it, got /synced path working, and subscriptions loading 2020-04-14 18:05:32 -04:00
Isaac Visintainer
f9e17e61a2 publish: update state with limbo field 2020-04-12 23:21:42 -07:00
Philip Monk
17fa15336f
clay: fix %init for -merge 2020-04-10 20:42:56 -07:00
Isaac Visintainer
2ad8264c52 Merge branch 'philip/gall-clear' 2020-04-02 15:32:43 -07:00
Liam Fitzgerald
ed7f8be424 dojo: add autocomplete for various dojo syntaxes
Adds autocomplete for
- :app poke syntax
- :app|gen poke generator syntax
- +gen naked generator syntax
- =var variable syntax
2020-04-01 11:28:27 +10:00
Fang
87e61da99a
lib: !. on dbug and verb wrapper agent cores
Events always pass through these, adding to the stack trace on-crash.
This information is practically never useful, however. Adding !. leaves
these cores out of the traces.
2020-03-28 13:26:56 +01: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
Logan Allen
39500f2036 server: add basic cache-control for faster load speeds 2020-03-25 01:02:27 -04:00
ixv
c94ba12c08
Merge pull request #2595 from urbit/philip/clay-cancel-all
clay: add option to skip queue
2020-03-24 15:03:25 -07:00
Fang
2186dd8050
dbug: print %state's value, not whole vase 2020-03-24 22:12:28 +01: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
Fang
c0f93c7306
dbug: allow easily printing all subs
We had no easy way to print all %incoming or %outgoing subscriptions.
Now, passing ~ instead of [%ship ~zod] or similar, will match all.
2020-03-21 18:32:39 +01:00
Fang
50f7dc85fa
dbug: cleaner subscription printing
Previously, the pretty-printing for %incoming and %outgoing results was hanging
on to and displaying irrelevant type information: "_list_ of subscriptions",
"wire with _head and tail_", and so on.

Here, we move to producing tangs, instead of vases, and print those. For the
%incoming and %outgoing cases, we print a line for every subscription, sorting
them by path and wire respectively, and giving clean, easily readable output.
2020-03-21 18:29:33 +01: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
Philip Monk
6b7a791054
clay: initial version of +up 2020-03-20 15:30:24 -07:00
Philip Monk
cf9ef764f1
gall: remove pending messages from breached ship
When a ship breaches, we remove all messages that have yet to be
delivered to an app (eg if it's not yet started).  We also add
|gall-sear to do this manually, but this shouldn't be needed in normal
operation.

Finally, to unblock ~zod and ~bus on mainnet, we sear one particular
ship automatically on loading hood.  It cannot be done manually because
no userpace changes can be made until it's unblocked.
2020-03-18 21:05:06 -07:00
Fang
54eece11af
chat-view: allow %groupify into existing group
Will add the chat to an existing group, optionally adding chat members
who aren't part of the group yet to the group.
2020-03-18 21:54:28 +01:00
Fang
4b5a02fac8
Merge pull request #2480 from urbit/m/chat-groupify
chat: groupify
2020-03-16 18:37:29 +01:00
Jared Tobin
c0cc4a1db8
Revert "Merge branch 'liam-fitzgerald/hoon-spot' (#2247)"
This reverts commit 046506f9d4, reversing
changes made to 6ef08962ef.

I'm reverting this as we're moving to a new branch/release model in
which breaching changes (as this one is) will live on a long-running
'next' branch, rather than alongside non-breaching changes in master.

This revert should itself be reverted on the 'next' branch.
2020-03-16 10:51:00 +04:00
Fang
9793dccef0
chat-view: support %groupify
This upgrades an existing, unmanaged village chat into a full-fledged
group plus chat.
2020-03-13 18:15:34 +01:00
Fang
9a6bde765b
dbug: allow complex, hoon-based state queries
+dbug [%state 'some-hoon'] now allows you to run some-hoon against the
application's state. That hoon has access to the bowl and stdlib for
more dbugging convenience.
2020-03-12 16:40:35 +01:00
Logan Allen
64938e24e9 chat-hook: added ability to subscribe to chat-hook state from the frontend 2020-03-11 16:44:15 -07:00
Jared Tobin
6ccc843165
Merge branch 'arvo-errors' (#2366)
* origin/arvo-errors: (35 commits)
  pill: all
  vane: jet-hints all vanes for profiling
  arvo: refines crash printfs
  arvo: fix wire (and adapt old) for %vega reset notification
  arvo: removes all vase literals from |va
  arvo: removes all traces of meta-meta card reduction
  arvo: cleanup per review
  arvo: removes vestigial |is core
  arvo: remove refactoring comments
  arvo: replace $milt with $meta
  arvo: replace $mill with $maze
  worker: sends new error-notification events
  arvo: removes %gave, generalizes %hurl
  vane: prints error notifications where not handled
  behn: forward %drip error notifications, refactor %crud handling
  ames: downcast %hear error notification to %hole
  vane: downcast all error notifications to %crud
  arvo: removes (commented out) legacy event routing
  test: updates vane calling convention
  dill: "downcast" +call error notification to %crud
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-06 13:45:33 +04:00
ixv
5b21dbce25
Merge pull request #2402 from urbit/ota-meta-hook
drum: start metadata-hook on OTA
2020-03-05 20:34:39 -08:00
Isaac Visintainer
21e44f6c5d Merge branch 'ota-meta-hook' (#2402)
* ota-meta-hook:
  drum: start metadata-hook on OTA

Signed-off-by: Isaac Visintainer <isaac.visintainer@gmail.com>
2020-03-05 20:33:18 -08:00
Logan Allen
2ce60e9f0d drum: start metadata-hook on OTA 2020-03-05 15:50:18 -08:00
Logan Allen
b8987f6988 drum: start metadata-hook on OTA 2020-03-05 15:20:44 -08:00
ixv
3c039bce39
Merge pull request #2378 from urbit/m/link-meta
link: metadata integration
2020-03-05 15:09:59 -08:00
Joe Bryan
67cef638c4 Merge branch 'master' into arvo-errors
* master: (484 commits)
  king: Slight CLI cleanup and fix test build.
  king: Add command-line flags to configure HTTP and HTTPS ports.
  groups: reduce metadata updates, removal
  chat: reducer handles metadata removal
  groups: exclude group metadata from channels list
  groups: set and surface group name metadata
  groups: remove dummy 'share' flow, 'default' group
  contacts: rename, migrate '~contacts' to '~groups'
  sh/release: rename vere release tarballs
  vere: patch version bump (v0.10.3 -> v0.10.4.rc1) [ci skip]
  pills: updated brass and solid
  chat: pull room contacts from associated group
  chat: spell 'permanent' correctly
  eyre: remove padding from 'access' input
  chat: only delete metadata for a chat if you created it
  chat: settings inputs add borders on focus
  vere: disables gc on |mass in the daemon process
  chat: remove console.log from metadataAction
  chat: style fixes during review, use metadata-hook
  chat: edit description, color settings
  ...
2020-03-05 11:56:49 -08:00
Fang
353f61cdd3
link: avoid duplicate entries when merging lists
Otherwise we might store entries we had already heard previously.
2020-03-04 21:22:04 +01:00
Fang
396d13ee1a
Merge branch 'os1-rc' of https://github.com/urbit/urbit into m/link-meta 2020-03-04 18:55:29 +01:00
Jared Tobin
a1d489d977
Merge branch 'os1-rc' (#2365)
* origin/os1-rc: (439 commits)
  pills: updated brass and solid
  chat: pull room contacts from associated group
  chat: spell 'permanent' correctly
  eyre: remove padding from 'access' input
  chat: only delete metadata for a chat if you created it
  chat: settings inputs add borders on focus
  chat: remove console.log from metadataAction
  chat: style fixes during review, use metadata-hook
  chat: edit description, color settings
  chat: add update-metadata to metadata reducer
  chat: revise api.js to match data structures
  metadata-json: add json to action parsers
  chat: construct settings page for metadata
  chat: correct bottom border on join links
  chat: copy shortcodes
  chat: linkify unmanaged chats
  metadata-hook: support group members other than host creating shared resources
  contacts: add bg-gray0 to root page
  chat + contact views: updated for style and to assert that group-path must be equal to app-path if there are ships in the members set
  contacts: changed color + copy of "add to group" button
  ...
2020-03-04 15:48:05 +04:00
Matilde Park
15b5395f3c metadata-json: add json to action parsers 2020-03-02 22:30:32 -05:00
Fang
a382f7d41b
Merge branch 'os1-rc' of https://github.com/urbit/urbit into m/link-meta 2020-03-03 00:16:41 +01:00
Joe Bryan
3444e20a92 test: use %ford pit-shortcircuit instead of cache-priming 2020-03-02 12:20:53 -08:00
Logan Allen
bb0f56f17a chat + contacts: integrate managed groups with metadata 2020-03-01 15:40:49 -08:00
Fang
068a8c98d6
metadata: add helper lib for common queries 2020-03-01 02:09:24 +01:00
Jared Tobin
9c1d3090c9
Merge branch 'lukechampine/crypto-tests' (#2222)
* lukechampine/crypto-tests:
  test: add bip32 vectors
  test: add scrypt vectors
  test: add hmac vectors
  test: add ed25519 vectors
  test: add expect arm
  test: add AES SIV mode vectors
  zuse: split sivb keys at correct offset
  test: add AES-CMAC vectors
  test: add AES CTR mode vectors
  test: add AES CBC mode vectors
  test: add AES ECB mode vectors
2020-02-29 19:39:35 +04:00
Logan
1cfd176434
Merge pull request #2369 from urbit/unmanaged-chats-rc
Unmanaged Chats Work Properly and Support Metadata Syncing
2020-02-28 11:52:54 -08:00
Jared Tobin
bd2d90440f
Merge branch 'ted/ford-no-pit' (#2322)
* origin/ted/ford-no-pit:
  pills: update solid
  http.c: revert timeout to original ~m10
  tests: prime ford %reef cache
  http.c: bump timeout from ~m20 to ~m30
  http.c: bump timeout from ~m10 to ~m20
  tests: fix ford tests for no %reef short-circuit
  ford: remove pit short-circuit
2020-02-28 20:48:24 +04:00
lukechampine
f214ac8191 test: add bip32 vectors 2020-02-28 11:47:43 -05:00
Logan Allen
14b28a3d82 chat: unmanaged chats can be joined, have their title/description set, and send invites properly 2020-02-27 16:14:07 -08:00
Isaac Visintainer
4c2cf0e463 base64: revert unnecessary syntax change 2020-02-27 12:43:46 -08:00
Logan Allen
0d69e17f3b apps: main backend integration between metadata and chat 2020-02-26 14:10:32 -08:00
Logan
1272a61443
Merge pull request #2324 from urbit/m/chat-ota
OS1 OTA: chat groups & permissions
2020-02-25 13:17:56 -08:00
Ted Blackman
44b3c9b2a3 tests: prime ford %reef cache 2020-02-25 15:53:08 -05:00
Ted Blackman
af04767dfe tests: fix ford tests for no %reef short-circuit 2020-02-24 18:11:47 -05:00
Logan
f64d720795
Merge pull request #2326 from urbit/os1-metahook
metadata-hook: a hook for sending metadata over the network
2020-02-21 20:05:07 -08:00
Fang
5a029967b7
drum: start metadata-store on-upgrade 2020-02-21 00:50:15 +01:00
Logan Allen
99663fec50 metadata-hook: handle metadata facts 2020-02-19 17:56:36 -08:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Isaac Visintainer
7fced14cfc automatically start contacts and links apps upon recieving ota 2020-02-18 11:22:36 -08:00
Logan Allen
ca7cc1fc10 metadata-store: first compiling version of metadata-store 2020-02-13 13:13:10 -08:00
Isaac Visintainer
b59eb4e8ee make sure notes page has access to subscribers/writers path 2020-02-10 15:57:45 -08:00
Liam Fitzgerald
5449a0e05b hoon: support %spot hint in xray 2020-02-10 14:20:46 +10:00
Logan
d9a94633cb
Merge pull request #2254 from urbit/repn-os1-rc
hoon: added +repn
2020-02-07 16:26:30 -08:00
Logan Allen
a025a7fcb0 hoon: added +repn 2020-02-07 15:59:53 -08:00
Fang
b8ffebcb9d
link: support marking urls as seen 2020-02-07 21:49:16 +01:00
Liam Fitzgerald
5cd189f83c hoon: add %spot typehint
Adds a `[%spot *]` type to the `note` type annotation definition.
These are added when the %dbug hoon is encountered. Done to enable
jump to defintion in the language-server.
2020-02-07 17:57:54 +10:00
Logan Allen
ea93dd3af8 chat + contacts: finished integration for managed groups
Specifically, this commit removes the add action from the contact-view
and replaces it with a listener within contact-hook for additions
to groups. This means that when a ship is added to a group that the
contact-hook is watching, the ship is automatically sent an invite to
join that "managed group" from the contacts application. This also
includes the UI integration work on the management screen and settings
screen for working with the new group / permission structure.
2020-02-06 16:02:45 -08:00
matildepark
9727fab259
Merge pull request #2233 from urbit/m/uplink-os1
link: subscriptions for the frontend
2020-02-05 15:30:53 -05:00
Fang
83ed16fcb7
link: remove /app/link-server-hook
Use link-view instead.
2020-02-05 18:43:27 +01:00
lukechampine
a14d73874a test: add expect arm 2020-02-05 12:10:55 -05:00
Fang
bda077862e
link: prepare marks
Also renames an object attribute to closer match the hoon code.
2020-02-05 17:46:47 +01:00
Fang
e3a4de4d31
link: encode urls in paths using +wood (vs base64)
Base64 encoding isn't actually @ta-safe, since it contains capitals and
=. +wood escapes all such characters explicitly. The result is more
readable and more hoon-native paths, but does mean clients will have to
re-implement +wood locally.
2020-02-05 17:39:08 +01:00
Fang
23db1d3be1
link: implement link-view 2020-02-05 17:35:24 +01:00
Logan Allen
543420b68e chat: cleanup to change api to accept path instead of ship, path 2020-02-04 15:30:02 -08:00
Fang
4a337fa633
link: update subscription model
Better subscription path API support. Should support us better moving
forward.

Note that this kills the server-hook. It will be replaced with a
link-view shortly.
2020-02-04 21:35:33 +01:00
Fang
4951d6ba45
link: support higher-level paths for broader subscriptions
Also re-orders the comment paths to have URL first, which is easier to
handle and also seems more correct wrt the behavior you might want in
the web extension and similar use cases.
2020-02-04 20:35:10 +01:00
Jared Tobin
769996d09f
Merge branch 'liam-fitzgerald/langserver-doc-autocomplete' (#2204)
* liam-fitzgerald/langserver-doc-autocomplete:
  language-server: magic-spoon hover, autocomplete
  language-server: build ford prelude
  language-server: dynamically compute subject
  language-server: revive rune/symbol completion
  language-server: add completion JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-02 19:11:04 +04:00
Isaac Visintainer
fd300aa025 made fetching more robust on notebook page
added infinite scroll and fetching to note page
2020-02-01 12:54:37 -08:00
Isaac Visintainer
919db6a3be pass snippet and about field from backend
wire up routing for notebook page
add infinite scroll and note fetching logic to notebook page
2020-01-31 15:04:24 -08:00
Fang
a26ec1db12
Merge pull request #2209 from urbit/m/link-bugfix
link: listening & comments
2020-01-30 00:51:22 +01:00
Logan Allen
d2ad5b143d hood: added |autocommit generator 2020-01-29 10:42:52 -08:00
Fang
bd2b4f9acb
dbug: support app state printing
:your-app +dbug %state

(cherry picked from commit a7f07866f9)
2020-01-29 14:04:27 +01:00
Fang
38f8bdd497
dbug: add agent wrapper for debugging pokes
Use :app +dbug to get the entire bowl, or specific subscriptions.
(cherry picked from commit 421dae13cf)
2020-01-29 14:04:27 +01:00
Jared Tobin
f19fd5c1a9
Merge branch 'liam-fitzgerald/langserver-rpc-rewrite' (#2181)
* liam-fitzgerald/langserver-rpc-rewrite:
  language-server: align kingside hoon
  language-server: address review issues
  language-server: fixup tests
  language-server: prevent breach being required
  langauge-server: cleanup debug artifacts
  language-server: refactor RPC marks
  language-server: dynamic error highlighting
  language-server: basic request/response cycle
  language-server: first pass at JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:20:07 +04:00
Liam Fitzgerald
97e5570fc7 language-server: revive rune/symbol completion 2020-01-28 12:24:39 +10:00
Liam Fitzgerald
a00a371268 language-server: add completion JSON parsers 2020-01-28 10:08:02 +10:00
Matilde Park
45f9adc10c Merge branch 'publish-remix-fe-encore' into os1-rc 2020-01-27 16:24:21 -05:00
Liam Fitzgerald
3c74888c9d Merge branch 'master' into langserver-rpc-rewrite 2020-01-27 12:11:19 +10:00
Fang
a7f07866f9
dbug: support app state printing
:your-app +dbug %state
2020-01-24 20:48:17 -08:00
A Arroyo
757b4ffcbe merged links fe into os-rc 2020-01-24 16:21:25 -08:00
Isaac Visintainer
3c4933690f added new url routes
added subscriber data to notebooks
2020-01-24 10:58:18 -08:00
Logan Allen
aac3bd9678 contacts: adding yourself to group works 2020-01-23 13:15:17 -08:00
Logan Allen
8de18e4d4c contact hook / group hook is hooked up to ui 2020-01-23 13:15:17 -08:00
Logan Allen
0db2663587 contacts: add member interface works 2020-01-23 13:14:44 -08:00
Logan Allen
de7cd1389d style fixes, relative to absolute paths, renames, additional contact view features 2020-01-23 13:14:44 -08:00
Logan Allen
56a1c3400a contact-hook: added first complete and compiling version 2020-01-23 13:13:52 -08:00
Logan Allen
ed481d89a5 contacts: end to end tested apis with working reducers 2020-01-23 13:13:51 -08:00
Logan Allen
924d9996ab finished hooking up initial data setup to contacts store and view to front-end. still need to do updates and reducer 2020-01-23 13:13:50 -08:00
Logan Allen
47c1745074 contacts: added store, view, marks, ui 2020-01-23 13:12:26 -08:00
Matilde Park
89aa143403 drum: add link-store and related hooks to boot 2020-01-22 18:20:06 -05:00
Liam Fitzgerald
3187d6725b language-server: fixup tests 2020-01-22 12:35:41 +10:00
Liam Fitzgerald
0acc71f103 langauge-server: cleanup debug artifacts 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
1e3fa28735 language-server: refactor RPC marks 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
680e60b2a5 language-server: dynamic error highlighting 2020-01-22 11:30:05 +10:00
Liam Fitzgerald
8822097cd2 language-server: basic request/response cycle 2020-01-22 11:25:19 +10:00
Liam Fitzgerald
ed3fc3f54c language-server: first pass at JSON parsers 2020-01-22 11:25:05 +10:00
Fang
421dae13cf
dbug: add agent wrapper for debugging pokes
Use :app +dbug to get the entire bowl, or specific subscriptions.
2020-01-21 12:34:50 -08:00
Isaac Visintainer
d4ae9dbcc8 added js reducers 2020-01-21 10:49:35 -08:00
Isaac Visintainer
e807e6c223 paginated frontend api 2020-01-21 10:49:35 -08:00
Isaac Visintainer
dcec0315ae sending updates to subscribers 2020-01-21 10:49:35 -08:00
Isaac Visintainer
2836cf3f08 reworked file ingestion to not use ford 2020-01-21 10:49:35 -08:00
Fang
00a4c91f92
link: encode urls in paths in base64 2020-01-07 17:38:39 -08:00
Fang
879e45c377
Merge branch 'master' into m/uplink 2020-01-07 13:30:55 -08:00
Jared Tobin
01afc2a143
Merge branch 'm/gall-gift-paths' (#2134)
* origin/m/gall-gift-paths:
  gall: (list path) in %fact and %kick

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-07 04:17:32 +08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
Fang
ae8a57ca25
gall: (list path) in %fact and %kick
Instead of providing a (unit path), allows for (list path), which better
supports the "update to path and subpath cases".

For example, if /things wants updates about everything, and
/things/specific wants updates about the specific thing, they'll both
need to receive a %fact when the specific thing changes.
Previously, these would have been two separate moves. Now, gall handles
the multi-targeting for you.
2019-12-23 13:37:32 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
9f18877c0a
link: rudimentary comments
As of yet largely untested. The "urls in paths" might bring trouble.
2019-12-21 00:52:09 +01:00
Fang
8a0baed192
link: %add -> %save 2019-12-20 15:58:32 +01:00
Jared Tobin
eee651042c
Merge branch 'm/eth-sending' (#2094)
* origin/m/eth-sending:
  eth-sender: do proper nonce reading
  zuse: implement eth rlp decoding
  zuse: correctly encode leading zeroes in rlp data
  zuse: lightly restructure encode:rlp:ethereum
  static gall: update send-txs
  ethio: implement +request-batch-rpc-loose

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-19 11:20:06 -03:30
Fang
b6f97da2d7
link-server-hook: expose submissions json endpoint 2019-12-18 16:19:03 +01:00
Philip Monk
b14606660a
goad: recompile apps after changes to /sys
OTAs commonly end up in an inconsistent state if apps depend on changes
to /sys.  For example, the %sift changes break on OTA because %spider
needs to be reloaded so that it's aware of the new thread type.  This
adds a %goad app, which reloads all apps after every change to /sys.

Getting this to start OTA is nontrivial, but this pattern should work
for apps in the future.  The changes to clock shouldn't generally be
necessary; they are only necessary here because we can't rely on hood to
start goad, since hood fails to compile if it's run before zuse is
reloaded.  Once goad is active, this will cease to be a problem.
2019-12-13 17:14:51 -08:00
Fang
b482249712
ethio: implement +request-batch-rpc-loose
Produces batch request results regardless of node-side error.

Reimplements +request-batch-rpc-strict using it.
2019-12-13 23:30:52 +01:00
Jared Tobin
aff97bf150
Merge branch 'm/eth-apps' (#2084)
* origin/m/eth-apps:
  claz: clean up head of app file
  static gall: update claz
  ethio: add +get-next-nonce
  zuse: update %eth-get-transaction-count
  zuse: include all relevant azimuth addresses
  ethio: implement +batch-read-contract-strict
  ethio: fail request-rpc more properly
  static gall: update gaze

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:27:04 +08:00
Jared Tobin
9ba4505086
Merge branch 'ames-sift' (#2081)
* ames-sift:
  ames: refactor +load
  ames: +send-blob better ship printing
  hood: |ames-sift generator to trace by ship
  ames: add %sift  to trace by ship

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:06:32 +08:00
Ted Blackman
c500e03b81
hood: |ames-sift generator to trace by ship 2019-12-12 15:55:36 +08:00
Fang
25d390d6b1
server: properly defined request-line type 2019-12-11 20:49:49 +01:00
Fang
a95449cc64
link: social bookmarking core implementation
Stores URLs and their titles for the local ship. Can listen to
"submissions" on foreign ships.

Has a primitive perspective on groups, treating them as
always-interesting. Auto-subscribes to all ships in all groups.

Foreign communications untested.
2019-12-11 20:49:49 +01:00
Fang
fab9097110
static gall: update claz
Largely one-to-one port feature-wise.

Support for document polls was added.

Command preparation and verification got split out into
/ted/claz/prep-command, and got a dedicated +prep-result type to
facilitate future support for more complex preparation steps.
2019-12-11 17:32:33 +01:00
Fang
965529525b
ethio: add +get-next-nonce 2019-12-11 17:32:33 +01:00
Fang
9a708fb8f8
ethio: implement +batch-read-contract-strict
And re-implement +read-contract to use that under the hood.
2019-12-11 17:11:47 +01:00
Fang
abe92e289a
ethio: fail request-rpc more properly
strand-fail instead of crashing.
2019-12-11 17:11:47 +01:00
Jared Tobin
3f50a11e48
Merge branch 'philip/drum' (#2063)
* origin/philip/drum:
  drum: revert tang ordering change

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 16:26:49 +08:00
Philip Monk
5ff9e04204
drum: revert tang ordering change
Turns out this wasn't a regression, it was intended behavior.  I
continue to believe it's the wrong behavior, but that will require a
longer discussion.
2019-12-09 11:47:48 -08:00
Jared Tobin
74c3ad619a
Merge branch 'decommission' (#2051)
* origin/decommission:
  ames: remove last remnants of |nuke

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:02:55 +08:00
Jared Tobin
31f20c30c6
Merge branch 'philip/ew-printfs' (#2050)
* origin/philip/ew-printfs:
  eth-watcher: silence printfs

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:01:01 +08:00
Jared Tobin
27b5ded1d2
Merge branch 'm/chat-eval' (#2009)
* m/chat-eval:
  chat: include .^ paths in its eval failure case
  chat: improve eval implementation

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:48:42 +08:00
Joe Bryan
a0d2d41d0c ames: remove last remnants of |nuke 2019-12-06 11:46:55 -08:00
Philip Monk
2d9a043e6f
eth-watcher: silence printfs 2019-12-06 11:19:05 -08:00
Jared Tobin
0bad1401f0
Merge branch 'philip/drum-order' (#2035)
* philip/drum-order:
  drum: print tangs in order

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:20:53 +08:00
Jared Tobin
3fc349d995
Merge branch 'philip/eth-watcher-silence' (#2022)
* philip/eth-watcher-silence:
  eth-watcher: be quieter about parse errors

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:10:12 +08:00
Philip Monk
ddbfb53b28
drum: print tangs in order 2019-12-05 11:58:55 -08:00
Jared Tobin
2391090b56
Merge branch 'philip/boot-order' (#2023)
* philip/boot-order:
  drum: boot to dojo and start acme

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:45:25 +08:00
Philip Monk
7d2f789696
drum: boot to dojo and start acme 2019-12-04 18:32:28 -08:00
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Liam Fitzgerald
bcd94868cb Merge branch 'master' into tab-complete-chat 2019-12-05 08:40:41 +10:00
Philip Monk
51f9b2e269
aqua: make faster so moon-az can finish 2019-12-03 23:53:42 -08:00
Philip Monk
702dd2c07a
verb: add +verb %bowl to print bowl on every event 2019-12-03 15:05:42 -08:00
Philip Monk
9fa772a342
clay: don't make |cancel require argument 2019-12-03 14:46:39 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -08:00
Fang
bf6658c9ca
chat: include .^ paths in its eval failure case
Also updates the top-level message to avoid problematic terminology.
2019-12-03 01:20:34 +01:00
Ted Blackman
41e7e16689 |ames-verb generator to set verbosity 2019-12-02 18:54:01 -05:00
Fang
febe9470e6
chat: improve eval implementation
Previous implementation was doing double virtualization, which gave issues
around scries. By reimplementing with mint and mock, we get to catch all
possible failure cases and produce an appropriate output for each.
2019-12-03 00:29:19 +01:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
82c4895e32
helm: reset and reload in correct order 2019-11-30 21:54:54 -08:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Philip Monk
c7c42225e2
Merge commit 'fbc81b59'; remote-tracking branch 'origin/mp-chat-redesign' into rc 2019-11-30 16:17:28 -08:00
Philip Monk
74b0f66850
ames: continue processing memos after %done 2019-11-27 15:13:17 -08:00
Fang
fb67eef417
ethio: support batch requests
Implements +request-batch-rpc-strict.
Only succeeds if all requests in the batch succeed.

Re-implements +request-rpc as a batch with one request.
2019-11-27 23:50:37 +01:00
Philip Monk
7ddd1225e0
hood: link chat-cli on startup 2019-11-27 01:21:16 -08:00
Philip Monk
f035955a36
ames: rename alef -> ames 2019-11-27 00:46:02 -08:00
Liam Fitzgerald
2ef42ba3de language-server: genericise searching gates
genericise searching gates, as we are not always searching against
a [term type]. e.g. chat-cli autocomplete
2019-11-27 18:10:22 +10:00
Philip Monk
2e9abe18ad
drum: restore startup apps 2019-11-26 23:08:42 -08:00
Philip Monk
4a0c5be2ba
Merge remote-tracking branch 'origin/la-convert' into philip/mall-real 2019-11-26 22:56:33 -08:00
Logan Allen
8b63aeb865 chat-store: added in chat-history changes 2019-11-26 12:50:36 -08:00
Philip Monk
b658f11c42
dns: reduce to simpler threads 2019-11-25 21:54:46 -08:00
Matilde Park
be4b479660 soto: amend tab sole-effect json and handler
The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't
catching or writing them to the screen. This commit amends both the
handler and the sole-effect to fix that behaviour.
2019-11-25 19:38:07 -05:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Isaac Visintainer
51d61e4d49 static gall: convert soto 2019-11-22 12:57:58 -08:00
Isaac Visintainer
dc3aa348a0 static gall: convert publish 2019-11-22 12:57:58 -08:00
Philip Monk
f8b612d053
ph: add ph-all to run multiple tests 2019-11-22 12:46:30 -08:00
Philip Monk
9d47222139
Merge remote-tracking branch 'origin/mall-testnet' into philip/mall-real 2019-11-21 19:07:28 -08:00
Philip Monk
9f89c8b8bc
drum: fully unlink 2019-11-20 14:26:13 -08:00
Philip Monk
b8903e9a6f
gall: fix ap-kill-down
This broke when %kick was handled by resubscribing on your own ship
because it processed the %kick before the %leave.  For example, `@t`404
at the dojo would put the dojo in an unworkable state.

You want the %leave to be processed first because you can't do a
"resubscribe" in response to that.
2019-11-20 13:24:19 -08:00
Philip Monk
1d1119c1f3
drum: unsubscribe on poke-ack failure 2019-11-20 12:12:33 -08:00
Ted Blackman
39144ee977 drum: fix nest-fail 2019-11-20 01:45:44 -05:00
Ted Blackman
7eeea1f25b drum: add %spider to default apps 2019-11-20 01:36:36 -05:00
Jared Tobin
5258579ee2
Merge branch 'matilde/soto' (#1952)
* origin/matilde/soto:
  soto: style changes
  interface: add soto source code
  drum: Boot with %soto
  arvo: adds soto application
  mar/sole: add %tab conversion

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-20 13:15:42 +08:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Philip Monk
9862dccc0e
mall: age -> app 2019-11-18 19:28:59 -08:00
Jared Tobin
053c784de6
Merge branch 'chat-history' (#1948)
* chat-history:
  chat: added temporary chat-two-update mark with new %messages type
  chat: oust correctness fix and js style fix
  chat-store: factored out functions used in both message and messages
  chat: style fixes
  chat: fixes to cli parser and increased page size in hook
  chat-js: updated to support %messages events
  sur: added rw-security to replace chat-security
  chat: add history functionality. optionally request backlog.

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-19 10:47:40 +08:00
Philip Monk
7837d51aba
spider: rename thread -> strand, imp -> thread 2019-11-16 04:07:09 -08:00
Liam Fitzgerald
87da55073e language-server: fix cord reverse 2019-11-16 11:48:25 +10:00
Liam Fitzgerald
f299bf9d2c language-server: use modern tisfas syntax 2019-11-16 11:46:17 +10:00
Philip Monk
c1b0bd63e4
spider: don't pass in initial bowl 2019-11-15 17:37:20 -08:00
Logan Allen
8421e236df chat: added temporary chat-two-update mark with new %messages type 2019-11-15 15:27:50 -08:00
Philip Monk
fc28e6e378
ph: make breach-sync pass 2019-11-15 12:46:11 -08:00
Liam Fitzgerald
b0c5b7b0fe language-server: add function signature on hover
Add function signature on hover. Fixes bug around autocomplete
not working properly when the cursor was mid-word.
2019-11-15 11:17:00 +10:00
Matilde Park
8fb13e4f99 soto: style changes
This commit amends the Soto application with style changes
requested during code review, including structuring the mark
conversion as a library.
2019-11-14 20:06:11 -05:00
Philip Monk
9ace7ff590
ph: make breach-hi pass 2019-11-14 16:39:28 -08:00
Philip Monk
4cb821de11
ph: get boot-az working 2019-11-14 13:31:55 -08:00
Logan Allen
dcde20c86c sur: added rw-security to replace chat-security 2019-11-14 10:42:55 -08:00
Logan Allen
9cacb12dbc chat: add history functionality. optionally request backlog. 2019-11-14 10:42:52 -08:00
Matilde Park
86e99c998c drum: Boot with %soto
Adds %soto to default application pool, so it shows up in Landscape
for fresh ships.
2019-11-14 13:40:05 -05:00
Philip Monk
32ea09caf2
mall: remove old hood libraries 2019-11-14 10:39:50 -08:00
Philip Monk
881517c872
mall: fix tests 2019-11-13 20:45:12 -08:00
Philip Monk
adc54531fc
mall: autostart lens 2019-11-13 17:26:29 -08:00
Philip Monk
cd3308d8d9
mall: convert lens 2019-11-13 16:20:24 -08:00
Philip Monk
4a6e98a558
mall, eyre: refactor server apps to be stateless 2019-11-13 00:38:35 -08:00
Philip Monk
1d1e9c0e16
eyre: better userspace libraries 2019-11-12 23:37:38 -08:00
Philip Monk
47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
Philip Monk
54d55b69e4
mall: fix ph 2019-11-12 21:03:21 -08:00
Philip Monk
1caa30d812
mall: convert eth-watcher to mall/imp 2019-11-11 21:36:32 -08:00
Philip Monk
5c1d68bf44
spider: add process tree 2019-11-09 23:27:07 -08:00
Philip Monk
ab8ac96702
spider: allow arguments and return values 2019-11-09 19:09:02 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Philip Monk
1c8bddfb15
mall: ci 2019-11-08 19:52:18 -08:00
Philip Monk
47f24faaf8
mall: convert chat-cli 2019-11-08 19:32:21 -08:00
Philip Monk
7c4316fce4
mall: refactor gift/sign/task types
+on-agent now takes a +sign:agent:mall, which doesn't include spurious
options.  Similarly, +task:agent:mall is smaller.
2019-11-08 17:35:24 -08:00
Philip Monk
aba0811b1d
mall: add lib/verb 2019-11-08 15:18:29 -08:00
Philip Monk
1688fe82fd
mall: add flag to default-agent to assist with errors 2019-11-08 13:56:35 -08:00
Philip Monk
4ef1278cfa
mall: add lib/skeleton 2019-11-08 13:18:27 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Jared Tobin
3ec88f9bb1
Merge branch 'goad-gall' (#1915)
* goad-gall:
  updates solid pill
  dill: fixes cursor position during boot
  dill: adds %goad automation
  dill: refactors move production
  goad: adds app to unblock :hood if necessary
  hood: adds |goad-gall generator
  gall: restores "not-running" printf
  gall: adds %goad task force agent rebuilds

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 17:29:45 +08:00
Jared Tobin
0e6542afd5
Merge branch 'philip/language-server' (#1910)
* philip/language-server:
  language-server: address review comments
  language-server: fix rune typos
  language-server: multiple files and ford
  language-server: namespace libraries
  language-server: cleanup and incremental text sync
  language-server: initial commit

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 16:12:26 +08:00
Jared Tobin
144445beb1
Merge branch 'invite-app' (#1901)
* origin/invite-app:
  chat-hook: upgrade from old state and perform invitatory creation and subscription
  invite-hook: crash upon invalid invite received
  changed invite peek interface to /:path/:uid
  invite: add comments and clean up
  chat-js: added invite functionality
  chat-hook: added invite functionality
  app: added invite app and mark converters to JSON

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-06 15:47:05 +08:00
Philip Monk
65f5b95146
spider: convert dns 2019-11-05 23:28:20 -08:00
Philip Monk
9f0b1f9ae9
language-server: forward port changes to static gall 2019-11-05 20:33:11 -08:00
Philip Monk
545fe25cd2
language-server: address review comments 2019-11-05 20:26:33 -08:00
Philip Monk
7448432707
drum: don't print stack trace on phat reap 2019-11-05 20:05:31 -08:00
Joe Bryan
c26d547625 hood: adds |goad-gall generator 2019-11-05 13:04:27 -08:00
Philip Monk
faf3741b41
mall: convert chat-store 2019-11-05 11:30:58 -08:00
Jared Tobin
3fac197ec1
Merge branch 'eth-watcher-2' (#1895)
* eth-watcher-2: (21 commits)
  eth: move existing chain requests into ethio
  eth-watcher: refactor refresh rate to top of file
  hook: add pool-group-hook for making invite groups
  ethio: add +read-contract for chain state reading
  zuse: add delegated-sending address
  eth: move eth-watcher's request-rpc into ethio lib
  gaze: make compile for latest eth-watcher
  drum: start eth-watcher on boot
  azimuth-tracker: remove deprecated generator
  eth: implement azimuth-tracker using eth-watcher
  eth-watcher: ensure logs always sent oldest-first
  eth-watcher: allow peers to unconfigured watchdogs
  eth-watcher: saner %watch behavior
  eth-watcher: implement %clear poke
  eth-watcher: store logs in state to implement peer
  eth-watcher: move types into /sur file
  eth-watcher: properly tag out-peer-data
  eth-watcher: single update timer loop
  eth-watcher: implement /block peek
  eth: turn azimuth-tracker into eth-watcher
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-05 17:11:19 +08:00
Philip Monk
0e2da1e130
mall: convert lanaguage-server 2019-11-04 23:47:27 -08:00
Philip Monk
189f6cc955
language-server: fix rune typos 2019-11-04 23:46:46 -08:00
Philip Monk
aea2a76363
Merge branch 'philip/language-server' into philip/mall-real 2019-11-04 21:44:17 -08:00
Philip Monk
0638d23840
mall: forward port userspace changes 2019-11-04 21:35:42 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Philip Monk
0713d3d38c
language-server: multiple files and ford
Handle multiple files by keeping a map of text buffers.  Also use the
Ford parser so we can parse ford runes.  At some point we should load in
libraries when that happens so we have the appropriate types.

This corresponds to hoon-language-server 0.1.1
2019-11-04 18:18:36 -08:00
Fang
8c452ef61f
Merge branch 'eth-watcher-2' into pool-group-hook 2019-11-04 20:52:29 +01:00
Fang
5c6c75c7ea
eth: move existing chain requests into ethio
To avoid reimplementing these (on top of ethio) every time. This seems
like a good place to centralize chain request logic going forward.
2019-11-04 18:59:30 +01:00
Philip Monk
8fe859ad49
language-server: namespace libraries 2019-11-03 21:54:04 -08:00
Philip Monk
647c0ddf8b
language-server: cleanup and incremental text sync 2019-11-03 21:46:15 -08:00
Philip Monk
da71dac4ab
language-server: initial commit
A simple language server engine, for use with hoonls.py, which presents
the RPC interface expected by editors.  Features:

- Syntax error detection
- Rune snippets
- Autocomplete
2019-11-03 21:42:35 -08:00
Jared Tobin
988b3a4785
Merge branch 'philip/tab-complete' (#1899)
* philip/tab-complete:
  auto: gain and lose types on ?:
  auto: handle tab in middle of symbol
  auto: support forks
  auto: support autocomplete inside wings
  auto: fix some crashes on strange wet gates
  auto: support multiline tab completion
  auto: don't look in context of non-gold cores
  easy-print: don't crash if type-check crashes
  dojo, drum: change %tab sole-effect to use tanks
  dojo, auto: move insert-magic logic to lib/auto
  dojo, drum: give tab completion as true output
  dojo: add a better function printer
  dojo: add tab completion

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-03 22:09:55 +08: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
Philip Monk
ec3ab084c7
auto: gain and lose types on ?: 2019-11-01 18:02:20 -07:00
Logan Allen
d7eb005ae8 invite: add comments and clean up 2019-11-01 14:04:50 -07:00
Logan Allen
656f264f96 app: added invite app and mark converters to JSON 2019-11-01 14:04:50 -07:00
Jared Tobin
f30e1d9993
Merge branch 'remove-hall'
* remove-hall:
  apps: remove %hall and %talk

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-01 18:11:30 +08:00
Fang
e402cbc550
ethio: add +read-contract for chain state reading 2019-11-01 18:09:50 +08:00
Philip Monk
ce6efe0a6a
auto: handle tab in middle of symbol 2019-11-01 00:18:34 -07:00
Philip Monk
ad4f0c3ea3
auto: support forks 2019-10-31 23:21:10 -07:00
Philip Monk
1fe453ee93
auto: support autocomplete inside wings 2019-10-31 22:43:50 -07:00
Philip Monk
0014d1cf2b
auto: fix some crashes on strange wet gates 2019-10-31 21:37:24 -07:00
Philip Monk
f3626e17e6
auto: support multiline tab completion 2019-10-31 20:54:00 -07:00
Philip Monk
e4a89b072c
auto: don't look in context of non-gold cores 2019-10-31 16:38:47 -07:00
Philip Monk
8e66d84c83
easy-print: don't crash if type-check crashes
also don't render all the types if there's more than 10.
2019-10-31 15:53:43 -07:00
Philip Monk
9487481128
dojo, drum: change %tab sole-effect to use tanks
It should be general-purpose for tab-completing things in other apps,
types are inappropriate.
2019-10-31 15:14:41 -07:00
Philip Monk
ee63e122ea
dojo, auto: move insert-magic logic to lib/auto
This changes the entry-points in lib/auto so that clients never have to
handle magic-spoon.  You can specify either a tape of code with a
position index or a preparsed hoon (presumably you ran +insert-magic
before parsing).
2019-10-31 14:56:54 -07:00
Philip Monk
4482997a16
dojo, drum: give tab completion as true output
This stops slogging the tab completion and intead adds a +sole-effect
for tab completion output.  This is morally correct, and it lets dojo
clients show tab completions how they want.  For example, web dojo could
implement this as a drop-down box.

Another advantage is that this puts the rendering logic in drum, which
knows the width of the terminal.  Thus, we can make sure each match
takes no more than one line by truncating with ellipses.  If there's
only one match and it's already fully typed, then we display the whole
type.
2019-10-31 14:36:14 -07:00
Philip Monk
4d0e77a6b2
dojo: add a better function printer
It's useful to know what a function takes and produces, so this changes the autocomplete type prettyprinter to emphasize those.  This also gives a nice syntax for molds.  Examples:

```
-----
add  {a/@ b/@} -> @
~zod:dojo> add
-----
term  * -> @tas
~zod:dojo> term
-----
sign-transaction  {tx/{nonce/@ud gas-price/@ud gas/@ud to/@ux value/@ud data/@ux chain-id/@ux} pk/@} -> @ux
~zod:dojo> sign-transaction🔑ethereum
-----
wind  {a/(* -> *) b/(* -> *)} -> * -> ?({$give p/*} {$pass p// q/*} {$slip p/*})
~zod:dojo> wind
```
2019-10-31 13:56:20 -07:00
Fang
848805e007
eth: move eth-watcher's request-rpc into ethio lib
Once this is more fully featured, /app/claz could be refactored with it.
2019-10-31 15:54:56 +01:00
Philip Monk
76b917f426
dojo: add tab completion
This is initial support for type-aware tab completion.  When you hit tab, it tries to complete the word you're in the middle of using a face or arm in the subject at that point in the code.  It also shows all possible matches and their associated types.  It's nearly instantaneous.  Notes:

- It advances to the longest common prefix, so if you hit tab on `ab` and the only possible results are `abcde` and `abcdz`, then it'll write `abcd` and print both out (with their types).

- If there are fewer than ten matches, it prints the type along with the face.  Printing types is too slow to use all the time, but with 10 it's essentially instantaneous.

- The match closest in the subject to you (i.e. smallest axis number) is displayed lowest (closest to your focus).

Examples below, where `<TAB>` represents me hitting tab while my cursor is at that position (the line with the `<TAB>` is not preserved in the actual output).

```
~zod:dojo> eth<TAB>
-----
ethereum        #t/<11.qcl {<3.ltb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141> <21.yeb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141>}>
ethereum-types  #t/<3.ltb 27.ipf 7.ecf 36.uek 92.bjk 247.ows 51.mvt 126.xjf 41.mac 1.ane $141>
~zod:dojo> ethereum
~zod:dojo> |=  zong=@ud  z<TAB>
-----
zing  #t/<1.dqs {* <126.xjf 41.mac 1.ane $141>}>
zap   #t/<1.iot {tub/{p/{p/@ud q/@ud} q/""} <1.rff {daf/@t <247.ows 51.mvt 126.xjf 41.mac 1.ane $141>}>}>
zuse  #t/$309
zong  #t/@ud
~zod:dojo> |=  zong=@ud  zo<TAB>
-----
zong  #t/@ud
~zod:dojo> |=  zong=@ud  zong
~zod:dojo> <TAB>
hoon-version
trel
quip
pole
unit
qual
lone
... about 600 more lines ...
unity
html
zuse
eny
now
our
~zod:dojo>
```

Functionally, this is in a state where I'd be comfortable shipping it.  It doesn't interfere with anything if you don't press tab, and it's perfectly OTA-able.  I do think its output is a little verbose, but that can be tuned over time as people try it and determine what feels good in practice.

Additional notes:

- There are plenty of similar systems for other languages, but my most direct inspiration is Idris's editor tools.  This is implemented for the dojo, but I actually want it in my editor, which is why the meat is all defind in a library.  I've only tested on dojo one-liners, so I don't know the performance on large blocks of code.

- The default type printer isn't great for this use case.  In particular,
	- Cores should not print anything about their context
  - The `#t/` should go away
  - If it looks like a gate, we should print its return value
  - Maybe special handling for molds, but if the above is done, then for example `bone` is  `* -> @ud`.

- The worst part about our wing ordering is that it really screws up tab completion.  You want to do `point.owner-address` instead of `owner-address.point` because that lets you type `point.ow<TAB>`.  I weakly prefer reading it how we do it now, but it's really not great.  You could do an (dojo-specific?) alternate syntax of `point;owner-address`; this is a simple transformation.

- Regardless of the above, this should handle the case where we're in the middle of defining a wing; it doesn't right now.

- When a variable is shadowed, we show both of them.  We should probably show the shadowed one with a `^`.

- We probably shouldn't print out hundreds of results.  Maybe just the closest 50 with ellipses.

- This gets you any face in your subject, regardless of whether its type is reasonable.  We could limit that some by copying the `gol` logic in mint, so that if the pseudo-backward-inference engine happens to know what type it should be, you can filter the tab results according to if they nest in that type.  This would be "strongly type-aware".
2019-10-30 23:19:25 -07:00
Joe Bryan
aba3ea8055 dns: sends notifications directly to %dill (and adds tapp support) 2019-10-30 15:14:54 -07:00
Logan Allen
c660a79332 apps: remove %hall and %talk 2019-10-30 13:52:19 -07:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Fang
522f598770
drum: start eth-watcher on boot
Alongside the azimuth-tracker that depends on it.
2019-10-30 20:18:56 +01:00
Fang
7bc17357ba
eth: remove old eth-watcher files
These were deprecated in favor of azimuth-tracker in #1320.

(Azimuth-tracker, however, isn't a general-purpose Ethereum log watcher
tool. Commits to transform it into a more broadly useful tool are
forthcoming.)
2019-10-25 13:08:27 +02:00
Philip Monk
5d5936bbb7
custody: move to separate repo 2019-10-24 16:03:46 -07:00
Philip Monk
87f689f443
custody: add more types 2019-10-21 15:41:28 -07:00
Joe Bryan
fa01bfb0a5 hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
Ted Blackman
625f855f24 master without pills, hopefully 2019-10-14 16:02:27 -04:00
Logan Allen
b12e305c9c apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -07:00
Philip Monk
c668a24df2
custody: get data from chain 2019-10-10 18:26:18 -07:00
Philip Monk
adba48241a
spider: convert azimuth-tracker to imp 2019-10-10 15:30:24 -07:00
Jared Tobin
77af7aff72
Merge branch 'claz-invites' (#1809)
* claz-invites:
  claz: Implement batch invites
  keygen: Add ownership-from-ticket function

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-10 10:47:59 +04:00
Fang
e6775d0907
keygen: Add ownership-from-ticket function
Many use cases care only for the ownership wallet. Using a function like
this, that derives exclusively that, saves computation time.
2019-10-09 21:19:04 +02:00
Philip Monk
754fd61e1b
custody: initial commit 2019-10-09 10:32:27 -07:00
Fang
9d63a3e9c7
drum: Ensure dojo prompt on-boot
The previous method for doing this relied on "dojo" being first when
sorting alphabetically, which is not the case anymore.
2019-10-09 18:02:03 +02:00
Fang
b7f1e9c578
Merge branch 'odyssey-wip' into odyssey-chat-cli 2019-10-08 23:32:57 +02:00
Fang
816535c311
drum: Boot with %chat-cli, without %hall & %talk
Also refactors the surrounding code in +deft-apes.
2019-10-08 23:19:05 +02:00
Fang
24859907aa
chat-cli: Cosmetic improvements
Better variable naming. Trailing newline.
2019-10-08 23:00:46 +02:00
Fang
e567de9c18
chat: Move eval logic out of /lib/chat-json
This allows us to always include the bowl when evaluating a code letter.
2019-10-08 22:44:20 +02:00
Fang
9532857ef5
chat: Move eval logic into lib 2019-10-08 22:06:28 +02:00
Logan Allen
6ab2879b81 chat: fixed eval function to disable scry 2019-10-08 12:13:29 -07:00
Logan Allen
fbbb3830b2 chat: style fixes, removed some redirect bugs from chat 2019-10-08 10:11:18 -07:00
Logan Allen
79903ff9f5 chat: changed wire format and quitting subscription properly on ban 2019-10-07 17:35:48 -07:00
Logan Allen
39a5017254 chat: added old @ messages, now called %me messages 2019-10-03 13:33:07 -07:00
Logan Allen
693b6f2b81 hood: added chat-store, hook, and view to startup 2019-10-02 18:30:50 -07:00
Logan Allen
0f5eea480d chat: added new JS files, deleted old chat.hoon 2019-10-02 18:30:41 -07:00
Philip Monk
aaf21f1f99
ph: port all azimuth tests to imps 2019-10-01 20:25:19 -07:00
Philip Monk
01c120e8de
ph: port azimuth handlers to imp 2019-10-01 19:50:25 -07:00
Philip Monk
45b19807f5
spider, ph: convert all fake tests to imps 2019-10-01 15:06:12 -07:00
Logan Allen
f9377536fb app: Added chat store, hook, marks, and view. 2019-10-01 10:18:36 -07:00
Philip Monk
9fc28a9538
mall: populate wex.bowl with outgoing subscriptions
fixes #1466
2019-09-30 20:53:12 -07:00
Logan Allen
ee92862785 hood: start up groups and permissions 2019-09-30 16:43:09 -07:00
Logan Allen
4b01718d76 apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
Logan Allen
166465af59
zuse: added path, tank, string utils to en/dejs 2019-09-30 01:31:46 +04:00
Jared Tobin
5c99f33271
Merge branch 'ted/verb' (#1754)
* ted/verb:
  update pill
  hood: |knob {tag} {level} to set dill verbosity
  dill: set verbosity by error tag
2019-09-29 21:09:05 +04:00
Ted Blackman
0bf9e98d08
hood: |knob {tag} {level} to set dill verbosity 2019-09-29 20:45:10 +04:00
Philip Monk
9c9115a7e0
spider, ph: convert ph to imps 2019-09-28 21:44:31 -07:00
Philip Monk
b79dead5f8
spider: convert example-fetch to imp 2019-09-27 10:40:22 -07:00
Jared Tobin
ba6f60cc66
Merge branch 'la-remove-hall-hood' (#1771)
* la-remove-hall-hood:
  hood: remove hall dependency.

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-09-27 15:41:23 +04:00
Logan Allen
707a667d47 hood: remove hall dependency. 2019-09-26 15:03:13 -07:00
Philip Monk
814d97fafd
spider: add +main-loop 2019-09-25 22:43:14 -07:00
Philip Monk
45451aeafa
spider: initial commit 2019-09-25 21:12:58 -07:00
Philip Monk
e6f5b0d3fd
mall: fix %child-sync ph test 2019-09-25 13:19:09 -07:00
Philip Monk
34ab4c4e77
mall: convert aqua vane handlers to mall 2019-09-24 19:04:27 -07:00
Philip Monk
a4dcad7d46
gall: unsubscribe after breach
fixes #1431
2019-09-24 15:00:16 -07:00
Philip Monk
30f74368fb
mall: convert hall to mall 2019-09-23 20:46:59 -07:00
Philip Monk
fc9f17ae23
mall: convert talk to mall
also change !< to crash on failure
2019-09-23 15:44:48 -07:00
Logan Allen
1b87eb2c3c
chat: message processing time down to 60ms 2019-09-20 11:43:30 -02:30
Philip Monk
eeac28bdc6
mall, hood: deduplicate types in libs 2019-09-13 13:34:30 -07:00
Philip Monk
d7671efec0
mall, hood: avoid referencing library internals 2019-09-13 11:54:07 -07:00
Philip Monk
839a822f71
mall: convert hood/dojo to refactored form 2019-09-12 15:01:55 -07:00
Philip Monk
fbf56e3033
mall: refactor and rename
remove bones, give agent arms long names, remove metavase use, general
cleanup
2019-09-11 21:02:49 -07:00
Philip Monk
abf4bc39cd
wip 2019-09-10 13:12:38 -07:00
Philip Monk
1ca4c72aa5
mall: make boot 2019-09-09 20:04:38 -07:00
Joe Bryan
f5263e0395
talk, chat: disables scry in hoon eval
We don't care about the static types in the use-cases where we need to
prevent scry (to prevent accidental data disclosure). We can evaluate
the expression, virtualized and untyped, and then just clam.
2019-09-08 19:45:20 -02:30
Philip Monk
7f5ac366c9
mall: convert write to mall 2019-09-05 21:36:57 -07:00
Philip Monk
0f6bd70aa3
mall: convert kiln to mall 2019-09-05 21:24:20 -07:00
Philip Monk
2c5a478a84
mall: convert drum to mall 2019-09-05 20:01:31 -07:00
Philip Monk
84c7b442e9
mall: convert helm to mall 2019-09-05 18:46:55 -07:00
Philip Monk
274e8aad90
mall: hood framework 2019-09-04 15:46:47 -07:00
Philip Monk
bc1ba10a11
mall: compiles and runs app, but type hole 2019-09-04 12:49:16 -07:00
Jared Tobin
0bd06fe210
Merge branch 'jt-gall-refactor' (#1668)
* jt-gall-refactor: (76 commits)
  gall: fix issue id in comment
  pills: update solid
  gall: handle foreign coup success
  gall: only print peek bad result if bad
  gall: add basic test harness
  pills: update solid, brass, ivory
  gall: fix obvious nest-failing tisdot
  gall: change '-state' to '-core' for +mo and +ap
  zuse, gall: deprecate 'club'
  zuse, gall, eyre: deprecate 'cush'
  zuse, gall, eyre, dojo: deprecate 'cuft'
  gall: remove slam-related printfs
  gall: remove deprecated 'mak' from 'agents'
  gall: use less vertical spacing throughout
  gall: add comment re: unpopulated wex
  gall: use less vertical separation when wuthepping
  gall: fix whitespace
  gall: don't define 'move' as a pair
  gall: don't give faces to tags
  gall: gut some unused stuff
  ...
2019-08-29 19:05:25 -02:30
Ted Blackman
0fc1675928 Merge branch 'master' into alef-testnet 2019-08-27 14:06:09 -07:00
Jared Tobin
fa64a8092a
Merge branch 'philip/autocommit' (#1662)
* philip/autocommit:
  kiln: add autocommit
2019-08-27 09:18:36 -02:30
Philip Monk
a25b082e04
dill, helm: add lite boot option with -l 2019-08-26 11:04:24 -07:00
Philip Monk
4958dc506d
kiln: add autocommit 2019-08-25 02:11:02 -07:00
Philip Monk
ec9eedd50f
ph: clean up card structures 2019-08-22 15:33:52 -07:00
Jared Tobin
5798a50c40
helm, drum: remove deprecated %load
This was an artifact of %gall's old 'culm' type, which was removed in
1fe4ff1605 (2019-04-12).
2019-08-22 12:33:19 -02:30
Ted Blackman
c1708fb9f2 Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 17:37:26 -07:00
Philip Monk
e612e6d063
oops 2019-08-20 17:34:59 -07:00
Ted Blackman
0686429f95 Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 16:52:04 -07:00
Philip Monk
2c2ef195a7
add sponsorship chain keys to %dawn event 2019-08-20 16:41:50 -07:00
Ted Blackman
fc9104cb47 Merge branch 'master' into alef-testnet (might not work) 2019-08-19 14:43:39 -07:00
Ted Blackman
f28c011ed4 TEMP turn off extraneous apps on boot for dev 2019-08-13 17:55:10 -07:00
Isaac Visintainer
2212323b4d added launch, chat, publish, clock, and weather as default apps for comets 2019-08-13 11:43:18 -07:00
Jared Tobin
14b6816300
Merge pull request #1606 from urbit/modulo-lib-surs
Make modulo follow lib-sur conventions
2019-08-12 19:52:51 -07:00
Philip Monk
6349fc85ee
add +scry to lib/stdio 2019-08-12 13:50:14 -07:00
Fang
a59149bc23
Move :publish app state type into app itself 2019-08-11 12:21:39 -07:00
Fang
2726eff1d4
Move :chat types into /sur 2019-08-11 11:59:59 -07:00
Ted Blackman
370213bb65 add gall %wash to clear caches 2019-08-10 14:24:31 -07:00
Ted Blackman
65bea91f9d start %ping on startup; fix printing bugs 2019-08-10 11:58:08 -07:00
Fang
cac4b2b70f
Move :launch types into /sur 2019-08-09 14:54:52 -07:00
Jared Tobin
fc559b7d33
Merge pull request #1399 from urbit/chat-message-types
Message type support in Chat
2019-08-09 06:48:21 -02:30
Fang
05950770f4
Merge branch 'master' into chat-message-types 2019-08-08 15:01:00 -07:00
Philip Monk
bd36e61b22
Merge remote-tracking branch 'origin/master' into philip/kale 2019-08-08 14:51:14 -07:00
Philip Monk
5800c66647
longer keys 2019-08-08 11:52:44 -07:00
Joe Bryan
b62b63a1f0 Merge branch 'generate-release-brass' into stage-solid-redux
* generate-release-brass:
  updates lib/pill to support all relevant userspace marks
2019-08-08 11:47:58 -07:00
Ted Blackman
ea2a3b0f67 Merge branch 'philip/kale' into alef-testnet and fix printing 2019-08-07 21:57:04 -07:00
Philip Monk
c453450d9c
add |moon, |moon-cycle-keys, and |moon-breach 2019-08-07 17:59:01 -07:00
Philip Monk
eed4c6a236
add rekey to jael 2019-08-07 15:15:25 -07:00
Philip Monk
6eb4d9389d
remove snapshot scaffolding 2019-08-07 13:54:47 -07:00
Philip Monk
900e7fc12c
review fixes 2019-08-07 13:44:41 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Philip Monk
08e4990fea
remove unused azimuth logs from test 2019-08-06 00:17:26 -07:00
Philip Monk
38fb4fb5a3
remove more printfs 2019-08-05 23:47:16 -07:00
Philip Monk
f4d4d7dfe8
fix full moon-az test 2019-08-05 23:11:40 -07:00
Ted Blackman
626f7c9a75 Merge branch 'philip/kale' into alef-testnet 2019-08-05 22:06:53 -07:00
Philip Monk
0adc83ecf6
get pills from aqua 2019-08-05 17:44:52 -07:00
Philip Monk
03da8b40f0
add moon test 2019-08-02 15:19:40 -07:00
Ted Blackman
1d62f1eecc Merge branch 'philip/kale' into alef-testnet 2019-08-01 15:56:23 -07:00
Philip Monk
9b798a8722
reenable apps 2019-08-01 11:43:33 -07:00
Philip Monk
54a3031397
add keys to sponsor in preboot validation 2019-08-01 11:14:36 -07:00
Fang
3e028fde21
Render tanks in hall json at safer width 2019-07-31 13:40:30 +02:00
Fang
39cf0388be
Work around weird zuse shadowing bug
`..zuse` gave `%309`, which is equivalent to `zuse`. Somehow, `..^zuse`
gives the correct result.
2019-07-31 13:39:31 +02:00
Philip Monk
583da25e50
add test for sudden breaches 2019-07-30 16:53:40 -07:00
Philip Monk
578d14bfea
implement kale hierarchy 2019-07-30 16:26:47 -07:00
Philip Monk
e39a2c0467
all breach tests pass 2019-07-29 15:09:08 -07:00
Ted Blackman
14dba1d4ac all tests pass 2019-07-29 04:05:52 -07:00
Ted Blackman
9670408a06 Merge branch 'master' into alef-breach 2019-07-29 00:27:58 -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
577eed93b8
migrate ames to kale 2019-07-26 20:44:43 -07:00
Ted Blackman
6c22beea8c Merge branch 'master' into alef-breach 2019-07-22 11:46:40 -07:00
Philip Monk
93a4160a35
Merge remote-tracking branch 'origin/v0.8.0.rc' into philip/kale 2019-07-22 10:39:15 -07:00
Joe Bryan
43a8dc5d7e
Merge pull request #1363 from urbit/improved-dns-debugging
improved debug-ability the dns apps
2019-07-19 16:45:32 -07:00
Joe Bryan
80dfced914 updates lib/pill to support all relevant userspace marks 2019-07-19 16:42:00 -07:00
Joe Bryan
ab5f462d73 updates tapp to prevent loss of state on prep 2019-07-19 15:54:51 -07:00
Logan Allen
027ff9ff14 Fixed drum by removing timer 2019-07-19 10:49:38 -07:00
Philip Monk
994472ece1
azimuth-tracker sends to kale 2019-07-18 17:08:01 -07:00
Ted Blackman
793fc5c213 all vanes compile, at least individually 2019-07-15 14:23:34 -07:00
Logan Allen
96a26e9f62 Updated timer and chat app, server and eyre with latest 2019-07-12 11:04:47 -07:00
Isaac Visintainer
a60d8cdbfc changed name of app to be consistent 2019-07-11 15:07:05 -07:00
Fang
12b8134c33
Merge branch 'v0.8.0rc' into gut-by 2019-07-10 01:49:07 +02:00
Logan Allen
ebd61dcc4f Removed lib/prey 2019-07-05 16:42:50 -07:00
Logan Allen
1c3764ba03 Remove quri mark, map-to-json lib, mar/hall/speeches, lib/httr-to-json, app/time, and app/server 2019-07-05 16:29:59 -07:00
Logan Allen
5e48b4ce82 Remove ask, rss-xml, x-urb, x-urb-elem 2019-07-05 15:15:15 -07:00
Logan Allen
f43a5e1b5d Removed old references to setting up fora, streams, collection, web folder, landscape, and plan 2019-07-05 15:05:09 -07:00
Logan Allen
4c7634ec57 Merge branch 'rc-modulo' of github.com:urbit/urbit into rc-modulo 2019-07-05 13:55:09 -07:00
Logan Allen
da118c90de Updated all apps to use launch-action mark 2019-07-05 12:59:43 -07:00
Joe Bryan
27da0d61d8 renames +http-client interface core to +iris 2019-07-03 23:52:22 -07:00
Joe Bryan
e0f17b0ff1 moves +http-server interface core into +eyre 2019-07-03 23:29:13 -07:00
Joe Bryan
62522f87c1 renames %lient to %iris 2019-07-03 17:08:23 -07:00
Joe Bryan
f31b12c964 renames %rver to %eyre 2019-07-03 16:02:49 -07:00
Logan Allen
8485b0c889 Updated all apps to use launch-action mark 2019-07-01 16:19:56 -07:00
Fang
eb6c8a45ce
Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02: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