Commit Graph

859 Commits

Author SHA1 Message Date
Matilde Park
92e1970651 /me, /group views, render sigil, render root ident 2020-01-23 13:13:51 -08:00
Matilde Park
c17bec49af prepping contact add 2020-01-23 13:13:51 -08:00
Logan Allen
ed481d89a5 contacts: end to end tested apis with working reducers 2020-01-23 13:13:51 -08:00
Matilde Park
082a44a7f8 iterate all groups with relative links 2020-01-23 13:13:51 -08:00
Matilde Park
74c17a3851 passing props, scrolling long layouts
(figuring out data manipulation)
2020-01-23 13:13:50 -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
Matilde Park
df4c07d67e new.js -> padding and search icon 2020-01-23 13:12:27 -08:00
Matilde Park
1ea0e59e64 root -> new navigation 2020-01-23 13:12:27 -08:00
Matilde Park
23858fc6d7 mannequin newScreen entry fields 2020-01-23 13:12:26 -08:00
Matilde Park
99a73e981c newscreen scaffold 2020-01-23 13:12:26 -08:00
Matilde Park
462b14bf58 subscribe to contact-store, fill groups headers 2020-01-23 13:12:26 -08:00
Matilde Park
2aefc02112 checkpoint (removing chat api calls, adding contacts) 2020-01-23 13:12:26 -08:00
Matilde Park
cc50ca3668 left panel, responsively 2020-01-23 13:12:26 -08:00
Matilde Park
8de846c60d removing chat cruft, adding header + libs 2020-01-23 13:12:26 -08:00
Matilde Park
1299e26940 tachyons -> indigo-static 2020-01-23 13:12:26 -08:00
Matilde Park
7dfe151f15 contacts: tile graphic, fixing mount point 2020-01-23 13:12:26 -08:00
Logan Allen
47c1745074 contacts: added store, view, marks, ui 2020-01-23 13:12:26 -08:00
Matilde Park
22f1a52e08 link: amend "channels" copy on landing
It should be "collections," as per OS1 discussions.
2020-01-22 22:20:14 -05:00
Matilde Park
200d7548f6 links: add links landscape application to arvo 2020-01-22 18:16:27 -05:00
Matilde Park
34b9c445e3 link-server-hook: add tile serving, %png mounts
Front-end work necessitates images being mounted, and the tile served on
Landscape. This commit adds it to link-server-hook.
2020-01-22 18:14:57 -05: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
Jared Tobin
267081424b
Merge branch 'yt-preview' (#2055)
* origin/yt-preview:
  chat: add expandable youtube embed messages

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-22 15:14:37 +04:00
Anthony Arroyo
b96d6c5b5f
chat: add expandable youtube embed messages
YouTube links now have a [embed] link that expands an inline embed of
the video. Embeds don't load until clicked, so don't fear the tracker.
2020-01-22 15:01:01 +04:00
Liam Fitzgerald
3187d6725b language-server: fixup tests 2020-01-22 12:35:41 +10:00
Liam Fitzgerald
04225dff73 language-server: prevent breach being required 2020-01-22 11:30:07 +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
da6f27c55c
dbug: augment various apps with /lib/dbug
Also includes lib/verb where it wasn't being used yet.
2020-01-21 12:36:03 -08:00
Isaac Visintainer
1fde0913cb wrote on-load arm for state transitions &c 2020-01-21 10:49:35 -08:00
Isaac Visintainer
366772c559 store, update, send tile notification number 2020-01-21 10:49:35 -08:00
Isaac Visintainer
041900dc26 handle marking posts as read 2020-01-21 10:49:35 -08:00
Isaac Visintainer
97f820a2c6 fixed group and invite bugs 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
ade8e205ec
link-server-hook: support writing notes
Also cleans up the POST interface in general. No more paths in the URL,
all relevant details go into the json now.

Renames /~link/add to /~link/save to match the +action tag.

As such, format for /~link/save is:
{path: '/some/group', title: 'Some title', url: 'https://urbit.org/'}

Format for /~link/note is:
{path: '/some/group', url: 'https://urbit.org', udon: 'This is cool.'}
2020-01-14 15:32:32 -08:00
Jared Tobin
a0cb74b658
Merge branch 'matilde/chat-dark-mode' (#2144)
* origin/matilde/chat-dark-mode:
  chat: fade images on dark mode
  chat: add dark mode

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-14 11:09:18 -08:00
Fang
a3fbd7a25d
link-server-hook: refactor scries 2020-01-10 14:51:14 -08:00
Fang
5ec9aea139
link-server-hook: include comment count with submissions 2020-01-10 14:46:38 -08:00
Fang
df2ed4b5a6
link-server-hook: include item count with page count 2020-01-10 14:25:17 -08:00
Isaac Visintainer
2cd9fc75a4 lens: don't prematurely flush state 2020-01-10 12:55:58 -08:00
Fang
740836348d
link-server-hook: fall back to serving index.html 2020-01-10 12:08:13 -08:00
Isaac Visintainer
a07a3747d1 invite-hook: fixed incorrect assertion about outgoing invites 2020-01-09 16:16:39 -08:00
Jared Tobin
754fba30e3
Merge branch 'matilde/meta-morgue' (#2159)
* origin/matilde/meta-morgue:
  soto: add "dead" alt keys to ignored list

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-08 10:12:10 +08:00
Jared Tobin
795b811aca
Merge branch 'matilde/chat-timestamp' (#2146)
* origin/matilde/chat-timestamp:
  chat: correct datestamp to match @da

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-08 10:11:33 +08:00
Fang
00a4c91f92
link: encode urls in paths in base64 2020-01-07 17:38:39 -08:00
Fang
d806209b7f
link-server-hook: include total page count 2020-01-07 17:23:30 -08:00
Matilde Park
a5e68f280d soto: add "dead" alt keys to ignored list
alt+n produces a ~, on top of a key called "Dead". This ignores "dead"
to send the ~ and function as normal.
2020-01-07 20:14:39 -05:00
Fang
879e45c377
Merge branch 'master' into m/uplink 2020-01-07 13:30:55 -08:00
Jared Tobin
8afad66138
Merge branch 'm/chat-cli-reconnect' (#2147)
* m/chat-cli-reconnect:
  chat-cli: reconnect with actual bowl

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-07 04:25:14 +08:00
Fang
0ff2f44f31
chat-cli: reconnect with actual bowl
Fixes a bug introduced in 4798b9d.

This, uh, fell into the same old case of using an arm from a |_ without
initializing that core with a sample first. In this case, that resulted
in the bowl in connect being the default bowl here. This is fine for
~zod, since it's the default ship, but gives incorrect behavior for
anyone else.
2020-01-07 04:21:49 +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
Matilde Park
4143b0060f chat: fade images on dark mode
Adds 60% opacity to dim images within messages in dark mode.
2020-01-06 08:09:53 -05:00
Jared Tobin
cd9624e097
Merge branch 'm/whitespace' (#2149)
* origin/m/whitespace:
  various: remove trailing whitespace
  ci: reject trailing whitespace

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 10:55:13 +08:00
Jared Tobin
836142ad0d
Merge branch 'rcrdlbl/chat-sidebar-margin-fix' (#2137)
* rcrdlbl/chat-sidebar-margin-fix:
  chat: add bottom padding to sidebar items

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 07:45:25 +08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
Matilde Park
271e594f61 chat: correct datestamp to match @da
The datestamp in webchat currently leftpads the month numeral.
This commit amends it so that the month numeral doesn't pad with zeroes.
2020-01-01 08:54:36 +01:00
Matilde Park
d45be05c26 chat: add dark mode
Adds custom classes and declarations for dark mode color scheme.
Uses prefers-color-scheme media query to check preference.
2019-12-27 12:15:03 +01:00
Przemyslaw Dabrowski
f8c305b65b chat: add bottom padding to sidebar items
Pretty simple really, fixes issue #2131.
Decided to use padding instead of margin because the underflow is nice,
but not at the detriment of being able to see the last chat preview
2019-12-23 22:24:24 -05:00
Fang
b8a336c607
webchat: render "me" messages in italics 2019-12-23 23:11:04 +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
4798b9df1f
chat-cli: reconnect to chat-store on-kick
Also reconnects on-load, if no chat-store subscription appears to be
open. This should resolve any current disconnects.
2019-12-21 13:02:33 +01:00
Fang
c814114d93
chat-cli: add trace printf for tuba crashes 2019-12-21 12:59:45 +01:00
Fang
5cd8d98dd6
chat-cli: don't pass mark into +poke-noun 2019-12-21 12:58:22 +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
beb783808c
link-proxy-hook: correctly use wire vs path 2019-12-20 16:02:09 +01:00
Fang
8a0baed192
link: %add -> %save 2019-12-20 15:58:32 +01:00
Jared Tobin
e1df5545e5
Merge branch 'matilde/chat-name-validation' (#2116)
* origin/matilde/chat-name-validation:
  chat: validate chat names

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-20 10:44:30 -03:30
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
626f6abfce
link-server-hook: serve static app files from clay
Any requests that aren't explicitly defined endpoints try to load
content from clay instead, but only for html, css and js files.

Depends on #2119.
2019-12-18 20:35:50 +01:00
Fang
b6f97da2d7
link-server-hook: expose submissions json endpoint 2019-12-18 16:19:03 +01:00
Philip Monk
de2d0f3014
gaze: reflect changes to eth-watcher 2019-12-18 11:38:56 -03:30
Philip Monk
16d98e5eda
jael: stop ship-to-ship 2019-12-18 11:19:41 -03:30
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
Matilde Park
e2cfcafc92 chat: validate chat names
Add a regex check for non-lowercase, non-slash, non-hyphen characters,
or numerals, and a quick check for starts-with-slashes, double-slashes,
to a boolean before creating a chat at that path.
2019-12-18 00:53:18 -05:00
Philip Monk
e5ac690fd3
jael: re-enable ship-to-ship communication
Also fix bug in eth-watcher that didn't cancel outstanding threads when
config changes.

And set default rift for ourselves to 0.
2019-12-17 16:14:07 -08:00
Philip Monk
e88f91f3b2
eth-watcher: actually stop pending thread when restarting 2019-12-17 16:14:02 -08:00
Fang
9f47874760
link-server-hook: remove obsolete workaround
The "no-data bug" in eyre was fixed prior to the 0.10.0 release.
2019-12-17 23:32:41 +01:00
Fang
bdc7fb81e0
eth-sender: do proper nonce reading 2019-12-14 21:50:07 +01:00
Philip Monk
bfd2e533a1
goad: make startup resilient to errors
By not running the risky %goad card in on-init.  Also includes some qol
fixes.
2019-12-13 18:50:26 -08: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
fc1d852faf
static gall: update send-txs
Renamed to eth-sender. Can still sign eth-txs at multiple gas prices,
fan transactions to multiple nodes, wait for confirmation between
transaction batches (now of user-specified size).

The previous nonce reading implementation was broken beyond belief and
has been taken out. Can be reimplemented once RLP decoding is in the
stdlib.
2019-12-14 00:18:30 +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
Fang
8857213000
claz: clean up head of app file 2019-12-11 23:00:49 +01:00
Fang
864b19e075
link-server-hook: disable verb by default 2019-12-11 21:16:20 +01:00
Fang
2048f7ab9e
link: make network comms work
This resolves a number of issues that were keeping communications with
foreign ships from working.

- there was no link-update mark
- there was no +on-arvo handling in link-listen-hook
- link-listen-hook was subscribing to the non-existent "link-hook"
- link-proxy-hook permission check was looking at a wrong path

Also makes link-listen-hook aware that subscriptions might get rejected
because of permissions, so that it ignores failed subscriptions instead
of being loud about it.
2019-12-11 20:49:50 +01:00
Fang
3a859ef585
link: add minimal link-server-hook and link-webext
link-server-hook exposes (parts of) the link-store over eyre, on the
condition that the client is authenticated as the host ship.

link-webext as committed is a very minimal web extension. When its
toolbar button is clicked, it saves the current webpage to /private
in the link-store.
In the future, this should support choosing a target to save to,
highlighting already-saved pages, and many other features.
2019-12-11 20:49:50 +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
67825a08d1
static gall: update gaze
Noteworthy changes:
- split block timestamp requests into smaller batches
- track invite events
- improved debug pokes
2019-12-11 17:11:46 +01:00
Jared Tobin
d21310ace8
Merge branch 'la-unread' (#2064)
* origin/la-unread:
  chat-js: fix unread counts and indentation

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 17:05:43 +08: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
Logan Allen
30264bbc93 chat-js: fix unread counts and indentation 2019-12-09 13:05:56 -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
Fang
6722f789a9
chat-hook: no-op on /backlog kick if not synced
This matches the behavior that's used for +kick on /mailbox, among other flows.
2019-12-08 20:08:23 +01:00
Jared Tobin
fa4544406e
Merge branch 'chat-safe-tab' (#2053)
* origin/chat-safe-tab:
  chat: give terminal bell on tab in an empty buffer
  chat: don't crash on tab in an empty buffer

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:03:44 +08:00
Jared Tobin
dc45806e99
Merge branch 'mp/chat-design-tweak' (#2049)
* mp/chat-design-tweak:
  chat: chat tab bar re-aligned and resized

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:55:29 +08:00
Jared Tobin
63bd7c62db
Merge branch 'mp/soto-catch-unidentified' (#2018)
* mp/soto-catch-unidentified:
  soto: mutate cursor for tab complete inserts
  soto: click sets cursor
  soto: catch 'unidentified' key

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:51:52 +08:00
Matilde Park
f5faf6eb11 chat: chat tab bar re-aligned and resized
The placement of the buttons and chat title on Landscape were slightly
off-line with each other. This commit lines them up
and changes font size to f8 to match the mockup closely.
2019-12-06 16:44:45 -05:00
Philip Monk
abde1d8aa9
ames: reduce load by increasing timer delays 2019-12-06 12:11:06 -08:00
Joe Bryan
c8958a2553 chat: give terminal bell on tab in an empty buffer 2019-12-06 12:03:32 -08:00
Joe Bryan
706d25ba79 chat: don't crash on tab in an empty buffer 2019-12-06 12:02:59 -08:00
Jared Tobin
d5f1efc7bc
Merge branch 'permisson-group-hook-fix' (#2044)
* permisson-group-hook-fix:
  permission-group-hook: fixed permission associate flow

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:24:07 +08:00
Jared Tobin
16b81727d2
Merge branch 'la-scrollback' (#2037)
* la-scrollback:
  chat-store: fix scrollback issue due to malformattedd peek

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:22:20 +08:00
Jared Tobin
4251b13d0e
Merge branch 'matilde/chat-feedback' (#2027)
* matilde/chat-feedback:
  chat: Fix chat join link - %ask-history error
  chat: join channel on enter
  chat: wrap long links, join button uses pointer

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:10:55 +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
Isaac Visintainer
5a7c0b1181 permission-group-hook: fixed permission associate flow 2019-12-05 15:45:30 -08:00
Logan Allen
14dc580c06 chat-store: fix scrollback issue due to malformattedd peek 2019-12-05 12:18:21 -08:00
Jared Tobin
5eec015343
chat-store: fix errant 'this'
6c938e1 resolved a merge conflict, but retained a reference to 'this'
from the wrong parent.
2019-12-05 21:18:11 +08:00
Jared Tobin
6c938e188d
Merge branch 'm/chat-store-eval' (#2010)
* m/chat-store-eval:
  chat-store: only evaluate our own %code

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 20:59:13 +08:00
Matilde Park
d1def489cc chat: Fix chat join link - %ask-history error
Without this third boolean argument, direct join links wouldn't work.

This commit adds it.
2019-12-05 01:08:16 -05:00
Matilde Park
8a2b3d1822 chat: join channel on enter
Adds quick keypress handler for joining chats.
2019-12-04 23:41:07 -05:00
Matilde Park
8d98348233 chat: wrap long links, join button uses pointer
What it says on the tin.
2019-12-04 22:37:12 -05:00
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Liam Fitzgerald
3f31904595 chat-cli: update tab-complete to static gall 2019-12-05 08:54:18 +10:00
Liam Fitzgerald
bcd94868cb Merge branch 'master' into tab-complete-chat 2019-12-05 08:40:41 +10:00
Matilde Park
3c541ca567 soto: mutate cursor for tab complete inserts
This changes sole.js to handle cursor behaviour for tabbing.

It does so by overriding the cursor position in transpose if it's greater
than it expects. This could produce errant results if other sole apps
use insert behind text, but that seems like an edge case. Flagged for
future with a comment.
2019-12-04 17:17:47 -05:00
Matilde Park
5e42e796e7 soto: click sets cursor
If you clicked in the input field, the cursor would stay where it was.

This adds the cursor as a way of controlling the component, fixing the behaviour.
2019-12-04 12:07:09 -05:00
Matilde Park
2a2126ad7a soto: catch 'unidentified' key
Some Android devices have keys that register as, well,
"unidentified," so this just catches them in Soto.
2019-12-04 11:50:59 -05:00
Jared Tobin
d310cb68bd
release: v0.10.0.rc-1
* Remove testnet configuration from %zuse
* Bump URBIT_VERSION
* Update Landscape builds
* Update all pills
2019-12-04 19:41:43 +08:00
Philip Monk
ebec1eb54f
ping: delay kick until after ames processes breach 2019-12-04 02:27:35 -08:00
Philip Monk
51f9b2e269
aqua: make faster so moon-az can finish 2019-12-03 23:53:42 -08:00
Philip Monk
67ff3e07c0
ping: fix comments 2019-12-03 21:13:18 -08:00
Philip Monk
3e6769ea88
ping: avoid fragile state transitions 2019-12-03 20:53:55 -08:00
Philip Monk
dd85ca6051
Merge remote-tracking branch 'origin/mp-chat-sidebar' into rc 2019-12-03 19:13:55 -08:00
Philip Monk
fe41c31965
eth-watcher; don't start timer if already started 2019-12-03 19:13:41 -08:00
Matilde Park
318e38ffa3 chat: hotfixing a class name
This fixes a quick typo that completely breaks the medium viewport
layout.
2019-12-03 22:00:57 -05:00
Matilde Park
7188a3933a chat: fix sidebar toggle on chat update
Creates a local reducer to mutate the state in one place.
Fixes an issue where chat updates would pop the sidebar open.
2019-12-03 21:48:44 -05:00
Philip Monk
ba5e7d9090
dojo: set prompt on watch 2019-12-03 17:18:09 -08:00
Philip Monk
f3e9126d89
Merge remote-tracking branch 'origin/m/chat-cli-self-init' into rc 2019-12-03 16:56:06 -08:00
Philip Monk
38197fc79d
gen: add comments on new generators 2019-12-03 16:41:29 -08:00
Fang
e882cd1346
chat-cli: our-self with bowl set
We were calling it directly, rather than through the (initialized) tc core,
causing the bowl in its context to be the *bowl, resulting in [~zod /] audience.
2019-12-04 01:09:39 +01:00
Philip Monk
dc3c848ed7
chat-hook: remove printfs 2019-12-02 22:44:32 -08:00
Philip Monk
17db094d61
publish: set permissions on %serve 2019-12-02 22:29:12 -08:00
Philip Monk
6d648fcba6
ping: rewrite to handle sponsor breaches/changes
The old version of ping hung when your sponsor breached while you had an
outstanding poke.  I believe it would do the same if your sponsor
changed and the old sponsor didn't respond to you.

This explicitly subscribes to Jael for updates to our sponsorship tree,
and kicks the pings of any ships that change rift and any changed
sponsors.
2019-12-02 20:09:36 -08:00
Fang
8ead7f87f6
chat-store: only evaluate our own %code
Sending a %code letter without output would cause its code to be evaluated on
the recipients' ships. While that shouldn't naturally occur post-#2009, and
evaluation of %code letters remains virtualized, it's still remote code
execution, and worth fixing as such.
2019-12-03 00:51:01 +01:00
Philip Monk
096273cf4a
gall: add state upgrade for %pack 2019-12-02 03:20:34 -08:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
d0d1805263
ping: comment 2019-12-02 01:28:58 -08:00
Philip Monk
1872316003
ping: don't make new pings on-load 2019-12-01 00:07:15 -08:00
Philip Monk
09d2c70884
chat-hook: only get new backlog on resubscribe 2019-11-30 22:08:06 -08:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Philip Monk
7d68a2e811
chat-hook: get backlog on resubscribe 2019-11-30 21:26:47 -08:00
Philip Monk
0f9ca132dd
eth-watcher: errant upgrade 2019-11-30 19:57:56 -08:00
Philip Monk
0eaad536a0
eth-watcher: keep timers going 2019-11-30 19:38:43 -08:00
Philip Monk
f30daf5af2
azimuth-tracker: send new-style eth-watcher poke 2019-11-30 17:39:31 -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
fbc81b59f1
eth-watcher: add state adapter to avoid breaching continuity 2019-11-30 16:14:16 -08:00
Philip Monk
eee435f9f4
ames: ping all ancestors 2019-11-30 14:57:35 -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
Liam Fitzgerald
9e6b08bbf1 chat-cli: autocomplete on empty command 2019-11-28 15:44:02 +10:00
Liam Fitzgerald
4acc1fe948 chat-cli: use tall-form cencab 2019-11-28 15:23:18 +10:00
Liam Fitzgerald
a53b4861a9 chat-cli: clarify tab completion suggestions 2019-11-28 15:21:51 +10:00
Liam Fitzgerald
6a17812ecc chat-cli: address style issues 2019-11-28 15:15:58 +10:00
Matilde Park
b8a2d06c5b chat: style fixes
Changes to the structure stylistically during code review.

Using fake API calls instead of directly calling store;
fixing a 'delete' crash';
making common code a component;
autofocusing responsively.
2019-11-27 23:22:16 -05:00
Philip Monk
74b0f66850
ames: continue processing memos after %done 2019-11-27 15:13:17 -08:00
Philip Monk
f035955a36
ames: rename alef -> ames 2019-11-27 00:46:02 -08:00
Liam Fitzgerald
afc6c11580 chat-cli: add tab autocomplete
adds tab autocomplete with a static list of the chat-cli commands
2019-11-27 18:10:22 +10: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
4a0c5be2ba
Merge remote-tracking branch 'origin/la-convert' into philip/mall-real 2019-11-26 22:56:33 -08:00
Logan Allen
5c6e484d02 chat-store: removed extraneous whitespace 2019-11-26 17:47:29 -08:00
Logan Allen
fe5c9bb3b4 chat: now works except for removing read permission and re-adding 2019-11-26 17:43:03 -08:00
Logan Allen
6b54bde272 chat-cli: fixed chat-cli bugs 2019-11-26 17:42:24 -08:00
Logan Allen
6ef2812cde invites: fixed view bugs 2019-11-26 17:42:07 -08:00
Logan Allen
a7fbed9350 permissions: fixed bugs with hook and store 2019-11-26 17:41:52 -08:00
Philip Monk
bf55197baf
ames: backpressure fixes 2019-11-26 14:56:20 -08:00
Philip Monk
2a227d6313
weather: refer to real bowl 2019-11-26 12:52:22 -08:00
Logan Allen
3e0c33e4c9 chat-view: converted 2019-11-26 12:50:37 -08:00
Logan Allen
a8b73f3e5a chat-hook: converted 2019-11-26 12:50:37 -08:00
Logan Allen
8b63aeb865 chat-store: added in chat-history changes 2019-11-26 12:50:36 -08:00
Philip Monk
7cfe1542e5
ames: too big of messages 2019-11-26 12:00:27 -08:00
Philip Monk
b658f11c42
dns: reduce to simpler threads 2019-11-25 21:54:46 -08:00
Matilde Park
198a3afdd3 soto: catch full ansi layout keys
Adds "Insert", "Delete", "PageUp" and other function keys to the ignored
keys array of soto.
2019-11-25 23:11:23 -05:00
Philip Monk
91083979b9
acme: convert to static gall 2019-11-25 17:08:21 -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
Matilde Park
4dd103c5e5 chat: tighten chatroom regex matching
This commit amends the join flow based upon
regular expression matching of chatroom names
to only match if the entire message is the chat.
2019-11-25 14:49:37 -05:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
2e8b468364
Merge commit 'ec855491' into philip/mall-real 2019-11-23 22:31:20 -08:00
Fang
ec8554912d
pool-group-hook: cleaner, more standard thread id
Also removes lingering line of debug code.
2019-11-23 21:49:23 -08:00
Fang
1245eb9238
chat-cli: update for sole changes
Now accounts for the leading session identifier in sole-action.
2019-11-23 21:49:23 -08:00
Isaac Visintainer
53e772ea70
static gall: convert soto 2019-11-23 21:49:23 -08:00
Isaac Visintainer
b4fd79fb1c
static gall: convert weather 2019-11-23 21:49:23 -08:00
Isaac Visintainer
498b6079e9
static gall: convert publish 2019-11-23 21:49:23 -08:00
Philip Monk
a29e58f1fc
pill 2019-11-23 21:40:33 -08:00
Jared Tobin
fad9fcb16b
Merge branch 'm/name-title' (#1978)
* m/name-title:
  chat-cli: use name:title
  zuse: add +name:title for (moon) identity

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-23 20:07:32 +08:00
Jared Tobin
7db6f443e6
Merge branch 'matilde/soto-to-dojo'
* matilde/soto-to-dojo:
  soto: mounts at ~dojo

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-23 20:03:12 +08:00
Joe Bryan
3741e734cb dill: adds |pack and and friends 2019-11-22 17:24:42 -08:00
Matilde Park
cfc352e3c9 chat: add mobile web app icon
Adds a blank white placeholder icon, so that it looks better
than a blurry screencap on mobile devices.
2019-11-22 20:20:16 -05:00
Isaac Visintainer
51d61e4d49 static gall: convert soto 2019-11-22 12:57:58 -08:00
Isaac Visintainer
f2a5ef6df6 static gall: convert weather 2019-11-22 12:57:58 -08:00
Isaac Visintainer
dc3aa348a0 static gall: convert publish 2019-11-22 12:57:58 -08:00
Isaac Visintainer
fe5f318fb1 static gall: convert launch 2019-11-22 12:57:58 -08:00
Isaac Visintainer
22b94ce69f static gall: convert invite-store 2019-11-22 12:57:58 -08:00
Isaac Visintainer
a3e8f2f861 static gall: convert group-hook 2019-11-22 12:57:58 -08:00
Isaac Visintainer
3bc5db6188 static gall: convert group-store 2019-11-22 12:57:58 -08:00
Isaac Visintainer
3bf048ff08 static gall: convert permission-store 2019-11-22 12:57:58 -08:00
Fang
1fb06fbcc2
static gall: update pool-group-hook 2019-11-22 20:04:01 +01:00
Fang
9da38d21db
chat-cli: use name:title 2019-11-22 13:01:33 +01:00
Matilde Park
943ee0ede0 soto: ignores backspace at position 0
The keypress handler would check if backspace was past position 0
before deleting one character at that position. If you were at position
0, then it would drop down to the 'else' and send the key value as a
string, throwing off the state between front and back end. This commit
fixes the issue, ignoring Backspace at position 0.
2019-11-21 19:34:37 -05:00
Fang
c8059c455d
static gall: update permission-group-hook
Also stealth-fixes a bug where it was prepending %group to paths one
too many times.
2019-11-21 21:24:59 +01:00
Fang
383d0a3e9f
static gall: update permission-hook 2019-11-21 21:14:58 +01:00
Fang
fd8313360e
permission-store: minor cleanup 2019-11-21 19:05:03 +01:00
Fang
717ce5a2b3
static gall: update invite-view 2019-11-21 19:04:33 +01:00
Fang
4f35e2d21a
static gall: update invite-hook 2019-11-21 19:04:03 +01:00
Fang
78e819fc17
chat-cli: make compatible with sole changes
Still supports only drum's session though.
2019-11-21 19:03:41 +01:00
Fang
8c948725b1
chat-cli: forward-port #1941 2019-11-21 19:03:25 +01:00
Matilde Park
a6b4ed19b3 chat-view: redesign of chat interface
This commit redesigns the front-end of chat-view for
Landscape, adding a collapsable sidebar, popout chats,
a streamlined join flow, and a general refresh of the Indigo
interface.
2019-11-21 11:50:35 -05:00
Isaac Visintainer
08907b778f static gall: convert launch 2019-11-20 15:39:46 -08:00
Isaac Visintainer
540e5623a0 static gall: convert invite-store 2019-11-20 15:38:32 -08:00
Isaac Visintainer
f6c8c11db8 static gall: convert group-hook 2019-11-20 15:37:43 -08:00
Isaac Visintainer
903e2e2556 static gall: convert group-store 2019-11-20 15:18:45 -08:00
Isaac Visintainer
295f2b3a46 static gall: convert permission-store 2019-11-20 15:16:55 -08:00
Matilde Park
a33fffa6ce soto: mounts at ~dojo
Since Soto is the name of the relay, its location in Landscape should be
the application it relays to: Dojo. This commit amends the mount paths
and source paths accordingly.
2019-11-20 09:41:28 -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
Jared Tobin
d8970b9cf5
Merge branch 'liam-fitzgerald/lang-server-commit' (#1955)
* liam-fitzgerald/lang-server-commit:
  language-server: fix cord reverse
  language-server: use modern tisfas syntax
  language-server: add function signature on hover
  language-server: added autocommit on save

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-11-16 17:48:33 +08:00
Liam Fitzgerald
f299bf9d2c language-server: use modern tisfas syntax 2019-11-16 11:46:17 +10: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
eea136021d
gaze: remove until it gets updated 2019-11-15 14:31:22 -08:00
Logan Allen
9dd949b8a1 chat: oust correctness fix and js style fix 2019-11-15 13:28:53 -08:00
Logan Allen
b69bb7d7a1 chat-store: factored out functions used in both message and messages 2019-11-15 12:27:35 -08:00
Logan Allen
f9df1b6af4 chat: style fixes 2019-11-15 11:07:40 -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
Ted Blackman
49d81265c3 alef: clean up printing 2019-11-14 19:10:48 -05:00
Logan Allen
223fc8c5b4 chat: fixes to cli parser and increased page size in hook 2019-11-14 13:38:53 -08:00
Logan Allen
a97e36d6d6 chat-js: updated to support %messages events 2019-11-14 10:42: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
ae31a4167e arvo: adds soto application
This commit adds Soto -- a Dojo relay, and its UI, to the Arvo
pkg directory.
2019-11-14 13:39:07 -05:00
Philip Monk
3ad5da88fe
mall: convert test app 2019-11-13 18:05:39 -08:00
Fang
b31d5a6dc7
chat-cli: send invites on-;invite
This augments permission management with invite sending, when setting "positive"
permissions. This matches talk's behavior.

Also implements +full:tr, which renders as ~ship/path, even for local targets.
2019-11-13 00:09:18 +01:00
Liam Fitzgerald
26c4c6c7e4 language-server: added autocommit on save
Allows language-server to commit automatically upon changes. This
is driven by the editor, preventing the autocommit issues seen
with #971. Additionally recalculates syntax issues upon save.
2019-11-12 21:46:09 +10:00
Philip Monk
ae295d445a
mall: rm old apps for easier merging 2019-11-09 16:53:42 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -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
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
26c789e9f5
mall: fix chat-store refactor 2019-11-05 18:52:27 -08:00
Joe Bryan
c43290c9d8 goad: adds app to unblock :hood if necessary 2019-11-05 13:04:27 -08:00
Joe Bryan
c26d547625 hood: adds |goad-gall generator 2019-11-05 13:04:27 -08:00
Logan Allen
8367dfc77b chat-hook: upgrade from old state and perform invitatory creation and subscription 2019-11-05 10:57:10 -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
aea2a76363
Merge branch 'philip/language-server' into philip/mall-real 2019-11-04 21:44:17 -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
Logan Allen
1b3c14eeb1 invite-hook: crash upon invalid invite received 2019-11-04 15:37:11 -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
Fang
dc35958918
eth-watcher: refactor refresh rate to top of file 2019-11-04 18:57:17 +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
Matilde Park
47f0067458
chat-cli: Update ;help link
The link used here resolves with a 301 to the proper page for messaging usage, but not actually the 'messaging' section of that page. This commit provides a more direct link to the exact instructions.
2019-11-02 22:52:06 -04: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
cb158310e3 chat-js: added invite functionality 2019-11-01 14:04:50 -07:00
Logan Allen
40b6579873 chat-hook: added invite functionality 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
c1b18323cc
hook: add pool-group-hook for making invite groups
If we were invited by someone, this creates a group that includes
all ships invited by the same inviter.
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
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
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
d353484033 dns: clear request from state on %coup error 2019-10-30 15:17:45 -07:00
Joe Bryan
79b7f55f0a Revert "moves :dns scry for ames domains in :dns|auto generator"
This reverts commit 9c1616802e.
2019-10-30 15:14:59 -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
Joe Bryan
fe8a7f0a33 acme: sends notifications directly to %dill 2019-10-30 13:30:51 -07:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Fang
a020f184ef
gaze: make compile for latest eth-watcher
Untested. This remains old code that could do with a tapp makeover.
2019-10-30 20:32:08 +01:00
Fang
188867b73f
eth: implement azimuth-tracker using eth-watcher
Re-implements the behavior of the previous azimuth-tracker as an app
that pokes and peers eth-watcher. Should have maintained identical
outward semantics to the original.
2019-10-30 20:18:49 +01: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
e0b564f72f
eth-watcher: allow peers to unconfigured watchdogs
We simply respond with an empty history. This allows applications to
safely subscribe prior to a watchdog's creation.
2019-10-30 16:48:51 +01:00
Fang
603a3ae32b
eth-watcher: saner %watch behavior
When configuring a watchdog on a path that already exists, we now
"overwrite" it, meaning we throw away all history and trawl the node
for logs again.
If the only config change is the url, however, we silently modify it,
and simply use it "from this point onward".

This matches the behavior of the original azimuth-tracker.
2019-10-30 16:46:37 +01:00
Fang
e8d52e9b58
eth-watcher: implement %clear poke
We don't need to bother un-setting any timers or other subscriptions,
because those all happen on the app-wide level, instead of per watchdog.
2019-10-30 16:35:12 +01:00
Fang
c3ac547b3b
eth-watcher: store logs in state to implement peer
In order to give an initial response to incoming subscriptions (without
resorting to retrieving that data from chain again) we now store event
log history in state.

Instead of discarding pending-logs entirely after sending out updates,
we add them to the watchdog's history.
Just like pending-logs, we remove from the head during a rewind (though
not before exhausting the pending-logs).
2019-10-30 00:37:12 +01:00
Fang
277f2955c3
eth-watcher: move types into /sur file 2019-10-29 21:13:28 +01:00
Fang
4e9ece6cea
eth-watcher: properly tag out-peer-data 2019-10-29 19:14:21 +01:00
Fang
6437d860fe
eth-watcher: single update timer loop
Kicks the update timer on application start, then sets a new timer
whenever it's awoken. This aims to ensure eth-watcher never stops
looking for updates periodically.
2019-10-29 19:13:16 +01:00