Commit Graph

352 Commits

Author SHA1 Message Date
Logan Allen
f1b10f2a07 graph-store: sort graph with most recent at left of graph (gth) 2020-06-24 14:13:15 -04:00
Liam Fitzgerald
47352a06ba groups: finalize state adapters 2020-06-24 10:28:57 +10:00
Logan Allen
a245a1b095 graph-store: added archiving functionality 2020-06-23 14:01:04 -04:00
Logan Allen
e6e4e370d3 graph-store/view: move all signing out to %graph-view 2020-06-23 14:01:04 -04:00
Logan Allen
59a4c52232 graph-view: first sketch 2020-06-23 14:01:03 -04:00
Logan Allen
90a8df104b graph-store: wrote basic queries 2020-06-23 14:00:15 -04:00
Logan Allen
07cf374462 graph-store: all json encoders/decoders work 2020-06-23 14:00:15 -04:00
Logan Allen
6493c75463 wip: all JSON decoders but %add-graph work 2020-06-23 14:00:15 -04:00
Logan Allen
b0fa0668b3 wip: json decoding 2020-06-23 14:00:15 -04:00
Logan Allen
31a6ec5d1c graph-store: finished json encoding 2020-06-23 14:00:15 -04:00
Logan Allen
81deb6247f graph-store: stubbed out json encoding 2020-06-23 14:00:15 -04:00
Logan Allen
d44e7eb9ca graph-store: first pass at signing, hashing, and verifying nodes 2020-06-23 14:00:15 -04:00
Logan Allen
f8d860c0ef graph-store: added %add-signatures, action-log, stubbed signature verification 2020-06-23 14:00:15 -04:00
Logan Allen
bc0c1e7245 graph-store: remove-nodes compiles 2020-06-23 14:00:15 -04:00
Logan Allen
8c2d9127f3 graph-store: add-nodes compiles 2020-06-23 14:00:15 -04:00
Logan Allen
e52779a356 graph-store: first pass at writing %add-nodes poke 2020-06-23 14:00:15 -04:00
Logan Allen
83ec7eae24 graph-store: cleaned up structures 2020-06-23 14:00:15 -04:00
Logan Allen
fcfcf95aed graph-store: structure compiles 2020-06-23 14:00:15 -04:00
Matilde Park
5ad03868b2 Merge branch 'master' into release/next-userspace 2020-06-22 10:24:34 -04:00
Liam Fitzgerald
d5466ff31a groups: fix remaining bugs in new implementation 2020-06-15 18:09:03 +10:00
Liam Fitzgerald
9123cabed7 chat: fix remaining issues with new groups 2020-06-15 18:07:21 +10:00
Liam Fitzgerald
d66dbff61e groups: migrate to push-pull hooks and resources 2020-06-08 17:53:16 +10:00
Liam Fitzgerald
f392e861ee groups: add prototype state adapters and cleanup 2020-06-03 12:21:00 +10:00
Fang
30924609e0
Merge pull request #2882 from urbit/lf/links-refactors
links: namespace types
2020-06-02 17:16:37 +02:00
Liam Fitzgerald
5016e84c0a groups: namespace tags 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
e2aa8af220 groups: add .hidden flag on group 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
b5d9fcf390 groups: use rank:title for %open policy 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
8a2e325fe0 publish: update to new groups 2020-06-02 15:22:43 +10:00
Liam Fitzgerald
841ba72bd9 chat: update to new groups 2020-06-02 15:20:14 +10:00
Liam Fitzgerald
f60181871a groups: finish rewrite 2020-06-02 15:11:02 +10:00
Liam Fitzgerald
d2de8d72eb groups: begin rewrite 2020-06-02 15:07:09 +10:00
Logan Allen
b863dca773 apps: more merge fixes for chat and publish 2020-06-01 14:17:14 -04:00
Logan Allen
8a3d0adb57 publish / chat-store: fix merge issues 2020-06-01 14:07:28 -04:00
Logan Allen
9b5c93d2f1 file-server: renamed to file-server 2020-06-01 14:02:12 -04:00
Logan Allen
f13b174f16 landscape: renamed to http-server-store, finished subscribable configuration 2020-06-01 14:01:38 -04:00
Isaac Visintainer
7b0a587c4a landscape: don't special case os1 app paths 2020-06-01 14:00:47 -04:00
Isaac Visintainer
ae58a62fad landscape: added static serving to landscape.hoon 2020-06-01 14:00:47 -04:00
Logan Allen
deb7c3445b apps: finish mark and http cleanup 2020-06-01 14:00:46 -04:00
Logan Allen
4550bc6dc1 apps: updated apps to use consistent %initial update 2020-06-01 14:00:46 -04:00
Logan Allen
0c2b770411 launch: added json marks 2020-06-01 13:57:06 -04:00
Logan Allen
9a008155c7 launch: finished the structure of the rewrite, supports tile hiding and tile reordering 2020-06-01 13:57:06 -04:00
Logan Allen
23cdb8f07e launch: wip 2020-06-01 13:55:28 -04:00
Fang
36b7fc2e4f
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-26 20:36:27 +02:00
matildepark
91cf06b542
Merge pull request #2814 from urbit/lf/chat-type-namespacing
chat: improve namespacing of chat-* types
2020-05-19 19:54:22 -04:00
Liam Fitzgerald
782135fc97 publish: abide by namespacing conventions 2020-05-09 11:26:25 +10:00
Liam Fitzgerald
2946eb55cb links: namespace view types 2020-05-08 16:07:44 +10:00
Liam Fitzgerald
edfcb389db links: namespace store types and lib 2020-05-08 15:33:04 +10:00
Liam Fitzgerald
bf965a26ea links: rename files to namespacing convention 2020-05-08 14:27:37 +10:00
Fang
ac494a265e
verb: allow subscribing to events
This excludes, necessarily, events that don't let us emit moves.
(+on-save, +on-peek)
2020-05-08 01:46:29 +02:00
Liam Fitzgerald
cf8e8f8dc4 Merge branch 'master' into lf/chat-type-namespacing 2020-05-07 10:39:11 +10:00
Liam Fitzgerald
5f4fc28bc9 chat: improve namespacing of chat-* types
Improved the namespacing by dropping the app prefix on types, e.g.
chat-hook-action -> action. Compensated for shadowing by importing the
/sur files behind a face. End result is that a chat-hook-action becomes
an action:hook. Splits chat-json into lib/chat-{hook,store,view}. Uses
^? on changes files in /lib and /sur to discourage deeply nested
importing.
2020-04-28 12:01:13 +10: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
Fang
a810468dcf
Merge pull request #2777 from urbit/ixv/publish-groupify
publish: groupify notebooks
2020-04-23 02:00:24 +02:00
Logan
c36c5a9bd3
Merge branch 'master' into os1-avatar 2020-04-22 11:42:33 -04:00
Logan Allen
f6a2f7f83c contact: finish %octt implementation 2020-04-21 19:59:03 -04:00
Isaac Visintainer
49463197f5 publish: add groupify action 2020-04-21 14:34:40 -07:00
Logan Allen
2f7e8fd811 contacts: added "url" avatar support and finished "octet" avatar
fetching support
2020-04-21 15:29:47 -04:00
Logan Allen
b6e4566e61 contacts: fix group deletion and do some quality of life fixes 2020-04-14 21:33:01 +00:00
Isaac Visintainer
f9e17e61a2 publish: update state with limbo field 2020-04-12 23:21:42 -07:00
Fang
2223a85666
eth-watcher: separate timeout from refresh-rate
Previously, when the refresh-rate timer activated, and the thread from
the previous activation was still running, we would kill it and start
a new one. For low refresh rates, on slower machines, nodes, or network
connections, this could cause the update to never conclude.

Here we add a timeout-time to eth-watcher's config. If the refresh-rate
timer activates, and a thread exists, but hasn't been running for at
least the specified timeout-time yet, we simply take no action, and wait
for the next refresh timer.

Note that we opted for "at least timeout-time", instead of killing &
restarting directly after the specified timeout-time has passed, to
avoid having to handle an extra timer flow.

In the +on-load logic, we configure the timeout-time for existing
watchdogs as six times the refresh-rate. We want to set
azimuth-tracker's timeout-time to ~m30, and don't care much about other,
less-likely-to-be-active use cases of eth-watcher.
2020-04-01 12:47:38 +02:00
matildepark
2f3d681975
launch, link: apply @Fang- suggestions to #2615 review
Co-Authored-By: Fang <git@fang.io>
2020-03-30 15:50:16 -04:00
Matilde Park
5516d2ebdb launch: add %remove launch-action 2020-03-27 12:44:49 -04:00
Fang
5f94fe0cf4
link-listen-hook: explicitly track subscriptions
Instead of going purely off metadata, we now track the collections we're
listening to, and allow the user to remove collections from that list.

This allows us to remove/ignore collections, without mutilating group
assocations locally.
2020-03-25 22:41:20 +01: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
64e60b6b57
chat-view: add docs for %create action 2020-03-18 21:40:14 +01: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
Logan Allen
64938e24e9 chat-hook: added ability to subscribe to chat-hook state from the frontend 2020-03-11 16:44:15 -07:00
Logan Allen
e8c95157d4 chat-hook: emit cards upon upgrade AND store cards to be sent later upon chat-store trigger to support either order of updating 2020-03-09 12:40:04 -07:00
Logan Allen
3824402200 chat: upgraded chat-hook to move old chats to /~/chat-path
chat: ota attempt

chat: ota triggers chat-store to tell chat-hook to send cards to update chat-store's state

contact-view: commented out avatars and base64

chat: cleaned up commits
2020-03-08 13:05:10 -07:00
Fang
3e7f0dd9d8
link-view: support %delete and %invite actions
%delete tries to be as local as possible in its impact.
%invite deals with un/managed branching for you.
2020-03-04 22:11:54 +01: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
Fang
111333ec93
link: can create managed groups for new collections
Just defers to contact-view for managed group creation.
2020-03-03 00:12:05 +01:00
Logan Allen
bb0f56f17a chat + contacts: integrate managed groups with metadata 2020-03-01 15:40:49 -08:00
Fang
0539f3ca1f
link fe: metadata integration
- finds resources & displays details using metadata-store
- supports creating new collections for groups
- supports creating new collections with new unmanaged group
- supports receiving invites for new (unmanaged) collections
2020-03-01 02:10:35 +01: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
Logan Allen
0d69e17f3b apps: main backend integration between metadata and chat 2020-02-26 14:10:32 -08: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
Logan Allen
cf21ada1c2 metadata: style fixes, some bug fixes 2020-02-21 16:14:57 -08:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Logan Allen
ea7e960c0d metadata-hook: work on pokes 2020-02-18 17:35:00 -08:00
Logan Allen
6e2bcd9428 metadata-store: updated to use better naming for resources, added a few metadata fields 2020-02-14 14:59:22 -08:00
Logan Allen
498c6e8e97 metadata-store: added scry + watch paths, an %update-metadata update 2020-02-13 17:22:52 -08:00
Logan Allen
9205c7c7db sur: added metadata-store structures 2020-02-13 13:13:10 -08:00
Fang
b8ffebcb9d
link: support marking urls as seen 2020-02-07 21:49:16 +01: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
Isaac Visintainer
45b82e04f0 updated notebook creation logic to be in line with groups/contacts
added invite reducer
fixed page transition on new notebook creation
2020-02-06 11:42:48 -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
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
Isaac Visintainer
9b260e081d change publish api to pass though group paths from frontend 2020-02-04 11:14:06 -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
Jimmy
65b65d75f3 basic style and layout of post view, missing comments 2020-01-29 16:30:47 -08: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
A Arroyo
757b4ffcbe merged links fe into os-rc 2020-01-24 16:21:25 -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
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
Logan Allen
524bdbd8c1 sur: added identity structure with support for ship signatures or ring signatures 2020-01-23 13:12:26 -08:00
Isaac Visintainer
e9452bfa72 don't send null kick if subscribers list is empty
scry old files into the correct structure
2020-01-22 12:47:00 -08: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
Isaac Visintainer
041900dc26 handle marking posts as read 2020-01-21 10:49:35 -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
504b9b289c group and permissions creation on %new-book action 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
879e45c377
Merge branch 'master' into m/uplink 2020-01-07 13:30:55 -08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
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
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
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
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
Philip Monk
c7c42225e2
Merge commit 'fbc81b59'; remote-tracking branch 'origin/mp-chat-redesign' into rc 2019-11-30 16:17:28 -08:00
Fang
bc08e8a09f
eth-watcher: support client-specified refresh rate
Configuration now includes a refresh-rate=@dr, which is used to
determine how long to wait between polling requests.
2019-11-28 16:46:07 +01:00
Logan Allen
8b63aeb865 chat-store: added in chat-history changes 2019-11-26 12:50:36 -08:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -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
7837d51aba
spider: rename thread -> strand, imp -> thread 2019-11-16 04:07:09 -08: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
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
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
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
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
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -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
Logan Allen
43edde1d0b changed invite peek interface to /:path/:uid 2019-11-01 15:18:17 -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
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
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
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
Fang
555eae6e25
eth-watcher: ensure logs always sent oldest-first
For easier "this happened, then that happened" on the client side.
2019-10-30 18:44:52 +01:00
Fang
277f2955c3
eth-watcher: move types into /sur file 2019-10-29 21:13:28 +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
Logan Allen
7f0ab1b8ab permission-hook: style improvement 2019-10-12 18:58:20 -07:00
Logan Allen
b12e305c9c apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -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
f9377536fb app: Added chat store, hook, marks, and view. 2019-10-01 10:18:36 -07:00
Logan Allen
4b01718d76 apps: added group/permission stores, hooks, marks 2019-09-30 14:46:07 -07:00
Philip Monk
9c9115a7e0
spider, ph: convert ph to imps 2019-09-28 21:44:31 -07:00
Logan Allen
203be550fe tiebout: removed since it's unused 2019-09-26 14:43:50 -07:00
Philip Monk
957aa99d9f
spider: build imps in ford 2019-09-26 12:00:11 -07:00
Philip Monk
34ab4c4e77
mall: convert aqua vane handlers to mall 2019-09-24 19:04:27 -07:00
Philip Monk
30f74368fb
mall: convert hall to mall 2019-09-23 20:46:59 -07:00
Jared Tobin
1076663018
Merge branch 'philip/jael-fix' 2019-08-24 08:31:25 -02:30
Philip Monk
ec9eedd50f
ph: clean up card structures 2019-08-22 15:33:52 -07:00
Isaac Visintainer
b24cdf317b added import and export arms to publish 2019-08-21 13:22:38 -07:00
Isaac Visintainer
5a2d0e62ca fixed unread notification logic and added unread badges to post previews 2019-08-13 15:39:37 -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
Fang
cac4b2b70f
Move :launch types into /sur 2019-08-09 14:54:52 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Philip Monk
0adc83ecf6
get pills from aqua 2019-08-05 17:44:52 -07:00
Philip Monk
21e4baa2ed
Merge remote-tracking branch 'origin/master' into philip/kale 2019-08-05 13:02:31 -07:00
Elliot Glaysher
63e72122d8
Merge pull request #1358 from urbit/lens-export
Add --import and --export
2019-08-01 13:18:12 -07:00
Philip Monk
54a3031397
add keys to sponsor in preboot validation 2019-08-01 11:14:36 -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
Philip Monk
a47ef9ac77
wip 2019-07-26 20:45:45 -07:00
Elliot Glaysher
d9a0cb4c6b
Merge branch 'master' into lens-export 2019-07-23 13:43:42 -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
Philip Monk
994472ece1
azimuth-tracker sends to kale 2019-07-18 17:08:01 -07:00
Isaac Visintainer
b7aad187e6 updated publish files 2019-07-18 15:34:42 -07:00
Philip Monk
408b72b68e
fixed up kale 2019-07-18 15:26:15 -07:00
Elliot Glaysher
a8c2c06db9 Now with a working --import. 2019-07-16 13:52:42 -07:00
Elliot Glaysher
5082ce6b98 Part 1: Add the export action and get that into herb. 2019-07-15 15:18:28 -07:00
Isaac Visintainer
500b3a7a60 80 cols 2019-07-11 15:20:29 -07:00
Isaac Visintainer
a60d8cdbfc changed name of app to be consistent 2019-07-11 15:07:05 -07:00
Isaac Visintainer
cfebabe7c7 updated publish files 2019-07-11 11:32:30 -07:00
Logan Allen
9d16d94d54 Remove recoverable-error 2019-07-05 16:43:29 -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
Joe Bryan
27da0d61d8 renames +http-client interface core to +iris 2019-07-03 23:52:22 -07:00