Commit Graph

17242 Commits

Author SHA1 Message Date
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
Jared Tobin
7be9ed95ab
sh/merge-with-custom-msg: add pill update check [ci skip]
It's very easy to forget to verify that pills have been updated
accordingly when the kernel changes.  This adds a warning that prints
when the kernel in the target has changed but the pills have not.

Also prompts the user for confirmation pre-merge.
2020-02-13 19:05:18 +04:00
Jared Tobin
f848d60b68
Merge branch 'philip/ames-fix' (#2268)
* origin/philip/ames-fix:
  ames: make routing simpler

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-12 16:44:10 +04:00
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Jared Tobin
be5fb8b9cf
Merge branch 'king-haskell' (#2107)
* origin/king-haskell: (411 commits)
  Fix counting bug in event log replay.
  fix progress bar in daemon mode
  Got Linux release builds working again.
  king: style improvements
  king: Build without warnings.
  Fix king-haskell Linux release build.
  Update scripts to point to `urbit-king`.
  Renamed modules Ur.** to Urbit.** to be consistent with urbit-{atom,hob}
  king: Rename `king` package to `urbit-king`.
  Clean up `Urbit.Atom` and move it into it's own package.
  Module structure, doc strings
  Bump stackage version.
  Got docs to build.
  king haskell: automatically connect to terminal when running a ship
  king: add partial-replay and --dry-from
  Make sure we close HTTP sockets on close (or reconfigure).
  Hack around terminfo database problem.
  Fixed bug in HTTP Server (only first block from stream was handled).
  Logging for event sourced responses.
  Cleanup port binding logic.
  ...

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-10 18:53:41 +04:00
Benjamin Summers
faec933b56 Merge branch 'master' of github.com:urbit/urbit into king-haskell 2020-02-05 15:44:11 -08:00
benjamin-tlon
8836513a7c
Merge pull request #2236 from urbit/bs/fix-log-replay
king: Fix log replay bug.
2020-02-05 15:43:33 -08:00
Benjamin Summers
3b42c5412f Fix counting bug in event log replay. 2020-02-05 15:20:32 -08:00
Jared Tobin
b49d4a0538
Merge branch 'risruc-habteb/patch-1' (#2232)
* risruc-habteb/patch-1:
  Update frontpage.hoon

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-05 17:04:54 +04:00
risruc-habteb
67221aad29
Update frontpage.hoon
Swapped "p.bek" for "our" and uncommented line 22.
2020-02-04 21:40:14 -05:00
ixv
66b5f681ca
Merge pull request #2165 from urbit/king-auto-connect
king haskell: automatically connect to terminal when running a ship
2020-02-03 17:49:47 -08:00
Isaac Visintainer
98fa24908a fix progress bar in daemon mode 2020-02-03 17:27:16 -08:00
Isaac Visintainer
e25d30163d Merge branch 'king-haskell' of https://github.com/urbit/urbit into king-auto-connect 2020-02-03 14:23:44 -08: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
7fab8be0dc
meta: remove herb, urbit .gitignore files [ci skip]
These were lying around from pre-monorepoisation.
2020-02-01 17:37:13 +04:00
Jared Tobin
ead17841bc
gitattributes: export-ignore default.nix in herb [ci skip] 2020-02-01 12:32:22 +04:00
Jared Tobin
9c644c4333
sh: add release-archive script [ci skip]
Adds a simple helper script for creating release archives.
2020-02-01 12:11:33 +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
769252f4e6
gitattributes: export-ignore hashtable_tests [ci skip]
Prevents pkg/urbit/hashtable_tests from being exported with
git-archive(1).
2020-02-01 11:22:47 +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
Jared Tobin
1daaf041a7
Revert "Merge branch 'jt/urbit-large-log' (#2211)"
This reverts commit 0fc9056074, reversing
changes made to 1e3a1434e0.

The changes made here evidently broke builds on some Linux variants.
2020-01-31 15:26:15 +04:00
Jared Tobin
0fc9056074
Merge branch 'jt/urbit-large-log' (#2211)
* jt/urbit-large-log:
  build: add urbit-large-log derivation
  build: use generic builder in urbit derivation

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-31 14:54:09 +04:00
Jared Tobin
1e3a1434e0
Merge branch 'jt/extraction' (#2217)
* jt/extraction:
  build: make release tarballs extract to directory

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-31 11:24:41 +04:00
Jared Tobin
5918bd1fa1
build: make release tarballs extract to directory
Release tarballs previously didn't include a release directory, so the
files would be unceremoniously dumped into the user's current directory
when extracted.

Fixes #1400.
2020-01-31 10:16:10 +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
Jared Tobin
7e3b9411d6
mailmap: add pkova [ci skip] 2020-01-30 15:53:19 +04:00
Jared Tobin
2896386ec1
vere: patch version bump (v0.10.3) [ci skip] 2020-01-30 14:46:10 +04:00
Jared Tobin
5c211c682d
Revert "u3: clear cached mugs on cell edit"
This reverts commit 94800ca79c, which
fixed a bug with mugs in Vere.  Fixing it retroactively invalidated the
mugs in all event logs in the present era, however.
2020-01-30 14:11:50 +04:00
Jared Tobin
a6e15c9418
build: add urbit-large-log derivation
Adds a derivation that uses a patched pkg/urbit/vere/lmdb.c that employs
a sixty gigabyte log limit, instead of the default forty.  This is
useful for ships e.g. ~zod that receive a lot of traffic on mainnet.
2020-01-30 13:57:03 +04:00
Jared Tobin
46a438f26e
build: use generic builder in urbit derivation
'installPhase' captures all the important stuff that builder.sh
previously did, and use of the generic builder allows stages of the
build to be more easily overridden.
2020-01-30 11:20:40 +04:00
Jared Tobin
4915ceb96b
Merge branch 'ford-noop2' (#2200)
* ford-noop2:
  ford: ignore spurious clay responses

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-29 15:13:40 +04: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
b6e32791d4
Merge branch 'restore-mit' (#2198)
* origin/restore-mit:
  Restore toplevel LICENSE.txt file.

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-29 14:59:20 +04:00
Jared Tobin
64febc787c
Revert "u3: fix lore jet to allow non-trailing null bytes"
This reverts commit 0a78728479.

See discussion in #2195, #1755.
2020-01-29 14:53:16 +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
Jared Tobin
c3fb48cae0
Merge branch 'ford-got-build' (#2193)
* ford-got-build:
  ford: add +got-build helper

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-29 14:33:16 +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
Elliot Glaysher
3066d6f052 Restore toplevel LICENSE.txt file.
Urbit is MIT licensed, but the LICENSE.txt file appears to have
disappeared from the toplevel directory in c86879e833.
2020-01-28 13:24:39 -08:00
Jared Tobin
87581ba5f8
Merge branch 'bug/image-border' (#2188)
* origin/bug/image-border:
  chat: remove black border on images

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:40:08 +04: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
Jared Tobin
b8705d9d3c
Merge branch 'mp/chat-fe-fixing' (#2196)
* origin/mp/chat-fe-fixing:
  chat: smoothen dark theme
  chat: [embed] link doesn't break word on mobile
  chat: youtube embeds responsively expand
  chat: links use white border in dark mode
  chat: sidebar switcher retains with on -m

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 14:03:41 +04:00
benjamin-tlon
84ddf79264
Merge pull request #2163 from urbit/philip/king-replay
king: add partial-replay and --dry-from
2020-01-28 00:35:53 -08:00