Commit Graph

579 Commits

Author SHA1 Message Date
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
Fang
67b4c9975e
eth-watcher: implement /block peek
/block/some-path allows you to get the next block that will be checked
for updates for the watcher at /some-path. Useful for uptime checking.
2019-10-29 19:11:36 +01:00
Jared Tobin
e77237d1a1
Revert "chat-hook: use sender's timestamp"
This reverts commit 22ddb712ff, which I
merged prematurely.  See later commentary in #1889.

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-29 15:20:28 +08:00
Fang
22ddb712ff
chat-hook: use sender's timestamp
No longer overwrite messages' timestamp on-receive, instead keeping whatever
timestamp was set by the sender.

This behavior matches that of the late Hall.
2019-10-27 13:43:26 +01:00
Isaac Visintainer
16364de935 publish: correctly set title and body when navigating with next/prev 2019-10-25 15:29:51 -07:00
Fang
cda68b90b9
eth: turn azimuth-tracker into eth-watcher
Uses the logic existing in azimuth-tracker to implement a new
eth-watcher, which can look at Ethereum nodes for _any_ events, as
opposed to exclusively a subset of the Azimuth contract's events.

Azimuth-tracker will be reimplemented as a dependent of this in
forthcoming commits.
2019-10-25 19:25:31 +02: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
e06acb87be chat-ui: fix image previews from url types 2019-10-24 14:31:40 -07:00
Logan Allen
c8cca2f261 chat-js: make clicking a url message open in a new tab 2019-10-24 14:12:26 -07:00
Logan Allen
29fc32d11b chat-js: fix chat sorting and selection in sidebar 2019-10-24 14:04:48 -07:00
Fang
544d636701
chat-cli: minor code style fixes 2019-10-23 20:40:58 +02:00
Jared Tobin
3fddf99260
Merge branch 'claz-invites-newline' (#1846)
* claz-invites-newline:
  claz: do invite file reading in +read-invites
  claz: ignore empty lines in invites file

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-23 08:36:07 +08:00
Jared Tobin
095a0a155a
Merge branch 'publish-fixes' (#1865)
* publish-fixes:
  publish: auto-resubscribe on quit, crash on failed subscription
  publish: added permission logic to %serve and import flows

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-23 08:35:01 +08:00
Isaac Visintainer
0a5fcf8210 publish: auto-resubscribe on quit, crash on failed subscription 2019-10-22 10:18:34 -07:00
Isaac Visintainer
aed15a13b9 publish: added permission logic to %serve and import flows 2019-10-22 10:18:25 -07:00
Jared Tobin
71b27b0300
Merge branch 'pretty-userspace' (#1847)
* pretty-userspace:
  pills
  hoon: moves new pretty-printer back into userspace

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-22 10:12:05 +08:00
Fang
9ed582b9c4
claz: do invite file reading in +read-invites
Ensures we read out the invite file in a consistent way
2019-10-18 16:15:11 +02:00
Fang
10b2643a50
chat-cli: update prompt on ;join
Fixes #1841.
2019-10-18 15:04:34 +02:00
Joe Bryan
fa01bfb0a5 hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
Fang
f0a4bd0369
claz: ignore empty lines in invites file 2019-10-18 02:10:39 +02:00
Fang
bead92656c
publish: remove unused %disconnect card
It wasn't being used, and wasn't correct in the first place.

(You really want [%publish wire binding:eyre] here.)
2019-10-16 23:41:08 +02:00
Jared Tobin
1f8826a8ed
Merge branch 'la-tiscol-fix'
* la-tiscol-fix:
  chat: changed a =: to a =. to fix message storage bug

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-16 09:43:40 +04:00
Jared Tobin
3e44e5155e
Merge branch 'claz-checks' (#1822)
* claz-checks:
  claz: group state check arms together
  claz: factor asserts out of callsites
  claz: check pool sizes when inviting
  claz: check planet availability for %invites
  claz: print proper error messages

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-16 09:41:31 +04:00
Logan Allen
2871a964ba chat: changed a =: to a =. to fix message storage bug 2019-10-15 16:16:02 -07:00
Jared Tobin
4613264047
release: v0.9.0
Updates URBIT_VERSION, Landscape builds, and all pills.
2019-10-15 14:50:05 +04:00
Ted Blackman
625f855f24 master without pills, hopefully 2019-10-14 16:02:27 -04:00
Fang
a0145ff3db
claz: group state check arms together
In both core and flow. +run-checks sets the stage for future command
legitimacy checks.
2019-10-14 21:54:32 +02:00
Fang
8b37f5fe33
claz: factor asserts out of callsites
We now do them in the relevant functions instead, since we always want
to hard-fail on unexpected/erroneous responses.
2019-10-14 21:52:57 +02:00
Fang
a5564f2860
claz: check pool sizes when inviting 2019-10-14 20:19:17 +02:00
Fang
4a4b592afc
claz: check planet availability for %invites 2019-10-14 17:19:34 +02:00
Fang
8d3787328a
claz: print proper error messages 2019-10-14 16:03:12 +02:00
Jared Tobin
eaf0cfd995
Merge branch 'perm-hook' (#1818)
* perm-hook:
  permission-hook: style improvement
  apps: added permission hook and chat-view %join action

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-13 09:07:21 +04:00
Logan Allen
7f0ab1b8ab permission-hook: style improvement 2019-10-12 18:58:20 -07:00
Fang
9b079f6c83
claz: %single %send-point to correct contract
09cb5f2 added a %send-point call, which is meant to target the delegated sending
contract. For %invites batches, this was the case. Handling of %single, however,
still sent all calls to the ecliptic contract.

This looks at the call tag to determine the target contract.
2019-10-12 00:22:44 +02:00
Logan Allen
b12e305c9c apps: added permission hook and chat-view %join action 2019-10-11 14:09:30 -07:00
Jared Tobin
9d1b09c995
Merge branch 'chat-cli-glyphs' (#1816)
* chat-cli-glyphs:
  chat-cli: maintain sane glyph binding state
  chat-cli: support per-target glyph unbinding
  chat-cli: properly decode double-bound glyphs
  chat-cli: try not to double-bind glyphs

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-11 10:35:42 +04:00
Jared Tobin
3f4edb608d
Merge branch 'la-join' (#1815)
* la-join:
  js: Improved join UI and added support for paths with multiple elements

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-11 09:12:31 +04:00
Fang
4e963ff23a
chat-cli: maintain sane glyph binding state
This ensures that `binds` is updated to match overwrites in `bounds`.
2019-10-10 23:49:36 +02:00
Fang
31b7331e1e
chat-cli: support per-target glyph unbinding 2019-10-10 23:40:08 +02:00
Fang
e01d59ae4c
chat-cli: properly decode double-bound glyphs
Resolves glyph to most recently seen target.
2019-10-10 22:40:37 +02:00
Fang
cf24f4a80e
chat-cli: try not to double-bind glyphs
Try to use the default glyph.
If that is already in use, random available glyph.
If there's none available, the default glyph.
2019-10-10 22:38:36 +02:00
Logan Allen
84e143574a js: Improved join UI and added support for paths with multiple elements 2019-10-10 11:20:53 -07:00
Jared Tobin
990d357e0f
Merge branch 'claz-invites' (#1813)
* claz-invites:
  claz: Correct & complete comments

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-10 14:51:17 +04:00
Fang
fa4d1bba48
claz: Correct & complete comments 2019-10-10 11:31:05 +02: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
09cb5f2403
claz: Implement batch invites
For generating many sendPoint() transactions for the Delegated Sending
contract. Specify what ship to send the invites as, and a path to a file
containing lines of "~ship,~ticket,0xaddress".

Comes with a generator, |claz-invites, for generating such files, given
a star and a range of its children (and an output path).
2019-10-09 21:28:48 +02:00
Fang
79544a03d0
chat-hook: Improve reap printf readability 2019-10-09 15:30:26 +02:00
Fang
86f37ede6c
chat-cli: Remove prep printf 2019-10-09 15:04:51 +02:00
Fang
4dea1068b2
chat-cli: Add clarity 2019-10-09 00:06:39 +02:00
Fang
b7f1e9c578
Merge branch 'odyssey-wip' into odyssey-chat-cli 2019-10-08 23:32:57 +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
0da8e1efb3
chat-cli: Properly support deleting local chats
Since the current implementation of ;leave is silently destroying state
instead of unsubscribing, we disallow running ;leave on local chats and
provide an explicit ;delete instead.
2019-10-08 22:28:56 +02:00
Fang
42aa035530
chat-cli: Subscribe to /updates instead of /all
On first boot (and debug poke) we scry for /all to ensure we know all
messages.
2019-10-08 22:06:45 +02:00
Fang
9532857ef5
chat: Move eval logic into lib 2019-10-08 22:06:28 +02:00
Logan Allen
225fb9327f chat: removed unnecessary cast 2019-10-08 12:44:28 -07:00
Logan Allen
c1ecfd86cb chat: removed overly specific pattern match 2019-10-08 12:40:15 -07:00
Logan Allen
e9bbf68eed chat: style fix for a comment 2019-10-08 12:39:00 -07:00
Logan Allen
e567803478 chat: remove poke-noun arms 2019-10-08 12:37:39 -07:00
Fang
c7fbad61ee
chat-cli: Simplify message command type & logic
By dropping support for •-separated multi-messaging, we can simplify
the parsing and handling of message sending inputs.
2019-10-08 20:01:46 +02:00
Fang
dac51a9ed8
chat-cli: Implement permission management
Set security type during ;create. Use ;invite and ;banish to dis/allow
ships from reading and/or writing.

Talks to the group-store to modify permission groups. Scries into
permission-store to check for white- vs blacklist.
2019-10-08 20:01:21 +02:00
Logan Allen
536dcdc4f4 chat: /primary path provides truncated initial as well as updates 2019-10-08 10:41:06 -07:00
Logan Allen
fbbb3830b2 chat: style fixes, removed some redirect bugs from chat 2019-10-08 10:11:18 -07:00
Fang
9c562f4c62
chat-cli: Match store and hook's path handling
Now prefixes the host ship to the path, and parses it back out, only
when appropriate.
2019-10-08 16:18:20 +02:00
Fang
10b17ff127
chat-cli: Update prompt on-create
Creating a mailbox would refresh the prompt before setting a new
audience, instead of after. This change corrects the behavior.

Also updates glyph binding code and print style.
2019-10-08 16:15:19 +02:00
Fang
b2365c1668
Merge 'odyssey-wip' into odyssey-chat-cli 2019-10-08 13:04:49 +02:00
Logan Allen
79903ff9f5 chat: changed wire format and quitting subscription properly on ban 2019-10-07 17:35:48 -07:00
Fang
12050d44a8
chat-cli: Add debug poke for connecting to store 2019-10-07 20:46:35 +02:00
Fang
03b5a1cd71
chat-cli: Support %url and %me message types 2019-10-07 20:45:58 +02:00
Fang
c0d07fa14a
chat-cli: Clean up code
Renames, refactors, and occasionally rewrites many of the arms used
within the application. Splits +sh into +sh-in and +sh-out, improves
naming for rendering cores, moves arms around for better organization,
and adds descriptions to all arms.
2019-10-07 16:31:10 +02:00
Fang
7911061dab
chat-cli: Make more fully-featured
Brings it largely up to parity with Talk, save for features relating to:
- presence & nicknames
- circle management (permissions, sources)
- deprecated message types

In addition to implementing remaining functionality for basic usage
patterns, makes the following changes:
- glyphs per target, not multiple targets
- assume /~ship/path paths are created/used by the chat-hook

Code cleanup pending.
2019-10-07 16:09:22 +02:00
Fang
07454e2327
apps: Add WIP chat-cli 2019-10-07 16:09:14 +02:00
Logan Allen
39a5017254 chat: added old @ messages, now called %me messages 2019-10-03 13:33:07 -07:00
Logan Allen
2625efd485 apps: updated style and added moon support 2019-10-02 18:30:50 -07:00
Logan Allen
8b74a674f3 chat-hook: updated to allow a simpler message send flow 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
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
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
Jared Tobin
57d4ec897d
Merge branch 'la-remove-tiebout' (#1762)
* la-remove-tiebout:
  tiebout: removed since it's unused

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-09-27 15:39:00 +04:00