Commit Graph

1279 Commits

Author SHA1 Message Date
Ted Blackman
d917eebe56 ford: remove pit short-circuit 2020-02-20 16:38:21 -05:00
Jared Tobin
36e770f722
Merge branch 'philip/gall-ack-fix' (#2288)
* origin/philip/gall-ack-fix:
  gall: give both acks in case of unexpected ack
  gall: make 2140e07 ota-able
  gall: properly track remote acknowledgments

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-14 20:00:50 +04:00
Philip Monk
4fda5e8e38
gall: give both acks in case of unexpected ack
It's hard to say what's the safest thing to do when we get an ack we
weren't expecting due to losing outstanding.agents.state in +load
3-to-4, so this gives both a watch-ack and a poke-ack.  This seems most
likely to succeed.
2020-02-13 17:48:33 -08:00
Philip Monk
e082845e0d
gall: make 2140e07 ota-able
Does not change state type, but clears outstanding.agents.state since
it's full of garbage values.  This introduces a possibility that we may
have been in the middle of something, so we handle that in a reasonably
sane way.
2020-02-13 17:20:27 -08:00
Philip Monk
2140e07a99
gall: properly track remote acknowledgments
outstanding.agents.state is a queue of what sort of message we sent to a
foreign app.  We use it so that when the acknowledgment comes back we
know whether to treat it as a watch-ack, poke-ack, or neither.  We used
to put this info in the wire, but this gave us a different ames flow,
which meant %leave and %watch didn't get associated (causing #2079).

The error was that when when retrieving the item from the queue, we put
the new 1-item-shorter queue back in outstanding.agents.state at a
different wire than it came from, so the queues never actually got
shorter, and acknowledgments of the wrong sort were commonly produced.
This caused problems mainly in situations where we poke and peer on the
same wire, and possibly when a subscription was cancelled.

Possibly related to #2206 and #2176.  I would expect this bug to cause
those issues, but I haven't verified the converse.  Also possibly
related to #2153 and #2079.
2020-02-13 15:12:07 -08:00
Fang
fa138ef216
hoon: clarify comments for +rep:in and +rep:by
"Replace" suggests this function either produces an updated set/map when done,
like +snap, or changes all values in-place, like +turn. In truth, it's more
similar to +roll, which does reduction/accumulation.

("Reduce" specifically was chosen because it maintains the mnemonic relation to
the arm name.)
2020-02-13 23:56:44 +01:00
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Benjamin Summers
faec933b56 Merge branch 'master' of github.com:urbit/urbit into king-haskell 2020-02-05 15:44:11 -08:00
risruc-habteb
67221aad29
Update frontpage.hoon
Swapped "p.bek" for "our" and uncommented line 22.
2020-02-04 21:40:14 -05:00
Jared Tobin
769996d09f
Merge branch 'liam-fitzgerald/langserver-doc-autocomplete' (#2204)
* liam-fitzgerald/langserver-doc-autocomplete:
  language-server: magic-spoon hover, autocomplete
  language-server: build ford prelude
  language-server: dynamically compute subject
  language-server: revive rune/symbol completion
  language-server: add completion JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-02 19:11:04 +04:00
Jared Tobin
171fcbd263
gitattributes: export-ignore additions [ci skip]
Reflexively export-ignore .gitattributes; also export-ignore Nix
derivations.
2020-02-01 17:40:27 +04:00
Jared Tobin
eb27d67cca
gitattributes: export-ignore test directories [ci skip]
Don't include pkg/arvo/tests and pkg/urbit/tests when running
git-archive(1).

Additionally, move the export-ignore declaration for
pkg/urbit/hashtable_tests into the pkg/urbit/.gitattributes files.  For
default operation, git-archive(1) requires that these declarations be
located on the tree being archived.
2020-02-01 12:07:13 +04:00
Jared Tobin
b8ce433e08
meta: remove deprecated files [ci skip]
Removes miscellaneous files that had lingered from pre-monorepoisation:

* pkg/arvo Travis and .gitignore, .gitattributes files
* pkg/urbit CONTRIBUTING.md (subsumed by file in repository root)
2020-02-01 11:17:49 +04:00
Liam Fitzgerald
8428f0ab14 language-server: magic-spoon hover, autocomplete
Uses magic-spoon to properly trace the subject to the cursor position.
2020-01-31 14:21:17 +10:00
Liam Fitzgerald
07d66413b2 language-server: build ford prelude 2020-01-31 13:19:19 +10:00
Ted Blackman
7dc499d438
ford: ignore spurious clay responses
Due to asynchronicity, Ford can receive responses from Clay to requests
that it has already attempted to cancel. This removes some overzealous
assertions that this wouldn't happen.
2020-01-29 15:11:36 +04:00
Jared Tobin
47b1b0a9bd
Revert "zuse: allow non-trailing null bytes in to-wain:format"
This reverts commit db1b88b21b.

See discussion in #2195, #1755.
2020-01-29 14:53:09 +04:00
Ted Blackman
0d69031c72
ford: add +got-build helper
Replaced manual calls to (~(got by builds.state) build) with a new
+got-build helper function that prints a helpful error message on
failure.
2020-01-29 14:00:25 +04:00
Liam Fitzgerald
a1a77990fc language-server: dynamically compute subject
Dynamically compute subject so that language server can see arms
from imports. Fall back to -:!>(..zuse) if the build is an app,
because of opaque payloads.
2020-01-29 10:35:27 +10:00
Jared Tobin
a3e682f596
Merge branch 'ford-orphans' (#2192)
* ford-orphans:
  ford: dequeue orphans

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:39:36 +04:00
Ted Blackman
155ab60609
ford: dequeue orphans
@ixv recently uncovered a bug (#2180) in Ford that caused certain
rebuilds to crash. @Fang- and I believe this change should fix the bug,
and we have confirmed that the reproduction that used to fail about two
thirds of the time now has not failed at all in the ten or so times
we've run it since then. @Fang- is still running more tests to confirm
the fix with more certainty.

It turned out the cause was that (depending on the rebuild order, which
is unspecified and should not need to be specified), Ford could enqueue
a provisional sub-build to be run but then, later in the same +gather
call, discover that the sub-build was in fact an orphan and delete it
from builds.state accordingly. Then when Ford tried to run the
sub-build, it would have already been deleted from the state, so Ford
would crash when trying to process its result in +reduce.

The fix was to make sure that when we discover a provisional sub-build
is orphaned, dequeue it from candidate-builds and next-builds to make
sure we don't try to run it. I'm about 95% sure this fix completely
solves the bug.
2020-01-28 17:29:24 +04:00
Jared Tobin
f19fd5c1a9
Merge branch 'liam-fitzgerald/langserver-rpc-rewrite' (#2181)
* liam-fitzgerald/langserver-rpc-rewrite:
  language-server: align kingside hoon
  language-server: address review issues
  language-server: fixup tests
  language-server: prevent breach being required
  langauge-server: cleanup debug artifacts
  language-server: refactor RPC marks
  language-server: dynamic error highlighting
  language-server: basic request/response cycle
  language-server: first pass at JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:20:07 +04:00
Liam Fitzgerald
97e5570fc7 language-server: revive rune/symbol completion 2020-01-28 12:24:39 +10:00
Matilde Park
0ef3d9f7fa chat: smoothen dark theme
Lowers contrast in dark theme; raises the opacity of images in chat.

In general, creates a smoother dark variant of our default Chat look.
2020-01-27 20:33:15 -05:00
Liam Fitzgerald
a00a371268 language-server: add completion JSON parsers 2020-01-28 10:08:02 +10:00
Liam Fitzgerald
6912c4753a language-server: align kingside hoon 2020-01-28 09:23:27 +10:00
Matilde Park
389def3479 chat: [embed] link doesn't break word on mobile
It's a UI, not a word -- it should be treated like a button.

This commit preserves it as its own block and pushes it
to the next line when it's overflowing.
2020-01-27 14:16:38 -05:00
Matilde Park
35aab5c8ab chat: youtube embeds responsively expand
The declaration was being stomped out in all viewports because
it wasn't being declared in the initial element.

This adds the XL's padding-bottom to the element's declarations, which
scales it accordingly.
2020-01-27 14:09:18 -05:00
Jared Tobin
8905a706a8
Merge branch 'pkova/lore' (#2195)
* pkova/lore:
  zuse: allow non-trailing null bytes in to-wain:format
  u3: fix lore jet to allow non-trailing null bytes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-27 10:38:56 +04:00
Jared Tobin
865a1cec90
Merge branch 'm/dbug' (#2179)
* origin/m/dbug:
  dbug: support app state printing
  dbug: augment various apps with /lib/dbug
  dbug: add agent wrapper for debugging pokes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-27 10:21:28 +04:00
Ted Blackman
0bee77ce8e
/sys: use +harden on vane tasks
Uses Zuse's previously unused +harden helper function to streamline
+task unwrapping in vanes.

(Arguably, in landlocked vanes like Ford, we should crash if we get a
%soft task, since no events should be coming in directly from the
outside.)
2020-01-27 09:53:53 +04:00
Liam Fitzgerald
4f9245cb45 language-server: address review issues 2020-01-27 12:18:48 +10:00
Liam Fitzgerald
3c74888c9d Merge branch 'master' into langserver-rpc-rewrite 2020-01-27 12:11:19 +10:00
pkova
db1b88b21b zuse: allow non-trailing null bytes in to-wain:format 2020-01-25 20:54:49 +02:00
Fang
a7f07866f9
dbug: support app state printing
:your-app +dbug %state
2020-01-24 20:48:17 -08:00
Fang
f4ed3fe980
clay: document %t care 2020-01-22 21:23:14 -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
Jared Tobin
c182672b54
Merge branch 'ames-goof' (#2166)
* origin/ames-goof:
  ames: adjust route update logic

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-22 13:14:39 +04:00
Ted Blackman
11c92e691d
ames: adjust route update logic
There was a typo in the routing logic that was comparing equality
against a value where it should have been doing a pattern match. The
value compared against contained the literal * gate, which would never
match route.peer-state, so this condition was always true, meaning the
fix that had added this extra condition (5406f06) did not actually
change the behavior from what it been previously.
2020-01-22 12:50:18 +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
Fang
421dae13cf
dbug: add agent wrapper for debugging pokes
Use :app +dbug to get the entire bowl, or specific subscriptions.
2020-01-21 12:34:50 -08:00
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