Commit Graph

1417 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 36529a46fd
xP: also scroll to bottom on window resize 2022-09-10 18:10:08 +02:00
Přemysl Eric Janouch 632ac992ab
xC/xP: only send buffer stats in the initial sync
The client and frontends track these separately,
there is no need for hard synchronization.
2022-09-10 17:38:33 +02:00
Přemysl Eric Janouch d29e2cbfe8
xP: detect links in the log 2022-09-10 17:18:22 +02:00
Přemysl Eric Janouch 240fac4d90
xP: only allow vertical textarea resizing 2022-09-10 17:08:14 +02:00
Přemysl Eric Janouch c06894b291
xP: fix command sequence number generation 2022-09-10 17:05:39 +02:00
Přemysl Eric Janouch 9eaf78f823
xP: open links in a new tab/window 2022-09-10 17:05:39 +02:00
Přemysl Eric Janouch 5f02dddd11
xP: advance unread marker when the log is visible 2022-09-10 17:05:39 +02:00
Přemysl Eric Janouch 6f4a3f4657
xP: advance unread marker in an inactive tab 2022-09-10 17:05:39 +02:00
Přemysl Eric Janouch 6387145adc
xP: improve line wrapping 2022-09-10 17:05:38 +02:00
Přemysl Eric Janouch f3cc137342
xC-gen-proto: reduce enums to single bytes
That's already way more than we can possibly use.
2022-09-10 16:06:35 +02:00
Přemysl Eric Janouch 8c8e06b015
xP: enhance mobile experience
The left column used to jump around, and phones were near-unusable.
2022-09-08 17:11:10 +02:00
Přemysl Eric Janouch d7b6967b6f
xP: allow setting a fixed WS URI
For reverse proxies.
2022-09-08 17:11:01 +02:00
Přemysl Eric Janouch 8c3ee80b21
xC/xP: finalize and implement Event.PING 2022-09-08 02:45:37 +02:00
Přemysl Eric Janouch 3a165a595b
xC: use the relay protocol's RPC for pings 2022-09-08 01:48:46 +02:00
Přemysl Eric Janouch 4ba28c6ed3
xC/xP: mark highlights and buffer activity
And more or less finalize out the protocol for this use case.
2022-09-08 01:28:51 +02:00
Přemysl Eric Janouch 45aa0e8dfb
xP: remember to differentiate today 2022-09-07 19:23:47 +02:00
Přemysl Eric Janouch a2d5995cf5
xC: don't autoactivate buffers on forced JOINs 2022-09-07 19:10:49 +02:00
Přemysl Eric Janouch 2075c38fd1
xP: use an industry-standard name for a button 2022-09-07 17:33:38 +02:00
Přemysl Eric Janouch 88a7b1a2d9
xP: resolve various issues, mostly in styling 2022-09-07 17:26:43 +02:00
Přemysl Eric Janouch 2341228efd
xP: implement buffer line leakage
Rather than on redisplay, these get cleared on reconnect.
2022-09-07 15:34:52 +02:00
Přemysl Eric Janouch 2e3005d88b
xP: abort autocomplete when no longer applicable 2022-09-07 15:10:17 +02:00
Přemysl Eric Janouch 2b13f891c9
xP: clean up 2022-09-07 14:45:44 +02:00
Přemysl Eric Janouch d55402234c
xP: add a temporary lock for autoscroll 2022-09-07 13:53:28 +02:00
Přemysl Eric Janouch e3149b9abf
xP: support showing buffer logs 2022-09-07 13:53:28 +02:00
Přemysl Eric Janouch 976e7bfbb4
xP: separate input buffers 2022-09-07 13:04:30 +02:00
Přemysl Eric Janouch 5fd76ba6f9
xC: add a trivial /relay command
For there is otherwise no way of getting that information.
2022-09-07 13:01:34 +02:00
Přemysl Eric Janouch 41878a587f
xC: use liberty logging less
These messages cannot be relayed to frontends (they could be,
but it's useful to keep them distinct rather than redirected).
2022-09-07 13:01:30 +02:00
Přemysl Eric Janouch 80089a4d65
xC: describe general.editor parse errors 2022-09-07 13:01:29 +02:00
Přemysl Eric Janouch 93b66b6a26
xP: scroll to bottom and focus the input on switch 2022-09-06 22:33:00 +02:00
Přemysl Eric Janouch ee1750c23c
xP: clean up 2022-09-06 22:33:00 +02:00
Přemysl Eric Janouch f5104c807d
xP: indicate connection state 2022-09-06 20:17:40 +02:00
Přemysl Eric Janouch 2c49a72d94
Update README 2022-09-06 19:59:22 +02:00
Přemysl Eric Janouch 8cd94b30f6
xP: implement tab completion
Currently it only goes for the longest common prefix.

Refactor WebSocket handling into an abstraction for our protocol.

The Go code generater finally needed fixing.
2022-09-06 19:41:05 +02:00
Přemysl Eric Janouch 2d30b6d115
xC: define critical bindings after el_source()
And use ^C rather than ^G.
2022-09-06 17:02:36 +02:00
Přemysl Eric Janouch cf14cb8122
xC: implement buffer completion in the relay
And actually support completion with non-UTF-8 locales.
We used to ignore the encoding conversion result.
2022-09-06 17:02:02 +02:00
Přemysl Eric Janouch 31e9c6d2d5
xC/xP: pass timestamps with millisecond precision
Future-proofing the protocol.
2022-09-06 14:39:01 +02:00
Přemysl Eric Janouch d2af6cf64c
xP: convert links to link elements 2022-09-06 14:36:30 +02:00
Přemysl Eric Janouch d7b0b447b7
xC/xP: turn the action asterisk into a rendition 2022-09-05 23:22:09 +02:00
Přemysl Eric Janouch 25ad5ae0ec
xC/xP: fix colour values, and render them with CSS 2022-09-05 23:22:09 +02:00
Přemysl Eric Janouch 10f6072da9
xC: also force monospace for RPL_MOTDSTART
It tends to looks inconsistent without.
2022-09-05 23:07:20 +02:00
Přemysl Eric Janouch aceac26cbb
Fix up xP's module path, mention the licence 2022-09-05 23:07:20 +02:00
Přemysl Eric Janouch e250ae8255
Fix up README 2022-09-05 23:07:19 +02:00
Přemysl Eric Janouch 1639235a48
Start X11 and web frontends for xC
For this, we needed a wire protocol.  After surveying available options,
it was decided to implement an XDR-like protocol code generator
in portable AWK.  It now has two backends, per each of:

 - xF, the X11 frontend, is in C, and is meant to be the primary
   user interface in the future.

 - xP, the web frontend, relies on a protocol proxy written in Go,
   and is meant for use on-the-go (no pun intended).

They are very much work-in-progress proofs of concept right now,
and the relay protocol is certain to change.
2022-09-05 14:26:00 +02:00
Přemysl Eric Janouch 2160d03794
xC: slightly clean up character encodings 2022-09-02 14:05:03 +02:00
Přemysl Eric Janouch 36f8c7639f
xC: clean up logging
Don't treat rendition as flags, separate the two.

Also treat join and part arrows as rendition.
2022-09-02 12:31:42 +02:00
Přemysl Eric Janouch 74470f1aa4
CMakeLists.txt: improve dependencies of xD-replies 2022-09-02 12:25:37 +02:00
Přemysl Eric Janouch 3af1765261
xC: make alias creation tolerant to prefixed names
Those would not work, so skip the first forward slash.

Note that liberty can save arbitrary alias names since 6e93119,
making the removed comment about checking outdated.
2022-08-29 15:22:11 +02:00
Přemysl Eric Janouch b454920c81
xC: deal with conflicts when renaming buffers 2022-08-29 15:05:02 +02:00
Přemysl Eric Janouch ef8f25d1dd
xC: deal with any identifier conflicts
Invalid UTF-8 converted to UTF-8 may conflict with that
which was valid UTF-8 in the first place.
2022-08-29 14:41:23 +02:00
Přemysl Eric Janouch 313a65180e
xC: fix some corner cases around terminal handling 2022-08-29 14:05:33 +02:00