Commit Graph

1233 Commits

Author SHA1 Message Date
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
d29e2cbfe8 xP: detect links in the log 2022-09-10 17:18:22 +02:00
240fac4d90 xP: only allow vertical textarea resizing 2022-09-10 17:08:14 +02:00
c06894b291 xP: fix command sequence number generation 2022-09-10 17:05:39 +02:00
9eaf78f823 xP: open links in a new tab/window 2022-09-10 17:05:39 +02:00
5f02dddd11 xP: advance unread marker when the log is visible 2022-09-10 17:05:39 +02:00
6f4a3f4657 xP: advance unread marker in an inactive tab 2022-09-10 17:05:39 +02:00
6387145adc xP: improve line wrapping 2022-09-10 17:05:38 +02:00
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
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
d7b6967b6f xP: allow setting a fixed WS URI
For reverse proxies.
2022-09-08 17:11:01 +02:00
8c3ee80b21 xC/xP: finalize and implement Event.PING 2022-09-08 02:45:37 +02:00
3a165a595b xC: use the relay protocol's RPC for pings 2022-09-08 01:48:46 +02:00
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
45aa0e8dfb xP: remember to differentiate today 2022-09-07 19:23:47 +02:00
a2d5995cf5 xC: don't autoactivate buffers on forced JOINs 2022-09-07 19:10:49 +02:00
2075c38fd1 xP: use an industry-standard name for a button 2022-09-07 17:33:38 +02:00
88a7b1a2d9 xP: resolve various issues, mostly in styling 2022-09-07 17:26:43 +02:00
2341228efd xP: implement buffer line leakage
Rather than on redisplay, these get cleared on reconnect.
2022-09-07 15:34:52 +02:00
2e3005d88b xP: abort autocomplete when no longer applicable 2022-09-07 15:10:17 +02:00
2b13f891c9 xP: clean up 2022-09-07 14:45:44 +02:00
d55402234c xP: add a temporary lock for autoscroll 2022-09-07 13:53:28 +02:00
e3149b9abf xP: support showing buffer logs 2022-09-07 13:53:28 +02:00
976e7bfbb4 xP: separate input buffers 2022-09-07 13:04:30 +02:00
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
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
80089a4d65 xC: describe general.editor parse errors 2022-09-07 13:01:29 +02:00
93b66b6a26 xP: scroll to bottom and focus the input on switch 2022-09-06 22:33:00 +02:00
ee1750c23c xP: clean up 2022-09-06 22:33:00 +02:00
f5104c807d xP: indicate connection state 2022-09-06 20:17:40 +02:00
2c49a72d94 Update README 2022-09-06 19:59:22 +02:00
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
2d30b6d115 xC: define critical bindings after el_source()
And use ^C rather than ^G.
2022-09-06 17:02:36 +02:00
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
31e9c6d2d5 xC/xP: pass timestamps with millisecond precision
Future-proofing the protocol.
2022-09-06 14:39:01 +02:00
d2af6cf64c xP: convert links to link elements 2022-09-06 14:36:30 +02:00
d7b0b447b7 xC/xP: turn the action asterisk into a rendition 2022-09-05 23:22:09 +02:00
25ad5ae0ec xC/xP: fix colour values, and render them with CSS 2022-09-05 23:22:09 +02:00
10f6072da9 xC: also force monospace for RPL_MOTDSTART
It tends to looks inconsistent without.
2022-09-05 23:07:20 +02:00
aceac26cbb Fix up xP's module path, mention the licence 2022-09-05 23:07:20 +02:00
e250ae8255 Fix up README 2022-09-05 23:07:19 +02:00
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
2160d03794 xC: slightly clean up character encodings 2022-09-02 14:05:03 +02:00
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
74470f1aa4 CMakeLists.txt: improve dependencies of xD-replies 2022-09-02 12:25:37 +02:00
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
b454920c81 xC: deal with conflicts when renaming buffers 2022-08-29 15:05:02 +02:00
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
313a65180e xC: fix some corner cases around terminal handling 2022-08-29 14:05:33 +02:00
91db8e6e54 xC: use the correct way of resetting libedit
The only remaining major annoyance is incremental search
seemingly not giving back control.
2022-08-29 10:30:45 +02:00