Elliot Glaysher
7e117f86b7
king: move internal IPC types to own file
...
This lets us put a StrictData annotation on these datas, without
touching the rest.
2020-10-05 14:28:17 -04:00
Elliot Glaysher
77a11a82be
Merge branch 'release/next-vere' into kh-strict
2020-10-05 13:26:46 -04:00
Elliot Glaysher
8d3e15c62b
king: strictify all parsed nouns
...
At least some of the parsed plea structures were holding on to the raw
bytestrings through laziness.
2020-10-05 13:16:45 -04:00
Elliot Glaysher
0451953822
king: evaluate text which goes into the log
2020-10-05 13:15:57 -04:00
Elliot Glaysher
37a52136ab
king: Use modifyTVar' instead of modifyTVar.
...
We mostly used modifyTVar', but there were a few lazy cases.
2020-10-05 13:12:22 -04:00
Elliot Glaysher
e7b69c9407
king: use Data.Map.Strict instead of Data.Map.
2020-10-05 13:12:22 -04:00
Elliot Glaysher
4698659bb2
Merge pull request #3575 from urbit/kh-printing-is-a-slog
...
King Haskell terminal fixes
2020-10-01 12:14:30 -04:00
Elliot Glaysher
4b2d2b5931
king: more review comments
2020-10-01 11:10:30 -04:00
Elliot Glaysher
dd18bf6f0f
king: review comments
2020-09-28 10:56:51 -04:00
Elliot Glaysher
20a6c0331c
king: set initial terminal size and react to resizes
...
This changes startup so we get the size of the current terminal
to send to Urbit on startup. We then subscribe to terminal size
change notifications and send those to your Urbit via the terminal
muxing system.
In the case where there are multiple terminal connections to your
Urbit, set the terminal size to the minimum of the widths.
2020-09-25 12:40:24 -04:00
Elliot Glaysher
e9f09e32c1
king: put slogs in the muxed scrollback
...
If you connect to an urbit using the remote terminal code,
slogs would not be printed to them since they were hard
coded to be printed to stderr. This threads slog printing
to the terminal driver, and puts them in scrollback.
(It does not actually fix slogs being printed on one line.)
2020-09-25 12:40:23 -04:00
Fang
6659c859f1
kh: abolish unicode syntax in favor of ascii
2020-09-25 01:43:03 +02:00
Fang
dd3112985e
kh: support rendering +stub as ansi escape codes
...
Adds support to term.hs for a %klr blit, containing a +stub describing
styled text.
Dill will start making use of this in a separate commit, for release
cutting reasons.
2020-09-15 16:50:25 +02:00
pilfer-pandex
ba79aa713a
king: move most things from debug log level to info
2020-09-09 18:20:21 -07:00
Elliot Glaysher
0a3fe85c06
Merge pull request #3439 from urbit/kh-sending-chunk
...
king: change logging from tracing to info in Wai.hs
2020-09-08 10:32:23 -04:00
Elliot Glaysher
ecbcdf7d00
king: change logging from tracing to info in Wai.hs
...
I noticed that the king's text log file kept filling up, and it's
mostly 'sending chunk "\n"' from eyre. This changes the log level
of every partial send over an active eyre channel to info, instead
of always.
2020-09-05 21:49:23 -04:00
Elliot Glaysher
a42c90db9c
king dawn: export functions used in tests
2020-09-04 17:02:11 -04:00
Elliot Glaysher
74b40e0e52
king dawn: nits
2020-09-04 14:44:26 -04:00
Elliot Glaysher
07089a1c93
king dawn: remove stray marks
2020-09-04 11:01:47 -04:00
Elliot Glaysher
4bd0882e7d
king dawn: instead of crashing, return an error
2020-09-04 10:54:31 -04:00
Elliot Glaysher
4a7e1b2009
king dawn: replace web3 usage with hand rolled jsonrpc messages.
...
This replaces the autogenerated bindings to the Azimuth contracts
which use Network.Web3 with hand rolled json messages. Booting a
ship involved 256 individual galaxy point lookups using web3, while
Vere batched all of that into one JSONRPC message.
With this patch, we also batch everything at each phase into one
JSONRPC batch.
2020-09-03 16:05:08 -04:00
Elliot Glaysher
8255fc0e8c
natpmp: formatting and cleanup old pmp handle
2020-08-20 20:23:25 -04:00
Elliot Glaysher
15f0df81f1
natpmp: when reopening laptop, reestablish a connection to the router.
2020-08-20 15:47:02 -04:00
Elliot Glaysher
88428961dd
natpmp: also detect 172.16.0/0/12 ips as private.
2020-08-19 14:02:03 -04:00
Elliot Glaysher
1401d7bc5c
natpmp: fix error handling and don't die on errors in getpubliaddress
...
This fixes a case where the natpmp async could pure () instead of
recursing, which would lock ames. This also adds some more error
handling on the haskell side of things and disables the raw fprintfs
in the c bindings layer.
2020-08-19 12:53:59 -04:00
Elliot Glaysher
60e2ae02a2
natpmp: cleanup by using a tristate
2020-08-18 15:43:31 -04:00
Elliot Glaysher
dca4344a45
natpmp: By default, only try to talk to the router on private ips.
...
Since startup hangs for seconds when you are not behind a router,
but still attempt to ask one to open ports for you, by default,
only try to contact the router if the local ip is 192.168.*.* or
10.*.*.*.
Also make port forwarding force on/off.
2020-08-18 12:22:45 -04:00
pilfer-pandex
750b986370
Merge branch 'release/next-vere' into pp/log-cli
...
Rename `koUseNatPmp` to `hUseNatPmp`; cleanup
2020-08-17 11:43:30 -07:00
pilfer-pandex
6a236a2749
king: use XDG cache directory for default log location
2020-08-17 11:27:30 -07:00
Elliot Glaysher
81e3a8f927
natpmp: cleanups for ~master-morzod
2020-08-17 10:58:48 -04:00
pilfer-pandex
2d1f3cdfa0
king: thread LogLevel through, make output better
2020-08-16 10:33:52 -07:00
pilfer-pandex
8ab60b9133
king: configure logging via cli flags
2020-08-14 19:40:48 -07:00
Elliot Glaysher
1b3a69e24d
Merge branch 'release/next-vere' into king-natpmp
2020-08-14 16:17:47 -04:00
Elliot Glaysher
14d1b59117
natpmp: even more cleanup
2020-08-14 10:23:39 -04:00
Elliot Glaysher
b4878a8b03
natpmp: Separate out the PortThreadMsgs from the heap actions.
2020-08-13 13:36:20 -04:00
Elliot Glaysher
a3336fde41
natpmp: more nits
2020-08-13 11:52:42 -04:00
Elliot Glaysher
1183ac0b22
natpmp: checkpoint while addressing comments
2020-08-13 11:12:26 -04:00
Elliot Glaysher
ac4b5a99e5
natpmp: Rename RunningEnv to HostEnv.
2020-08-13 10:19:35 -04:00
Elliot Glaysher
3e6fd0f8e8
natpmp: ~pilfer style nits
2020-08-13 10:08:02 -04:00
pilfer-pandex
36ee3da818
Merge pull request #3267 from urbit/pp/print-http-ports
...
king: eyre: add missing printouts with ports
2020-08-11 22:11:35 -07:00
pilfer-pandex
8e04cd12f0
Merge pull request #3230 from urbit/pp/ames-slow-startup
...
king: ames: add stderr when sending before having turfs
2020-08-10 17:47:43 -07:00
Elliot Glaysher
2e66ae10ec
natpmp: use MonadIO in the bindings to remove unsightly "io $"
2020-08-10 13:15:03 -04:00
Elliot Glaysher
4d8c6ad09a
nat-pmp: improve error and diagnostic messages
2020-08-10 13:02:13 -04:00
pilfer-pandex
556d92107a
king: eyre: add missing printouts with ports
2020-08-09 22:12:44 -07:00
Elliot Glaysher
b7bfa170a9
Merge pull request #3262 from urbit/king-fix-eth
...
king: fix dawn to use the wrapped ethereum server.
2020-08-07 14:31:07 -04:00
Elliot Glaysher
4c4712f4e8
king: fix dawn to use the wrapped ethereum server.
2020-08-07 13:18:16 -04:00
Elliot Glaysher
149565cd97
king: get tests passing after nat-pmp changes
2020-08-07 13:04:57 -04:00
Elliot Glaysher
6368aa2b02
king: Turn NAT-PMP on by default, with a flag to disable.
...
Also: error checking.
2020-08-07 12:42:00 -04:00
Elliot Glaysher
a3e33644a9
king: port forward ames traffic behind a NAT.
...
Tested with a comet trying to receive traffic from a planet in the
cloud. (h/t ~master-morzod)
2020-08-06 16:26:22 -04:00
pilfer-pandex
1691c984dd
king: ames: add stderr when sending before having turfs
2020-08-06 12:11:36 -07:00