Benjamin Summers
dcb25bbbb8
Track terminal state in pure code.
2019-09-18 15:07:53 -07:00
Benjamin Summers
d3d42a7fdd
Re-enable local terminal (non-daemon mode) + cancelWait cleanup.
2019-09-18 10:55:21 -07:00
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
da7190008c
Move top-level into it's own module.
2019-09-17 20:14:49 -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
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
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
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
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
Elliot Glaysher
e2d304d43c
At least detect when we have ^C or ^D.
2019-08-29 14:54:34 -07:00
Elliot Glaysher
6f6811def5
Very basic input works. Edge cases unhandled.
2019-08-29 13:19:06 -07:00