Commit Graph

15499 Commits

Author SHA1 Message Date
Elliot Glaysher
af7605a7fc Over the shoulder code review. 2019-09-12 17:08:04 -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
Elliot Glaysher
e2d304d43c At least detect when we have ^C or ^D. 2019-08-29 14:54:34 -07:00
Benjamin Summers
a287676923 Minor 2019-08-29 14:26:33 -07:00
benjamin-tlon
8fbd8d6d04
Merge pull request #1672 from urbit/bs/king-logging
King Haskell Logging
2019-08-29 14:23:27 -07:00
Elliot Glaysher
6f6811def5 Very basic input works. Edge cases unhandled. 2019-08-29 13:19:06 -07:00
Elliot Glaysher
70ef39210f Get basic text working. 2019-08-29 11:12:50 -07:00
Elliot Glaysher
cdcdc6a59e Merge remote-tracking branch 'origin/bs/king-logging' into eg/uterm 2019-08-29 10:30:53 -07:00
Benjamin Summers
de7a087ef5 Logging everywhere + log to file 2019-08-28 17:26:59 -07:00
Elliot Glaysher
d1a9eaeaa0 A closer copy of the term.c output.
After looking at vty for a bit, I decided to just do a straight port
of term.c's raw output code. This gets the "~zod:dojo" in the right
position, though the other logging output screws things up a bit.
2019-08-28 17:08:47 -07:00
Elliot Glaysher
555b9e7dcf Moved terminal initialization up to Pier.
Joe told me to look at the Jaque terminal and I just did. That uses
the Lanterna Java library to handle terminal output. Joe then suggested
that I move the entire system here to curses or another similar library.
2019-08-28 13:17:01 -07:00
Benjamin Summers
062c71b57d Logging in Vere.Serf 2019-08-28 05:22:56 -07:00
Benjamin Summers
c1bb26e628 Logging in Vere.Pier 2019-08-28 04:45:49 -07:00
Benjamin Summers
524671d310 Minor cleanup. 2019-08-28 04:06:48 -07:00
Benjamin Summers
360d166344 Started RIO's logging system instead of printfs. 2019-08-28 04:00:26 -07:00
Elliot Glaysher
994c5948e1 Construct the %blew and %hail initalEvents correctly. 2019-08-27 16:22:01 -07:00
Elliot Glaysher
5e3e1e7c1a Skeleton terminal implementation.
This sends the right events on startup, and there's a minimal key
reading logic, but not much else works yet.
2019-08-27 15:29:11 -07:00
Elliot Glaysher
348d037445 It says implement or remove, so lets just remove it. 2019-08-23 16:57:29 -07:00
Elliot Glaysher
3efc197639 Remove dead code in the terminal driver. 2019-08-23 15:40:15 -07:00
Elliot Glaysher
64cb0e564c Remove dead %send code from outside ames. 2019-08-23 14:39:44 -07:00
Elliot Glaysher
2c857ec792 is dead code, too. 2019-08-23 14:11:34 -07:00
Elliot Glaysher
fbf7bdc4b8 Since it's unimplemented, %bbye goes bbye. 2019-08-23 14:07:58 -07:00
Benjamin Summers
0b0718997e Don't insist on using specific port. 2019-08-21 18:18:10 -07:00
Benjamin Summers
82683bfd9a Validate effects. 2019-08-21 17:54:00 -07:00
Benjamin Summers
131cb30900 Validate event parsing. 2019-08-21 17:29:39 -07:00