Benjamin Summers
a920e71aca
External terminals working well now (Lots more janky cherry picking from king-daemon branch)
2019-12-17 10:06:20 -08:00
Benjamin Summers
c579335288
Hacky code to get king con
to connect to King API server.
2019-12-17 08:55:10 -08:00
Benjamin Summers
caa3d7f33c
Pulled in and integrated a commit from my king-daemon branch.
2019-12-17 06:31:50 -08:00
Benjamin Summers
154fc5f849
Never run a local terminal.
2019-12-17 03:29:58 -08:00
Elliot Glaysher
8a09262092
Separate the config into pier and network sections.
...
Make the ames tests compile again, reading from a test instance of
HasNetworkConfig without phony HasPierConfig data.
2019-10-22 11:25:04 -07:00
Elliot Glaysher
9ec9426b8a
Implement -N, dry-run mode.
...
When -N is enabled, no sockets are bound and no events get persisted
to the datastore. We also pass the dry run flag to the serf, who
should not snapshot.
(For redundancy, we should probably also make king not send the save
snapshot commands, but I tested locally that the worker process
doesn't save.)
2019-10-17 16:10:53 -07:00
Elliot Glaysher
f038e60794
Implement -L and -x
2019-10-17 15:32:06 -07:00
Elliot Glaysher
b0ed770cc8
Build (HasPierConfig env) and use it for pier path and network state
2019-10-17 14:06:25 -07:00
Elliot Glaysher
e9063f926b
Implement -u flag for loading pills from a url.
2019-10-16 13:43:47 -07:00
Elliot Glaysher
31226bc9c0
Fix boot sequence for brass pills.
2019-10-16 13:38:46 -07:00
Elliot Glaysher
9d7746948b
Print messages about looking up galaxy IPs.
2019-10-11 14:05:25 -07:00
Elliot Glaysher
26046b63ef
Thread isFake bit to Ames and condition how we send messages on it.
2019-10-08 16:18:52 -07:00
Elliot Glaysher
872d4b1c76
WIP: Compiles, but appears to have broken fakezod/fakenec.
2019-10-08 15:01:16 -07:00
Elliot Glaysher
b95c354ba3
Hook up the lite mode flag.
2019-10-03 15:41:19 -07:00
Elliot Glaysher
fbe0a78db5
Merge remote-tracking branch 'origin/king-haskell' into king-dawn
2019-10-03 15:41:09 -07:00
Elliot Glaysher
ea431e18ad
Merge remote-tracking branch 'origin/master' into king-haskell
...
This adds minor changes to king haskell to support the new boot
event structure.
2019-10-03 11:11:27 -07:00
Elliot Glaysher
0de09bb97b
Reorganize the king new command line flags to boot from keyfiles.
...
(Ships booted from keyfiles are still in an invalid dill state.)
2019-10-01 14:44:14 -07:00
Elliot Glaysher
87a9f4e667
Can retrieve the ames domains from Ethereum using web3.
...
Partial support for retrieving the galaxy table, but I'm having
problems converting the public key type.
2019-09-19 15:40:23 -07:00
Elliot Glaysher
ba9bd01e35
Merge branch 'king-haskell' into king-exit-cleanly
2019-09-18 11:02:46 -07:00
Benjamin Summers
d3d42a7fdd
Re-enable local terminal (non-daemon mode) + cancelWait cleanup.
2019-09-18 10:55:21 -07:00
Elliot Glaysher
f417c084a4
Merge remote-tracking branch 'origin/king-haskell' into king-exit-cleanly
2019-09-18 10:38:20 -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
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
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-tlon
5939737c43
Merge pull request #1744 from urbit/king-spinner
...
Terminal spinner implementation in King Haskell.
2019-09-17 19:56:43 -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
9fcbc864b2
WIP for term cleanup
2019-09-13 11:02:52 -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
25450d5ac8
Merge remote-tracking branch 'origin/bs/uterm' into eg/uterm
2019-09-03 16:45:45 -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
Elliot Glaysher
22647bb91e
Rough draft of putfiles.
2019-08-30 13:26:51 -07:00
Benjamin Summers
4903a72682
Various small fixes -- trying to get boot working.
2019-08-29 18:29:55 -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
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
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
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