Commit Graph

299 Commits

Author SHA1 Message Date
fang
98d48913bf
kh: improve term code style
Based on feedback during review.
2021-04-14 17:10:50 +02:00
fang
0a75ca19f3
kh: support mouse reporting for %hit belts
This comes with the caveat that this specific mouse reporting mode
(which should only report clicks of the primary button) doesn't
actually seem to be supported by most terminal emulators, even though
it precedes the more complex reporting modes.

(Enabling a more complex reporting mode instead would also capture
scroll events, which interferes with expected behavior while in tmux.)
2021-04-02 14:25:29 +02:00
fang
01b8995e33
kh: decouple trace & slog writing from drum prompt
New blit logic already stopped assuming the bottom line based on %nel
blits, instead looking at cursor position to determine if something
was getting drawn to the bottom of the screen or not.

Here, we stop overwriting the bottom line entirely (except for the
spinner), instead inserting the trace/slog directly above the bottom
line on-screen, without overwriting anything.

Side-effect of this is that trailing newlines are always there, so we
can stop including them explicitly.
2021-04-02 14:21:22 +02:00
fang
a90489830d
kh: update Term for new dill interface
Support new Belts/Blits and updated semantics.
2021-04-02 13:58:13 +02:00
pilfer-pandex
229ae81bf1
Merge pull request #4516 from ryjm/fix-king-scry
king: fix textAsTa
2021-03-23 14:54:56 -04:00
pilfer-pandex
19f4b36ac5
Merge pull request #4616 from urbit/pp/vegeta
king: commit seppuku when server is out of fds, also setrlimit allowing for more fds
2021-03-23 14:53:15 -04:00
pilfer-pandex
1a39dac437 king: address joe on fds/seppuku 2021-03-21 21:27:50 -04:00
pilfer-pandex
72f0201de3 king: missing changes in Main, plus setrlimit for fds 2021-03-16 21:49:44 -04:00
pilfer-pandex
88375f37ec king: commit seppuku when server is out of fds 2021-03-16 00:40:18 -04:00
pilfer-pandex
7f86f41da3 king: fix moronic space leak in http client 2021-03-05 18:48:07 -05:00
pilfer-pandex
af3ea0b9a1 king: fix insidious space leak in IPC.hs 2021-03-05 16:19:25 -05:00
ryjm
f9a5666074 king: textAsTa -> textAsT 2021-03-02 14:19:48 -05:00
pilfer-pandex
c9c11837b8 king: fix bug Show Ipv4 2021-02-03 15:26:19 -08:00
pilfer-pandex
e70fa2629d king: error message for lock file 2021-02-02 15:58:30 -08:00
pilfer-pandex
ac00ea43f8 king: fix lane format; vere: don't crash on bad lane 2021-02-02 10:54:07 -08:00
pilfer-pandex
1042422bbe king: address joe's comments again 2021-01-29 14:15:27 -08:00
pilfer-pandex
fbe13d411d king: elim zigzag in --stderr (still interlacing) 2021-01-21 14:55:03 -08:00
pilfer-pandex
958ebc5a24 king: ted's new packet format 2021-01-10 21:19:40 -08:00
pilfer-pandex
29cc12d206 king: various fixes and improvements 2020-12-18 17:00:56 -08:00
pilfer-pandex
fec7d99fd1 Merge branch 'eg/wyrd-hs' into pp/wire 2020-12-18 12:04:52 -08:00
Elliot Glaysher
3451e02cd1 OK, and now we are walking through the effects 2020-12-16 16:53:25 -05:00
Elliot Glaysher
44d8119119 That was it. Fixed the wyrd:insane issue. 2020-12-16 11:46:54 -05:00
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
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
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
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
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
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
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
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
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