Commit Graph

1179 Commits

Author SHA1 Message Date
Philip Monk
3b41a8be15
gall: no-op on duplicate watch-ack
fixes #2070
2019-12-10 18:49:50 -08:00
Philip Monk
29f078bb14
ames: don't forward up the sponsorship chain
This is *actually* why the galaxies are under so much load.  They're in
a forwarding loop with their stars, and this breaks the loop.
2019-12-10 16:20:12 -08:00
Jared Tobin
733d7fd7e5
Merge branch 'philip/leave' (#2068)
* philip/leave:
  gall: remove message type from wire

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 19:34:30 +08:00
Philip Monk
68279d91e4
gall: remove message type from wire
%leave over the network didn't work because we included the message type
in the wire from gall, so the duct for the initial %watch and the %leave
were different.  We need to know the message type so we can route the
acknowledgment as %poke-ack, %watch-ack, or no-op.

This moves this piece of information to a piece of state, where we queue
up the message types per [duct wire].  Ames guarantees that
acknowledgments will come in order.

This also includes an easy state adapter.  The more interesting part of
the upgrade is that we likely have outstanding subscriptions with the
old wire format.  The disadvantage of storing information in wires is
that it can't be upgraded in +load.  So, here we listen for updates on
the old wire format, and when we get them we kill the old subscription,
so that it will be recreated with the new wire format.

As an aside, this is a good example of what we mean when we say
subscriptions may be killed at any time, so apps must handle this case.

Finally, this fixes the "attributing" ship to ~zod for agent requests.
This information was ignored for agent requests, but including it causes
spurious duct mismatches.
2019-12-10 19:32:26 +08: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
Philip Monk
e7c8a44e11
ames: recover from mismatched message nums
We've seen issues where the message-num of the head of live.state is
less than current.state.  When this happens, we continually try to
resend message n-1, but we throw away any acknowledgment for n-1 because
current.state is already n.  This halts progress on that flow.

We don't know what causes us to get in this bad state, so this adds an
assert to the packet pump that we're in a good state, run every time
the packet pump is run.  When this crashes, we can turn on |ames-verb
and hopefully identify the cause.

This also adds logic to +on-wake in the packet pump to not try to resend
any messages that have already been acknowledged.  This is just to
rescue ships that currently have these stuck flows.

(Incidentally, I'd love to have a rr-style debugger for stuff like this.
Just run a command that says "replay my event log watching for this
specific condition and then stop and let me poke around".)
2019-12-09 23:31:18 -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
74c3ad619a
Merge branch 'decommission' (#2051)
* origin/decommission:
  ames: remove last remnants of |nuke

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

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

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:48:42 +08:00
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
Joe Bryan
a0d2d41d0c ames: remove last remnants of |nuke 2019-12-06 11:46:55 -08:00
Philip Monk
2d9a043e6f
eth-watcher: silence printfs 2019-12-06 11:19:05 -08:00
Jared Tobin
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
383a86032f
Merge branch 'philip/dns-quiet' (#2036)
* philip/dns-quiet:
  dns: give quieter errors

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:21:21 +08:00
Jared Tobin
0bad1401f0
Merge branch 'philip/drum-order' (#2035)
* philip/drum-order:
  drum: print tangs in order

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:20:53 +08:00
Jared Tobin
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
Philip Monk
956a3c7420
eyre: add instructions to login page 2019-12-05 12:31:42 -08:00
Logan Allen
14dc580c06 chat-store: fix scrollback issue due to malformattedd peek 2019-12-05 12:18:21 -08:00
Philip Monk
1eeca16f1a
dns: give quieter errors
!! crashes the thread, so dojo prints a stack trace.  An explicit
failure lets you give a custom error message.
2019-12-05 11:59:59 -08:00
Philip Monk
ddbfb53b28
drum: print tangs in order 2019-12-05 11:58:55 -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
Ted Blackman
bee0b5803a
ames: don't crash on missing queued larval event 2019-12-05 17:04:24 +08:00
Jared Tobin
2391090b56
Merge branch 'philip/boot-order' (#2023)
* philip/boot-order:
  drum: boot to dojo and start acme

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:45:25 +08:00
Jared Tobin
834cd78a1b
Merge branch 'liam-fitzgerald/tab-complete-chat' (#1995)
* liam-fitzgerald/tab-complete-chat:
  chat-cli: update tab-complete to static gall
  chat-cli: autocomplete on empty command
  chat-cli: use tall-form cencab
  chat-cli: clarify tab completion suggestions
  chat-cli: address style issues
  chat-cli: add tab autocomplete
  language-server: genericise searching gates

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:43:37 +08:00
Jared Tobin
f23bbd1cec
Merge branch 'pkova/master' (#1991)
* pkova/master:
  zuse: implement json number to @rd parsing

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:38:57 +08:00
Jared Tobin
41b64feb16
Merge branch 'philip/p2p' (#2025)
* philip/p2p:
  ames: don't overwrite lane if already direct

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 16:08:01 +08:00
Philip Monk
5406f06092
ames: don't overwrite lane if already direct
This is why basically all packets are going through the galaxies right
now.  Most of the time, the flow right now is:

* talking to ~dopzod but don't know where it is, so ask ~zod to forward,
  which it does

* ~dopzod responds both directly (on the origin lane) and through ~zod

* (if NAT, the direct response doesn't get back, but the one through
  ~zod does. Then you respond directly to ~dopzod because their lane
  piggybacked on the response. ~dopzod responds both directly and
  through ~zod, and the story picks up the same as if you weren't behind a
  NAT)

* now you have a direct lane to ~dopzod, so all is well.

* now the duplicate response from ~dopzod through ~zod comes in (takes a
  little longer because it's bouncing off ~zod), resetting your lane to
  "provisional"

* since your lane is provisional, you send your next packet both
  directly and through ~zod

* GOTO 2

This change says "if I already have a direct lane, don't overwrite it
with a provisional one". This way, the only way the direct lane can be
overwritten is if they stop responding on it (cleared on "not
responding; still trying").

I also added |- to +send-blob to make |ames-verb %rot less confusing.
2019-12-05 16:05:06 +08:00
Jared Tobin
75ca54ca24
Merge branch 'ames-sponsor-scry-2' (#2021)
* ames-sponsor-scry-2:
  ames: scry for sponsor and don't crash on jael response

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 15:43:00 +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
7d2f789696
drum: boot to dojo and start acme 2019-12-04 18:32:28 -08:00
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Liam Fitzgerald
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
Ted Blackman
a7e638ebab ames: scry for sponsor and don't crash on jael response 2019-12-04 17:18:39 -05: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
Ted Blackman
b3f757d88b
ames: send larval crashes to dill 2019-12-05 02:23:13 +08:00
Ted Blackman
4c9cc1542a
ames: dequeue failed larval timer 2019-12-05 02:23:13 +08:00
Ted Blackman
c20f2391e1
ames: print and retry larval crashes 2019-12-05 02:22:27 +08: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
9bc6ccb7fc
ames: don't say not responding if we haven't been talking 2019-12-03 20:21:43 -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
dc30f6df8c
keys: add +keys for diagnostics 2019-12-03 15:16:34 -08:00
Philip Monk
98b886acf2
Merge remote-tracking branch 'jfranklin9000/master' into rc 2019-12-03 15:10:32 -08:00
Philip Monk
702dd2c07a
verb: add +verb %bowl to print bowl on every event 2019-12-03 15:05:42 -08:00
Philip Monk
65b7f2f552
azimuth-tracker: add |kick 2019-12-03 14:51:42 -08:00
Philip Monk
9fa772a342
clay: don't make |cancel require argument 2019-12-03 14:46:39 -08:00
Philip Monk
db083f82c7
jael: allowed skipped rifts 2019-12-03 14:16:05 -08:00
Philip Monk
8c2c52c01c
ames: make life printf helpful 2019-12-03 13:06:04 -08:00
Ted Blackman
d0bf1e25ae Revert "|ames-verb: fix generator sample type"
This reverts commit 6b9522d77e.
2019-12-03 15:05:43 -05:00
Ted Blackman
6b9522d77e |ames-verb: fix generator sample type 2019-12-03 13:46:06 -05:00
Philip Monk
2954ed0b55
gall: correctly construct wire for ap-specific-take 2019-12-02 23:46:15 -08:00
Philip Monk
34ece6fe5a
vere: cleanup 2019-12-02 23:19:36 -08:00
Philip Monk
5f1c4805fe
ames: printfs 2019-12-02 23:13:48 -08: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
6ca04cdd0b
publish: add :publish|serve 2019-12-02 21:23:07 -08:00
Philip Monk
3b9bcf64b0
arvo: remove unneeded top-level mock 2019-12-02 20:52:59 -08:00
Philip Monk
e6c809058c
Revert "Revert "hoon: zpgl -> zpld for consistency""
This reverts commit 195d0c2fe3.
2019-12-02 20:47:47 -08:00
Philip Monk
da7693c541
ames-verb: better syntax 2019-12-02 20:38:44 -08:00
Philip Monk
c90107659b
Merge remote-tracking branch 'origin/rc-ames-verb' into rc 2019-12-02 20:22:04 -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
Philip Monk
87e6afb60b
azimuth-block: add generator to print current block 2019-12-02 20:09:36 -08:00
Philip Monk
93d3edbf73
pill 2019-12-02 20:09:36 -08:00
Philip Monk
9186f232f1
gall: kick after sending leave 2019-12-02 20:09:36 -08:00
Ted Blackman
d0d45ed8f2
ames: fix message pump to complete queueing fix 2019-12-02 20:09:35 -08:00
Ted Blackman
6dcb6622fa
ames: fix ack queueing 2019-12-02 20:09:35 -08:00
Fang
bf6658c9ca
chat: include .^ paths in its eval failure case
Also updates the top-level message to avoid problematic terminology.
2019-12-03 01:20:34 +01:00
Ted Blackman
84ddbbe791 oops wrong file 2019-12-02 18:58:08 -05:00
Ted Blackman
41e7e16689 |ames-verb generator to set verbosity 2019-12-02 18:54:01 -05: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
Ted Blackman
0cb6464e9d ames: %spew to set verbosity 2019-12-02 18:46:40 -05:00