Commit Graph

15498 Commits

Author SHA1 Message Date
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
Benjamin Summers
efc6103fc1 %veer events now use cords instead of tapes? 2019-08-21 17:07:05 -07:00