Commit Graph

70 Commits

Author SHA1 Message Date
f2d8de3ab9 xP: support adding formatting from keyboard
Just like in xC, only with some indication.
2022-09-23 09:42:24 +02:00
e6bf88673f xP: produce a custom font for IRC formatting
Given that the generated file needs a manual adjustment,
its small size, and the dependencies involved,
it will be checked in to the repository.
2022-09-22 20:18:55 +02:00
d3628928b9 xC/xP: relay and render channel modes 2022-09-21 16:32:35 +02:00
919b12510b xC/xP: relay and render channel topics 2022-09-21 12:15:27 +02:00
8a689c98b4 xC: fix autocomplete in server buffers 2022-09-20 17:34:01 +02:00
9327333813 xC/xP: show own user's info in frontends 2022-09-20 17:24:30 +02:00
7806d4bd4e xC/xP: improve rendering of highlighting actions 2022-09-20 15:30:07 +02:00
c0e1cd57b2 Make sure to always find installed plugins 2022-09-19 04:26:35 +02:00
21e5d80ab1 xC: improve Readline completion
The autocomplete for /set used to be extremely annoying,
and menu-complete-display-prefix also prevents mistaken highlights.

One downside is that using plain Tab in channels no longer
just inserts the last-talking nickname, one needs to press it twice.
2022-09-18 02:48:28 +02:00
840b646700 xC: reorganize relay code, improve logging
Even with one forward function declaration down,
it was possible to move most code to a more convenient location.

Most logging has thus been fixed to go to buffers.
2022-09-17 00:32:14 +02:00
126105fa4f xC: don't abort on accept() failure
Just disable the relay.
2022-09-17 00:31:23 +02:00
e2f3fc2e79 xC: clean up 2022-09-17 00:31:23 +02:00
d5153fe354 xC/xP: implement M-H in the web frontend 2022-09-16 02:52:16 +02:00
d31ab67268 xC: mildly optimize relay traffic 2022-09-14 01:01:19 +02:00
3b6c29d676 xC: silence some compiler warnings 2022-09-11 22:16:35 +02:00
96fc12bc4c xC/xP: send buffer type and server state
Also make PM highlighting behaviour consistent.
2022-09-11 21:50:08 +02:00
1493d9998b xC: clean up 2022-09-11 19:11:47 +02:00
4bc2f736f2 xC: make terminal attributes abstract
And translate them for frontends.

This is very long overdue, and a rather significant cleanup.

Bump liberty.
2022-09-11 01:20:18 +02:00
0015d26dc8 xC/xP: support hiding unimportant messages at all 2022-09-10 19:01:42 +02:00
7d5e63be1f xC: deal with so far unexpected multiline messages
And get rid of an outdated unmarked TODO comment.
2022-09-10 18:51:27 +02:00
e7d0f2380e xC: split Command.BUFFER_INPUT on newlines 2022-09-10 18:51:27 +02:00
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
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
a2d5995cf5 xC: don't autoactivate buffers on forced JOINs 2022-09-07 19:10:49 +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
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
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
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
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
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
dbe95fa298 xC: make libedit history switching more reliable 2022-08-29 09:20:56 +02:00
9d5e57a501 xC: improve libedit multiline input handling 2022-08-29 08:31:44 +02:00
4ed6693f57 xC: erase remaining mentions of a "backlog helper" 2022-08-29 08:22:09 +02:00
bea8d13227 xC: don't autosave when nothing changed 2022-08-29 08:22:09 +02:00
57597bf8a2 xC: move TEXT_* constants where they belong 2022-08-27 15:06:28 +02:00
c0996fcbe7 xC: normalize BSD Editline's history behaviour
Now it's a realistically useful frontend.
2022-08-27 15:06:27 +02:00