Commit Graph

15522 Commits

Author SHA1 Message Date
Elliot Glaysher
f417c084a4 Merge remote-tracking branch 'origin/king-haskell' into king-exit-cleanly 2019-09-18 10:38:20 -07:00
Benjamin Summers
1523241b82 Got tests working again. 2019-09-17 20:33:38 -07:00
Benjamin Summers
da7190008c Move top-level into it's own module. 2019-09-17 20:14:49 -07:00
Benjamin Summers
4214ee45ac Merge branch 'king-haskell' of github.com:urbit/urbit into king-haskell 2019-09-17 20:01:34 -07:00
benjamin-tlon
5939737c43
Merge pull request #1744 from urbit/king-spinner
Terminal spinner implementation in King Haskell.
2019-09-17 19:56:43 -07:00
benjamin-tlon
91b969a931
Merge pull request #1746 from urbit/king-boot-pb
Makes a progress bar on booting a new ship.
2019-09-17 19:56:26 -07:00
Benjamin Summers
0b667d8073 Merge branch 'king-haskell' of github.com:urbit/urbit into king-boot-pb 2019-09-17 19:54:08 -07:00
Benjamin Summers
2e5b1de297 Added dhall config sketch. 2019-09-17 19:50:11 -07:00
Benjamin Summers
26f5964ef7 Move lockfile logic into it's own file. 2019-09-17 19:45:51 -07:00
Elliot Glaysher
7c6a3c2300 Make king shutdown cleanly on a new line.
This makes canceling the persistance thread not rethrow an exception
which kills the process, and makes the terminal driver write one
final newline before giving control back to the terminal so the
bash prompt writes to its own line.
2019-09-17 14:00:54 -07:00
Elliot Glaysher
efa396ed82 Makes a progress bar on booting a new ship.
Also prints the name of the ship you're trying to boot, along with
whether its a fake or not. Also fixes a regression where we were
trying to acquire a lockfile before the pier directory was created.
2019-09-17 11:56:54 -07:00
Elliot Glaysher
c7945689d2 Terminal spinner implementation in King Haskell.
This gets a terminal spinner to spin after a short delay like in
vere. This also fixes a bug in termRefreshLine which was screwing
up redisplay of the terminal spinner; it hadn't been translated
from C properly.
2019-09-16 16:51:17 -07:00
Elliot Glaysher
721945d1ba
Merge pull request #1740 from urbit/king-cleanup
Further terminal fixes and cleanups
2019-09-16 14:49:09 -07:00
benjamin-tlon
63891a5d61
Merge pull request #1731 from urbit/bs/kh-pidfile
Lockfile
2019-09-16 14:39:37 -07:00
Elliot Glaysher
350e9a8f5b 80 characters + golf 2019-09-13 13:06:13 -07:00
Elliot Glaysher
229870e0cc Fix atom putfiles + do unicode accumulation correctly. 2019-09-13 11:46:03 -07:00
Elliot Glaysher
9fcbc864b2 WIP for term cleanup 2019-09-13 11:02:52 -07:00
Elliot Glaysher
189f03e285 Stylish + 80 col 2019-09-13 11:02:41 -07:00
Benjamin Summers
707c546cda Implemented lockfile with correct handling of SIGINT (^C) and SIGTERM (send by kill). 2019-09-12 23:55:10 -07:00
Elliot Glaysher
13f6d97545
Merge pull request #1725 from urbit/king-sync
Clay syncing.
2019-09-12 17:09:05 -07:00
Elliot Glaysher
af7605a7fc Over the shoulder code review. 2019-09-12 17:08:04 -07:00
Elliot Glaysher
c9ae7eef89
Merge pull request #1728 from urbit/king-progress-bar
Display a progress bar on startup when we have to replay the log.
2019-09-12 16:42:31 -07:00
Elliot Glaysher
4aeb137ea5 Address comments. 2019-09-12 16:20:15 -07:00
Elliot Glaysher
860f59d46f Display a progress bar on startup when we have to replay the log.
Use the terminal-progress-bar package to display a progress bar
during replay, when there are jobs that need to be replayed. Bumps
the lts resolver so we get access to this package.
2019-09-12 12:49:27 -07:00
Elliot Glaysher
3927e4d50a Clay syncing.
This performs all normal filesystem operations. We can take
filesystem hash snapshots on startup, write the contents of an
%ergo to disk, send changes to Urbit with an %into, and finally
delete mount points when they are %ogre.

This doesn't deal with updating an initial filesystem on first
run with -A, or with acquiring a lockfile, which should happen
elsewhere.

Can take filesystem hash snapshots on startup, and can write the
contents of an %ergo to disk.
2019-09-11 16:20:05 -07:00
Elliot Glaysher
9b8ce8d9de
Merge pull request #1705 from urbit/king-snapshot-shutdown
Make the compute thread take a request instead of an event.
2019-09-10 14:04:03 -07:00
Elliot Glaysher
3ed4683f4b 80 cols + order of operations 2019-09-10 13:34:11 -07:00
Elliot Glaysher
6d2b94ac7b Per review, use separate TMVars to control saving and shutdown. 2019-09-10 13:31:18 -07:00
Elliot Glaysher
5e9822d268 Make the compute thread take a request instead of an event.
The compute thread should take an event or a save request or a
shutdown request. We now take snapshots every 120 seconds like
vere does, and take a snapshot before clean shutdown.

(Also changes the terminal driver so that it doesn't unboundedly
block shutdown.)
2019-09-06 12:59:56 -07:00
Elliot Glaysher
94034503c7 First pass HTTP Client driver completed.
Can run '+http://www.example.com' from the dojo.
2019-09-05 13:09:45 -07:00
Elliot Glaysher
c8dc2532b2 Recognize %veer events.
This lets me use the event browser on long running ships which have
had kernel reboots.
2019-09-04 13:57:48 -07:00
Elliot Glaysher
75e44f95ee Remove warning override. 2019-09-04 13:02:51 -07:00
Elliot Glaysher
cc7d8cb69a Fix the final stray %send in clay.
Once the solid pill was updated, we can boot the solid pill with
king haskell, solid a pill inside a fakezod running under king,
and then boot another ship using king with the pill we solided
using king.
2019-09-04 11:00:01 -07:00
Elliot Glaysher
d5b9cc8a66 Hack to make it boot. 2019-09-03 17:11:24 -07:00
Elliot Glaysher
25450d5ac8 Merge remote-tracking branch 'origin/bs/uterm' into eg/uterm 2019-09-03 16:45:45 -07:00
Elliot Glaysher
97c9a8c9f1 king can now generate a pill and boot with it. 2019-09-03 16:38:14 -07:00
Elliot Glaysher
ad4ff58682 Actually remove usage of the %send I removed several commits ago. 2019-09-03 16:37:44 -07:00
Elliot Glaysher
c635abd58e Hook up ~& to the terminal driver. 2019-09-03 15:17:20 -07:00
Elliot Glaysher
8af0d7bef9 Move all of Term.hs into RIO. 2019-09-03 11:02:54 -07:00
Benjamin Summers
143e7768a9 NounServ cleanup. 2019-08-31 09:19:40 -07:00
Elliot Glaysher
22647bb91e Rough draft of putfiles. 2019-08-30 13:26:51 -07:00
Elliot Glaysher
80e71b2532 Actually send ^D to the Urbit; handle %logo in response to shutdown. 2019-08-30 11:01:37 -07:00
Benjamin Summers
e5c0174800 Some preliminary work on static linking. 2019-08-30 01:57:05 -07:00
Benjamin Summers
351eaca628 Started separating out low-level LMDB logic. 2019-08-30 01:43:22 -07:00
Benjamin Summers
ec372efb31 Wrote hacky websocket client/server for terminal driver.
Using websockets because it would be nice to eventually have a terminal
in the Electron client.

This is prototype-quality code. Using the built-in client/server from the
`websockets` package, but that's just for testing.
2019-08-30 00:56:28 -07:00
Benjamin Summers
4903a72682 Various small fixes -- trying to get boot working. 2019-08-29 18:29:55 -07:00
Benjamin Summers
0b19fe9c79 EventBrowser: Polish UI and implement event trimming. 2019-08-29 17:23:48 -07:00
Benjamin Summers
ed20b78473 Event/Effect browser with event trimming (not implemented yet). 2019-08-29 16:48:46 -07:00
Elliot Glaysher
206230cec6 Get ^D to end your Urbit session.
This also does a bunch of style cleanup and rearranging so that we
can have the reader thread end.
2019-08-29 16:35:52 -07:00
Elliot Glaysher
8ac461477a Log "interrupt" on C-c properly. 2019-08-29 15:05:01 -07:00