Commit Graph

328 Commits

Author SHA1 Message Date
~siprel
5748da9f8d king: TODO.md cleanup. 2020-06-03 00:28:31 +00:00
~siprel
45f475a178 king: snapshot requests block until event log catches up to serf. 2020-06-02 23:03:04 +00:00
~siprel
28f464fc42 king: Each event comes with error callback, but all do nothing for now. 2020-06-02 20:48:07 +00:00
~siprel
61bdb3cac0 king: Re-Implemenet collectFX and log events as passed to the serf. 2020-06-01 21:31:24 +00:00
~siprel
75b97d9e60 Docs and cleanup for Urbit.Vere.Serf.IPC. 2020-06-01 17:51:37 +00:00
~siprel
a4f5ea2e2f king: Urbit.Vere.King.IPC cleanup + handle scry/pack. 2020-05-31 22:43:34 +00:00
~siprel
2f852c2e9f king: Remove GoodParse hack in newRunCompute. 2020-05-31 22:04:56 +00:00
Benjamin Summers
fd72424b12 Fix make test + no logging during king-haskell tests. 2020-05-29 17:23:10 -07:00
Benjamin Summers
47247d86d2 Merge branch 'khrc' of github.com:urbit/urbit into ipc-redux-kh 2020-05-29 17:15:16 -07:00
Benjamin Summers
3c0db10703 king: Get tests to compile. 2020-05-29 15:57:35 -07:00
~siprel
7ece09c0d1 king: Cleanup IPC batching in swimming flow. 2020-05-29 20:16:37 +00:00
~siprel
ba440c8e3a king: Make sure spinner callbacks are handled correctly from serf. 2020-05-29 19:20:53 +00:00
~siprel
bc35ec0406 king: IPC Batching during replay and normal operation. 2020-05-29 02:14:25 +00:00
~siprel
80b905c239 king: Slogs routed to both terminal and log output. 2020-05-28 18:56:51 +00:00
~siprel
d8f90ead07 king: Misc Small Cleanup. 2020-05-28 18:21:43 +00:00
~siprel
ca13d3f79b king: Better handling of edge-cases around IPC failure. 2020-05-28 00:08:53 +00:00
~siprel
8e78266d74 king: Review and Cleanup w/ Harrison 2020-05-27 22:57:34 +00:00
~siprel
1f64a528cd king: Handle replacement events correctly (dont try to parse them). 2020-05-27 00:08:07 +00:00
~siprel
26bd5a9e4b king: Got new IPC working, still needs lots of polish. 2020-05-26 23:01:03 +00:00
Benjamin Summers
c5896f5ea0 HasKingEnv + HasPierEnv + misc cleanup 2020-05-22 11:37:58 -07:00
~siprel
e10d8ab9cb king: Fleshed out some IPC flows for new protocol. 2020-05-21 22:42:00 +00:00
Benjamin Summers
0b2c78e24b king: Skecthed out lowest layer of new IPC protocol. 2020-05-20 17:35:33 -07:00
Joe Bryan
0d4b0f6e30 WIP kh ipc protocol 2020-05-20 14:20:01 -07:00
Benjamin Summers
419dc03727 RIO environment cleanup. 2020-05-13 12:55:16 -07:00
Benjamin Summers
097259de66 king: Use random numbers for request IDs. 2020-05-13 12:06:55 -07:00
Benjamin Summers
66278edd19 king: Logging cleanup. 2020-05-13 12:06:32 -07:00
Benjamin Summers
ba4b9e7fdf king: Use same logger from all contexts. 2020-05-13 11:29:50 -07:00
Benjamin Summers
b749017564 king: eyre: [WIP] Got multi-tenet HTTPS working. 2020-05-12 17:33:55 -07:00
Benjamin Summers
4ebf276430 king: Flags to disable HTTP/HTTPS/UDP per-ship. 2020-05-12 16:55:49 -07:00
Benjamin Summers
ba705694bd king: eyre: [WIP] Got multi-tenet HTTPS working. 2020-05-12 15:43:19 -07:00
Benjamin Summers
67245e9052 king: eyre: Got multi-tenet HTTP working. 2020-05-12 12:53:40 -07:00
Benjamin Summers
f8cd148f0e king: eyre: Hooked up multi-tenet HTTP. Start-up is a bit hacky. Still totally untested. 2020-05-12 12:04:46 -07:00
Benjamin Summers
965f599788 king: eyre: Finished multi-tenet HTTP flow (not yet started by king). 2020-05-11 12:51:51 -07:00
Benjamin Summers
c1454b1366 king: Finish factoring out HTTP server lifecycle from Eyre. 2020-05-10 15:27:02 -07:00
Benjamin Summers
37855fd704 king: Factor out HTTP server lifecycle from Eyre + impl multi-tenet HTTP. 2020-05-09 13:01:47 -07:00
Benjamin Summers
4b6c2c6ce0 king: Renamed %eyre modules. 2020-05-08 11:29:18 -07:00
Benjamin Summers
5ba113b499 Begin factoring out Raw HTTP logic from Eyre. 2020-05-07 17:38:27 -07:00
Benjamin Summers
36ca949317 king: Factored out DNS flow from Ames driver. 2020-05-07 14:15:32 -07:00
Benjamin Summers
21dcddc65b king: Factored out UDP flow from Ames driver. 2020-05-05 16:18:29 -07:00
Benjamin Summers
47bf14f0f2 king: Further sketch of shared http. 2020-05-05 10:29:36 -07:00
Benjamin Summers
cb6d1c0f7f king: Started implementing multi-tenet HTTP. 2020-05-05 10:29:33 -07:00
Benjamin Summers
eec02ebaa3 king: CLI parsing for ship-shared HTTP(S) server. 2020-05-05 10:29:31 -07:00
Benjamin Summers
e56e538ff3 Correctly shutdown on SIGTERM/SIGINT (fixing bad exception handling code). 2020-05-01 15:32:08 -07:00
Benjamin Summers
80d900d542 king: First stab at handling ship crashes gracefully. 2020-05-01 14:42:05 -07:00
Benjamin Summers
98bbd7364d Merge branch 'master' of github.com:urbit/urbit into two-ship-king 2020-04-30 14:51:47 -07:00
Benjamin Summers
5bc5819a62 king: Support running multiple ships at the same time. 2020-04-30 14:51:28 -07:00
Benjamin Summers
43118dbae3 king: Command Line Parsing for multi-tenet king. 2020-04-30 14:21:24 -07:00
ixv
b383037a8f
Merge pull request #2830 from urbit/king-https-fix
Get HTTPS working in King Haskell.
2020-04-30 13:08:13 -07:00
Benjamin Summers
f66405615f king: Split cert from urbit into cert+chain before giving to warp (HTTP Server library). 2020-04-30 12:13:14 -07:00
Benjamin Summers
75f60504ee king: In http-server/set-config effect, key+cert is Wain, not Cord. 2020-04-30 11:18:23 -07:00
Benjamin Summers
ecf4545d84 king: don't parse crud events, just treat them as nouns. 2020-04-28 11:40:43 -07:00
Elliot Glaysher
81fb798bfb king: handle IOError from recvFrom in ames.
This is an attempt to fix the ames driver so that it reestablishes
a socket after a socket error. This should theoretically fix the
"ames dcoesn't work after computer sleeps" issue, so that when the
os closses a socket, we detect this in waitPacket and attempt to
reestablish the socket.

Closes #2190
2020-04-08 13:33:33 -07:00
Elliot Glaysher
238f6db097 king: increment version for new pill 2020-04-08 13:33:16 -07:00
Benjamin Summers
4d95cf7778 urbit-king: urbit urbit-termsize library. 2020-03-23 13:35:50 -07:00
Benjamin Summers
a52aca28a6 urbit-king: Library for getting current terminal size (SIGWINCH). 2020-03-23 13:35:18 -07:00
Benjamin Summers
5bf82f46c2 urbit-atom: Cleanup 2020-03-18 12:38:48 -07:00
Benjamin Summers
33ef966afc urbit-atom: Remove testing executable. 2020-03-18 11:13:52 -07:00
Benjamin Summers
cbc44643c7 urbit-atom: More TODO 2020-03-18 11:12:57 -07:00
Benjamin Summers
8b2d0928e6 urbit-atom: Use faster atom -> bytes routine where possible. 2020-03-18 11:12:57 -07:00
Benjamin Summers
3660d07b3e urbit-atom: don't run reference impl. on big benchmarks. 2020-03-18 11:12:57 -07:00
Benjamin Summers
340cc6f0aa urbit-atom: TODO.md 2020-03-18 11:12:53 -07:00
Benjamin Summers
da27ed54fa urbit-atom: Benchmarks: GMP's import is faster than mine, but my export is much faster. 2020-03-18 11:12:49 -07:00
Benjamin Summers
0b68ab8a01 urbit-atom: Use GMPs import/export feature. 2020-03-13 10:04:38 -07:00
Benjamin Summers
029262333b urbit-atom: unpin package verisons 2020-03-12 13:09:18 -07:00
Benjamin Summers
51656f915b urbit-atom: Fallback to slow implementation in GHCJS for now. 2020-03-12 13:09:14 -07:00
Benjamin Summers
14cba45597 urbit-atom: Back out of vendoring integer-simple. 2020-03-12 13:09:10 -07:00
Benjamin Summers
7e79c6d200 urbit-atom: [WIP] remove negative numbers from integer-simple. 2020-03-12 10:58:29 -07:00
Benjamin Summers
2d1a6883e8 urbit-atom: s/Integer/Atom/ in integer-simple code. 2020-03-12 10:49:35 -07:00
Benjamin Summers
01d1a0f7e9 urbit-atom: Moved urbit-integer-simple into urbit-atom package. 2020-03-12 10:45:01 -07:00
Benjamin Summers
cd656b389f urbit-atom: Vendor integer-simple. 2020-03-12 10:19:14 -07:00
Benjamin Summers
0abf80cc8e urbit-atom: Don't use tasty for tests to avoid clock dependency. 2020-03-12 09:59:50 -07:00
Benjamin Summers
b659f48c3e urbit-atom: No classy-prelude dependency. 2020-03-11 19:41:07 -07:00
Benjamin Summers
2a7058ffd8 urbit-atom: don't use unboxed tuples (breaks ghci) 2020-03-11 19:24:18 -07:00
Benjamin Summers
3c568c8e4c urbit-atom: Wrote tests and fixed an edge-case. 2020-03-11 19:19:38 -07:00
Benjamin Summers
ccdc40a467 Merge branch 'bs/portable-urbit-atom' of github.com:urbit/urbit into bs/portable-urbit-atom 2020-03-11 14:11:43 -07:00
Benjamin Summers
de3de09fca urbit-atom: Reference impl. for atom/bytes and atom/words conversion. 2020-03-11 14:11:12 -07:00
Benjamin Summers
8f25a50232 Pulled some urbit-atom test from the bowels of git history. Not working yet. 2020-03-06 23:19:19 -08:00
Benjamin Summers
28ae8bbaf2 urbit-atom: Debugging hacks to test in GHCJS. 2020-03-06 18:12:53 -08:00
Benjamin Summers
f7356fe1ed urbit-atom: Support 32 bit CPUs 2020-03-06 14:31:12 -08:00
Benjamin Summers
70bda9f9d3 urbit-atom: autofmt urbit-atom. 2020-03-06 14:31:06 -08:00
Benjamin Summers
2bc8506a74 urbit-atom: Got Atom.Internal to build with GHCJS. 2020-03-06 14:31:00 -08:00
Benjamin Summers
237774adc5 king: Slight CLI cleanup and fix test build.
Forgot to add `hidden` to http options. Without this, they show up on
the summary line in `king run --help`.
2020-03-04 19:18:00 -08:00
Benjamin Summers
2dc97293cc king: Add command-line flags to configure HTTP and HTTPS ports. 2020-03-04 19:13:21 -08:00
Benjamin Summers
957c0da9bb
king: Terminal input line wasn't being shown b/c line buffering. 2020-02-20 14:41:07 +04:00
Benjamin Summers
e1f6db7250
king: Remove TERMINFO_DIRS hack. 2020-02-20 14:41:07 +04:00
Benjamin Summers
9d2d6c42c6
king: First stab at removing terminfo dependency. 2020-02-20 14:41:07 +04:00
Benjamin Summers
a318462836
king: New dependency: ansi-terminal 2020-02-20 14:41:06 +04:00
Benjamin Summers
3b1bd6600a
king: Factored all terminal rendering logic into its own module. 2020-02-20 14:41:03 +04:00
Benjamin Summers
4be4551f18 king: Use newer static-haskell-nix script for KH build. 2020-02-14 07:13:55 -08:00
Benjamin Summers
3b42c5412f Fix counting bug in event log replay. 2020-02-05 15:20:32 -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
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
Benjamin Summers
d411c914a4 Got Linux release builds working again. 2020-01-25 14:39:42 -08:00
Benjamin Summers
05e64cfdf0 Merge branch 'king-haskell' of https://github.com/urbit/urbit into philip/king-replay 2020-01-25 14:18:33 -08:00
Philip Monk
18a279aeaf
king: style improvements 2020-01-24 16:25:49 -08:00
Benjamin Summers
c40a02b044 king: Build without warnings. 2020-01-23 22:23:43 -08:00
Benjamin Summers
2df59aa4ff Fix king-haskell Linux release build. 2020-01-23 22:09:23 -08:00
Benjamin Summers
dd29419f41 Merge branch 'king-haskell' into philip/king-replay 2020-01-23 21:47:06 -08:00
Benjamin Summers
ba3f631617 Merge branch 'king-haskell' into king-auto-connect 2020-01-23 21:37:51 -08:00
Benjamin Summers
6977ae8d3f Renamed modules Ur.** to Urbit.** to be consistent with urbit-{atom,hob} 2020-01-23 21:28:38 -08:00
Benjamin Summers
6a450b93b9 king: Rename king package to urbit-king. 2020-01-23 21:20:43 -08:00
Benjamin Summers
fd4d7b9ba4 Merge branch 'king-haskell' of github.com:urbit/urbit into philip/king-replay 2020-01-23 18:57:22 -08:00
Benjamin Summers
c91e0a678f Merge branch 'king-haskell' of github.com:urbit/urbit into king-auto-connect 2020-01-23 01:49:18 -08:00
Benjamin Summers
27c0750796 Clean up Urbit.Atom and move it into it's own package. 2020-01-23 01:45:30 -08:00
Benjamin Summers
ad5f40efff Merge branch 'king-haskell' of github.com:urbit/urbit into king-auto-connect 2020-01-22 20:29:59 -08:00
Benjamin Summers
f1cd1bf750 Module structure, doc strings 2020-01-22 20:16:09 -08:00
Benjamin Summers
7721bae18f Bump stackage version. 2020-01-22 19:08:50 -08:00
Benjamin Summers
f0892436ff Got docs to build. 2020-01-22 18:58:22 -08:00
Isaac Visintainer
b5c24eeadb king haskell: automatically connect to terminal when running a ship 2020-01-10 16:39:31 -08:00
Philip Monk
8a8341a783
king: add partial-replay and --dry-from
partial-replay allows you to replay up to event N and make a checkpoint
there.  --dry-from replays to event N and then starts in dry-run mode
from that point, so you can attach a console.

The intended debug flow is to use partial-replay to make a checkpoint
near when a bug is triggered, then use event-browser and --dry-from to
drill down and find exactly what triggered the bug.

Unfortunately, if the bug was triggered by crash handling, you do not
have the original event, only the injected replacement event.  This is
still useful, though.
2020-01-10 14:19:08 -08:00
Benjamin Summers
06934959ca Make sure we close HTTP sockets on close (or reconfigure). 2019-12-21 18:24:54 -08:00
Benjamin Summers
2e8defccc1 Hack around terminfo database problem. 2019-12-21 07:55:24 -08:00
Benjamin Summers
5d66c39d02 Fixed bug in HTTP Server (only first block from stream was handled). 2019-12-20 13:47:20 -08:00
Benjamin Summers
5dd3cdde91 Logging for event sourced responses. 2019-12-20 12:59:01 -08:00
Benjamin Summers
ba83024c9e Cleanup port binding logic. 2019-12-20 12:58:16 -08:00
Benjamin Summers
f7e0e22ce7 Allow remote HTTP connections. 2019-12-19 14:20:04 -08:00
Benjamin Summers
921718c6f4 Try to open normal ports 80/8080/443/etc before just opening some fucking port. 2019-12-19 13:20:31 -08:00
Benjamin Summers
03131c1400 Fix HTTP server effect parse errors. 2019-12-19 11:30:09 -08:00
Benjamin Summers
44d477dff8 Hacked terminal-progress-bar to use RIO.logSticky for better interaction with log output. 2019-12-19 10:21:23 -08:00
Benjamin Summers
ef6d0cc189 Vendored terminal-progress-bar. 2019-12-19 09:40:21 -08:00
benjamin-tlon
fcae7e6587
Build Linux static executables. (#2120) 2019-12-19 08:11:59 -08:00
Benjamin Summers
e6d8d382dc Moved *.hs into a single package. 2019-05-08 13:00:12 -07:00
Benjamin Summers
fbf9a1b3fc Urbit.Time 2019-05-08 11:47:20 -07:00
Benjamin Summers
4b38053509 Behn 2019-05-05 14:46:40 -07:00
Benjamin Summers
25713052c0 Messing around. 2019-05-01 19:19:19 -07:00
Benjamin Summers
87dbcef866 Minor cleanup. 2019-04-29 16:15:25 -07:00
Benjamin Summers
ac8144114b Some Haskell. Now how to build with nix? 2019-04-29 16:01:18 -07:00