Přemysl Eric Janouch
b9cdabca5d
xC: fix relay handling of missing log files
...
Intermediate error messages would trash the prepared static buffer.
2023-07-28 04:30:45 +02:00
Přemysl Eric Janouch
100de5ac2d
xC: fix Readline 6.3 compatibility
2023-07-24 07:59:22 +02:00
Přemysl Eric Janouch
9e993c50e6
xC: don't crash with unknown terminals
...
It would be possible to avoid using cur_term fields in this case,
but the program would likely be of little use anyway.
2023-07-07 10:43:15 +02:00
Přemysl Eric Janouch
b3e9218b23
Fix Cygwin build warnings
2023-07-07 09:53:20 +02:00
Přemysl Eric Janouch
abcff46dc4
xC: fix an OpenBSD build warning
...
sys/cdefs.h makes _XOPEN_SOURCE cause _POSIX_C_SOURCE to be overriden.
2023-07-04 06:31:02 +02:00
Přemysl Eric Janouch
50f70f93bb
xC: fix a harmless copy-paste error
2023-06-13 09:02:20 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
a7c3ed7cc1
xC: clean up
2022-09-30 18:30:03 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
f2d8de3ab9
xP: support adding formatting from keyboard
...
Just like in xC, only with some indication.
2022-09-23 09:42:24 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
d3628928b9
xC/xP: relay and render channel modes
2022-09-21 16:32:35 +02:00
Přemysl Eric Janouch
919b12510b
xC/xP: relay and render channel topics
2022-09-21 12:15:27 +02:00
Přemysl Eric Janouch
8a689c98b4
xC: fix autocomplete in server buffers
2022-09-20 17:34:01 +02:00
Přemysl Eric Janouch
9327333813
xC/xP: show own user's info in frontends
2022-09-20 17:24:30 +02:00
Přemysl Eric Janouch
7806d4bd4e
xC/xP: improve rendering of highlighting actions
2022-09-20 15:30:07 +02:00
Přemysl Eric Janouch
c0e1cd57b2
Make sure to always find installed plugins
2022-09-19 04:26:35 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
126105fa4f
xC: don't abort on accept() failure
...
Just disable the relay.
2022-09-17 00:31:23 +02:00
Přemysl Eric Janouch
e2f3fc2e79
xC: clean up
2022-09-17 00:31:23 +02:00
Přemysl Eric Janouch
d5153fe354
xC/xP: implement M-H in the web frontend
2022-09-16 02:52:16 +02:00
Přemysl Eric Janouch
d31ab67268
xC: mildly optimize relay traffic
2022-09-14 01:01:19 +02:00
Přemysl Eric Janouch
3b6c29d676
xC: silence some compiler warnings
2022-09-11 22:16:35 +02:00
Přemysl Eric Janouch
96fc12bc4c
xC/xP: send buffer type and server state
...
Also make PM highlighting behaviour consistent.
2022-09-11 21:50:08 +02:00
Přemysl Eric Janouch
1493d9998b
xC: clean up
2022-09-11 19:11:47 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
0015d26dc8
xC/xP: support hiding unimportant messages at all
2022-09-10 19:01:42 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
e7d0f2380e
xC: split Command.BUFFER_INPUT on newlines
2022-09-10 18:51:27 +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
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
a2d5995cf5
xC: don't autoactivate buffers on forced JOINs
2022-09-07 19:10:49 +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
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
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
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
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