Commit Graph

82 Commits

Author SHA1 Message Date
Benjamin Summers
b1a9dff197 Fixes live-lock by changing type of Vere.Term.API.Client.give to take [Term.Ev]. 2019-09-18 02:11:18 -07:00
Benjamin Summers
6b8e88fdd8 Was replaying terminal events in the wrong order. 2019-09-18 01:08:13 -07:00
Benjamin Summers
24bc28e834 Hooked up a remote terminal, it runs but doesn't work yet. 2019-09-18 00:24:10 -07:00
Benjamin Summers
4c3342f9c6 External terminals get added to the demuxed terminal set. 2019-09-17 23:59:07 -07:00
Benjamin Summers
09b30bf169 Collect terminal size. 2019-09-17 23:58:42 -07:00
Benjamin Summers
cd07b10946 Impement basic support for multiple terminals pretending to be one terminal. 2019-09-17 23:17:54 -07:00
Benjamin Summers
ebf3d3e5c6 Move terminal client API into it's own module. 2019-09-17 22:22:19 -07:00
Benjamin Summers
4fdfab66df Minor 2019-09-17 22:06:40 -07:00
Benjamin Summers
99dd161b86 Simplify term interface. 2019-09-17 22:01:44 -07:00
Benjamin Summers
c4be3e4a19 Terminal loop cleanup. 2019-09-17 21:41:31 -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 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
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
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
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
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
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
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