50f70f93bb
xC: fix a harmless copy-paste error
2023-06-13 09:02:20 +02:00
3f9a365d36
xC: improve the --format mode
...
Avoid having formatting spill over the rest of the line,
by placing the automatic formatting reset before newlines.
Also handle longer lines properly.
2023-05-22 04:44:01 +02:00
26ed2dbc77
xC: fully synchronize input history with frontends
...
The missing parts were:
- frontends to client
- client to frontends after the initial sync
- frontend to other frontends
2022-10-05 00:55:59 +02:00
a7c3ed7cc1
xC: clean up
2022-09-30 18:30:03 +02:00
c4707e2803
xC/xP: send buffer input history during sync
...
This transfer is currenly quite simplistic,
but it paves the way for further extensions.
2022-09-30 17:36:29 +02:00
5b57e9b41b
xC/xP: fix unseen message counting
...
xC: advance unread message counters even with leaked messages,
and don't unnecessarily set the highlighted flag. Plus clean up.
xP: make leaked non-unimportant messages advance the counter
for unimportant messages, so that the buffer doesn't get emboldened.
2022-09-28 21:20:59 +02:00
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