Elliot Glaysher
d6def3c4cb
WIP: Got to the point where we boot and goof on the event
2020-12-16 11:17:13 -05:00
pilfer-pandex
aefb53e64e
king: path format chage, fix tests
2020-12-15 13:46:26 -08:00
Elliot Glaysher
c887dcd626
Merge remote-tracking branch 'origin/pp/wire' into eg/wyrd-hs
2020-12-11 17:13:39 -05:00
Elliot Glaysher
4f67f90c9c
Dumping
2020-12-11 13:05:46 -05:00
Elliot Glaysher
876fb521ee
First draft adding wyrd; doesn't boot.
2020-12-11 13:05:46 -05:00
pilfer-pandex
716ed1203b
king: fix warning
2020-12-10 18:05:10 -08:00
pilfer-pandex
1a9b1a83a5
king: 'implement' joe's breaching ev/ef path reform
2020-12-10 17:56:56 -08:00
pilfer-pandex
17359556c1
Merge pull request #4075 from urbit/pp/stat
...
king: Create a new stats subsystem; count some stuff in Ames
2020-12-10 16:40:52 -08:00
Joe Bryan
59883343c8
Merge branch 'jb/vere-versions' into jb/vere-versions-merge
...
* jb/vere-versions:
u3: adds comments to explain unusual u3v_arvo/u3v_home requirements
u3: fixes checkpoint version enforcement, refactors u3m_pave() et al
king: port the new lmdb event log changes.
u3: WIP adds a version to the checkpoint / persistent state
u3: revises "rock" format, tags jet registrations
u3: adds version number to checkpoint patch files
u3: removes obsolete members from u3_arvo
vere: removes u3A->sen references from i/o drivers
vere: implements lmdb event log format
vere: adds version to lmdb meta table, removes unnecessary jam
2020-12-04 15:26:16 -08:00
pilfer-pandex
f5d1f9260c
king: more stats, log 'rotation'
2020-12-04 14:19:03 -08:00
pilfer-pandex
0f4450d43b
king: remove spurious Term changes
2020-12-03 23:23:46 -08:00
pilfer-pandex
24cc0502cd
king: actually use ~_~ for stats display
2020-12-03 23:12:14 -08:00
pilfer-pandex
80540c2142
king: stat
2020-12-03 11:13:59 -08:00
fang
f099ec9505
kh: use Word8 for Tint true color values
...
Also does some minor style cleanup.
2020-12-03 01:45:46 +01:00
fang
7fa7716ab0
kh: support 24-bit %klr colors
2020-12-02 17:27:53 +01:00
Elliot Glaysher
967b5c3091
king: port the new lmdb event log changes.
2020-11-25 11:33:36 -05:00
Joe Bryan
68a9a8dba1
Merge branch 'release/next-vere' into pp/mug
...
* release/next-vere:
build: update gcloud to use non-deprecated action
vere: manage memory properly in _fore_import
build: update GoogleCloudPlatform/github-actions/setup-gcloud to 0.2.0
king: try undoing warnings in eventlog-lmdb
king: diswarn tests
king: more warnery
king: fix warnings; more consistent warn policy
vere: add -i and -o options for import and export
herb/lens: add utilites for import/export
build: github actions workflow configuration
vere: refactors pier initialization to fix -X
nix: fixes `shellFor` nix-shell helper
2020-11-19 23:29:46 -08:00
pilfer-pandex
9062f398a5
king: try undoing warnings in eventlog-lmdb
2020-11-17 18:27:48 +01:00
pilfer-pandex
108b6ed485
king: diswarn tests
2020-11-17 18:27:48 +01:00
pilfer-pandex
0567f24959
king: more warnery
2020-11-17 18:27:48 +01:00
pilfer-pandex
491034b4eb
king: fix warnings; more consistent warn policy
2020-11-17 18:27:48 +01:00
pilfer-pandex
f08d7c6031
king: fix test (daaad)
2020-11-11 16:56:56 -08:00
pilfer-pandex
d7de50be07
king: fix warnings in Tree (thanks dad)
2020-11-11 16:42:55 -08:00
pilfer-pandex
16e48a7484
king: this is a holdup!
2020-11-11 16:33:50 -08:00
fang
50651cd76e
Merge pull request #3849 from urbit/pppf/eyre-slog
...
kh: webslogs
2020-10-31 21:22:09 +01:00
fang
2497283ff2
king: more code style weaks, remove stale todo's
2020-10-31 21:00:00 +01:00
pilfer-pandex
82606e03e3
Merge pull request #3852 from urbit/pp/fix-kh-again
...
king: fix a warning
2020-10-30 17:31:15 -07:00
Elliot Glaysher
15d2c18368
Merge pull request #3809 from urbit/kh-specify-eth-node
...
king: port the '-e' option to specify ethereum node endpoint.
2020-10-30 20:06:00 -04:00
pilfer-pandex
a211390e77
king: and fix a warning in Packet.hs
2020-10-30 16:35:52 -07:00
pilfer-pandex
06f3dc2d3e
king: fix MonadFail issue in Packet.hs caused by merge
2020-10-30 16:29:57 -07:00
fang
c0f1fe8433
king: improve code style in KingSubsite
2020-10-30 23:42:33 +01:00
fang
77fc886570
Merge branch 'release/next-vere' into pppf/eyre-slog
2020-10-30 23:30:00 +01:00
pilfer-pandex
bd0672cb8e
king: 1 TiB mapsize for event log
2020-10-30 14:54:33 -07:00
pilfer-pandex
6f0bb5990c
Merge pull request #3595 from urbit/pp/stateless
...
Implement stateless forwarding in the king
2020-10-30 14:48:38 -07:00
Joe Bryan
bafa1ef7f5
Merge pull request #3806 from urbit/release/next-ci
...
build: migrate to hercules ci, haskell.nix, and upgrade to ghc 8.8.4
2020-10-30 14:33:26 -07:00
fang
3f9cd4a794
king: get rid of unnecessary helper
2020-10-29 23:22:48 +01:00
Brendan Hay
6599a85b99
king: ensure tests are enabled on ci and don't depend on lfs pills
2020-10-29 16:20:41 +01:00
fang
5615b5dc1a
king: factor scrying logic into helper lib
...
Takes care of constructing the full scry path based off the given
components. Fills in timestamp with the current time. Logs errors on
result conversion failures.
2020-10-28 19:59:48 +01:00
fang
af225f673a
king: scry to check authentication of webslog reqs
...
Instead of giving webslogs to anyone who asks, only acknowledge requests
with valid session cookies. Send 403s to all others.
2020-10-28 19:33:21 +01:00
Elliot Glaysher
d1c5f97bd7
king: cancel http servers immediately on shutdown.
2020-10-28 14:24:52 -04:00
fang
418b9fda7e
king: add helper for escaping Text into @ta format
...
Behavior should match (scot %t the-text).
2020-10-28 19:13:23 +01:00
Elliot Glaysher
b3c145ee35
king: port the '-e' option to specify ethereum node endpoint.
2020-10-27 14:01:59 -04:00
Brendan Hay
de17409fd6
king: various warning and -Werror related fixes
...
This also removes -Werror from racqure due to the sheer number
build failures arising from compiler warnings.
2020-10-27 14:28:08 +01:00
Brendan Hay
74db584ad7
king: simplify parser types to avoid invalid existential newtype
2020-10-27 14:28:08 +01:00
Brendan Hay
2b74a8edd6
king: disable overlapping patterns for deriveNoun/Void usage
2020-10-27 14:28:08 +01:00
Brendan Hay
d752256126
king: replace use of deprecated network/socket address lookup
2020-10-27 14:28:08 +01:00
Brendan Hay
8a830934b1
build: reorganising top-level .gitignore and add nix ignores
2020-10-27 14:28:07 +01:00
Brendan Hay
345bf2c39a
king: remove broken/unused regex-tdfa-text dependency
...
Text instances are now contained in the parent regex-tdfa package.
2020-10-27 13:56:17 +01:00
Brendan Hay
eeff3034cd
king: update stackage resolver to lts-16.15
...
This allows us to drop flat/urbit-hob as they're now in the package set,
web3/vinyl need to be added to account for urbit-azimuth's dependencies.
2020-10-27 13:56:04 +01:00
Brendan Hay
ce3cbf0857
build: rework all nix expressions to support hercules-ci builds
...
This also removes nixcrpkgs and OSX cross compilation in favour of
compiling on the target. x86_64/musl targets are still supported
on Linux.
All sources are now managed via niv (see nix/sources.json) and Haskell
package sets are provided/organised via IOHK's haskell.nix.
Some effort has been made to expose similar top-level attributes for
development, but in some cases there have been changes. Please see
the comments in the top-level default.nix and ci.nix files for usage.
2020-10-27 13:55:49 +01:00
fang
2e7b2ceedb
Merge branch 'pp/stateless' into pppf/eyre-slog
2020-10-26 16:34:41 +01:00
Elliot Glaysher
759ac51f27
king: Don't hard error on injected event failure.
2020-10-26 10:57:07 -04:00
pilfer-pandex
e254c72788
king: address #3778 per joe
2020-10-23 00:10:33 -07:00
pilfer-pandex
66e3df0b06
king: address joe's comments
2020-10-22 16:13:26 -07:00
Elliot Glaysher
5cdeecc627
king: undo undo
2020-10-22 13:06:57 -04:00
Elliot Glaysher
61af5b104e
king: patch cleanup
2020-10-22 10:53:28 -04:00
Elliot Glaysher
04ab7b5eb6
king: implement -I and --inject-event-list
...
This makes it so during `run`, you can inject a series of Events
into your Urbit. The `-I` injection was implemented in Vere, and
has been ported to KH, with the extended `--inject-event-list`
flag which handles a jammed list of events.
Also included is a sample generator which builds a list of events.
2020-10-21 14:39:35 -04:00
pilfer-pandex
c8159b7fe8
king: multi-request support lol
2020-10-20 16:42:20 -07:00
Elliot Glaysher
c6de028fc2
Merge pull request #3728 from urbit/kh-fix-newline
...
Revert "king: fix zig-zag in stderr logging"
2020-10-16 10:30:49 -04:00
fang
7853c7df9b
king: improve king subsite implementation
...
Make KingSubsite part of ServConf, handle 404 case more gracefully, make
slog endpoint send SSE headers immediately.
Remaining work mostly revolves around the slog endpoint's slog queue. It
builds up even if nobody is listening, and only the first to pull from
the queue gets to handle/emit the slog event.
2020-10-16 14:13:07 +02:00
pilfer-pandex
359d6c881b
king: scry reform
2020-10-15 21:22:48 -07:00
Elliot Glaysher
aa8634ecdd
Revert "king: fix zig-zag in stderr logging"
...
This reverts commit e9ed97f8a8
.
2020-10-15 13:58:41 -04:00
Elliot Glaysher
9e2039ee2f
arvo: Simplify the actual +code implemetation in jael.
2020-10-15 13:20:06 -04:00
Elliot Glaysher
16b3edfbd0
king: derive +code from Ring and print login +code on startup
...
We need to be able to programatically get the +code outside of
Urbit, so add an implementation of the derivation in king haskell.
2020-10-15 13:17:43 -04:00
pilfer-pandex
b35f879502
king: implement ~_~/slog without cookies; problems with MultiEyre
2020-10-14 17:05:56 -07:00
pilfer-pandex
e9ed97f8a8
king: fix zig-zag in stderr logging
2020-10-13 12:01:04 -07:00
pilfer-pandex
def318abd9
king: packet tests, scry tqueue
2020-10-12 21:57:01 -07:00
Elliot Glaysher
5eeb86a935
king: actually try shutting down the piers
2020-10-07 13:00:05 -04:00
Elliot Glaysher
ce92c405fe
king: --serf="" is a host option, not a per ship option.
...
This means you don't need to specify this per ship in a multitenant
environment when you are alwyas going to set it to the same binary
if you're overriding it in the first place.
2020-10-07 13:00:00 -04:00
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
pilfer-pandex
45ad5da9e9
king: fix tests in a way that doesn't quite work
2020-10-04 16:04:47 -07: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
pilfer-pandex
52b917ee71
king: stateless forwarding
2020-09-26 16:10:25 -07: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
Elliot Glaysher
bf2aa9d2e6
king: remove dead code in noun conversion.
2020-09-23 11:27:53 -04: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
5f0fa9b2a0
Merge pull request #3354 from urbit/king-reestablish-natpmp
...
natpmp: when reopening laptop, reestablish a connection to the router.
2020-08-21 10:01:33 -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
pilfer-pandex
c164f12922
Merge pull request #3339 from urbit/jt/rehob
...
urbit-king: update urbit-hob to v0.3.3
2020-08-20 08:35:12 -07: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
5c7f846d71
natpmp: change the library's timeout system to not wait 4 minutes.
2020-08-19 12:05:13 -04:00