p
baf5ff0d25
xA: bump Fyne
...
2.8.0 failed build on a 404, so trying to simply download 2.8.1.
2026-09-11 19:57:31 +02:00
p
9472f960fd
Bump liberty
Alpine 3.24 Scripts failed
2026-09-11 19:36:54 +02:00
p
7a21781343
xF: make the open action skip hidden lines
2026-09-11 19:36:54 +02:00
p
b0e9d60ff7
Bump version, update NEWS
2026-09-04 15:26:50 +02:00
p
95076ff6ab
Bump liberty
2026-09-04 15:00:26 +02:00
p
f26ab854c9
xF: tiniest AppKit steps
...
It's not quite possible to port the editor, so not finishing this.
2026-09-02 13:01:53 +02:00
p
6e84d0c48b
Bump liberty
2026-08-31 12:12:39 +02:00
p
1b0e46d33a
xF: optionally colour manage X11
...
Bump liberty.
2026-08-29 07:16:03 +02:00
p
ae6519687a
xF: state true shortcut origin
2026-08-29 05:10:44 +02:00
p
0caab02933
xF: cleanup
2026-08-11 11:03:00 +02:00
p
074b378f03
xC/fancy-prompt.lua: remove old Readline hacks
2026-08-11 10:25:59 +02:00
p
6a5533f783
Update NEWS
2026-08-11 07:53:09 +02:00
p
bb48e185d0
xF: support pasting from clipboard
...
Bump liberty. Most of the change happens in liberty-xui.
2026-08-11 05:33:17 +02:00
p
83128dc7bb
xF: bind C-t to transpose characters
...
Bump liberty.
2026-08-10 13:10:47 +02:00
p
780e9c35bf
xF: improve layouting
2026-08-10 10:42:30 +02:00
p
3aaf9de5f2
xF: improve the X11 IM experience
...
Bump liberty. We're not yet achieving what we want to.
2026-08-10 10:13:23 +02:00
p
a1c7d2c983
xC/xF: make it possible to insert newlines directly
...
That should do for us to stop claiming that the interface needs polish.
2026-08-10 08:22:33 +02:00
p
63d54df66a
xC: add a basic C-t binding
2026-08-10 08:02:29 +02:00
p
959fb15828
xF: play highlight sounds through libcanberra
2026-08-10 07:30:38 +02:00
p
36037cb3e5
Update documentation
2026-08-10 06:28:25 +02:00
p
800a4e354c
xF: push huge logs directly to external editors
...
At around 10 megabytes, processing starts taking quite long.
It might be a good idea to remove the log view altogether now;
it's only there because we copied other frontends.
2026-08-10 04:41:40 +02:00
p
9f1ef95f46
xF: menu autocomplete
...
I'm not sure if this is simpler or more complex than listing candidates.
xC already has its old libedit hack, so I suppose I'm not going to
bother with it.
2026-08-10 04:36:27 +02:00
p
064102b786
xF: simplify action code
2026-08-09 15:20:50 +02:00
p
621f76c797
xC: enable relay binding on multiple addresses
2026-08-09 15:04:09 +02:00
p
2d1df86a46
xC + frontends: merge M-! into M-a + reversed M-A
...
Both WeeChat and irssi merge these two by prioritising highlights
when you press M-a.
2026-08-09 14:58:11 +02:00
p
6ba94ba664
xF: don't call into Xlib when running as a TUI
2026-08-09 14:58:07 +02:00
p
f1170bc161
xF: maintain an index of buffer by name
...
Imperceptibly improves performance, shortens source code.
2026-08-08 15:43:01 +02:00
p
dbb47ec2ee
Adjust key bindings
...
Now they should actually be more friendly to WeeChat users.
2026-08-08 14:13:10 +02:00
p
c413f6d4b2
xF: add a binding to open the last link
...
Better than nothing.
2026-08-08 08:58:22 +02:00
p
8ce60cdd2f
xF: add bindings to scroll to the top and bottom
2026-08-08 08:22:53 +02:00
p
d9af9c1057
xA: mildly improve the experience
...
Fyne got a bit faster at layouting, but showing the log still kills it.
2026-08-08 06:56:07 +02:00
p
e816ddb32a
xF: adjust layouting to be more like nncmpp
2026-08-08 06:08:20 +02:00
p
57e2163bac
xF: simplify variable naming
2026-08-08 06:08:20 +02:00
p
60e40f4fe2
Bump liberty
2026-08-08 04:16:55 +02:00
p
7c76e60656
xF: eliminate two compiler warnings
2026-08-08 03:20:47 +02:00
p
6fe5f7de4c
Update NEWS
2026-08-08 03:02:18 +02:00
p
8e2e7be56f
xF: add basic configuration
2026-08-08 01:47:21 +02:00
p
3275cd1fa2
xF: reuse a function
2026-08-08 01:47:21 +02:00
p
087091577c
xF: deduplicate transcript logic
...
After the last commit it got a bit ridiculous.
2026-08-07 15:17:37 +02:00
p
f6a41d7c51
xF: add date change marker
...
Also rename and reorganise attributes to match xC better.
2026-08-07 15:16:00 +02:00
p
7538dfad2d
xF: make highlights request attention from the WM
2026-08-07 12:02:26 +02:00
p
2d8867f6fa
Clean up the build around xF
...
And make sure it gets built at all, if possible.
It's actually pretty good now, reaching feature parity with xP and xC.
2026-08-07 11:12:55 +02:00
p
4f5d4cb64b
xF: make sure the caret is visible in X11 editor
2026-08-07 10:30:58 +02:00
p
1704f90934
xF: close buffers on middle click
2026-08-07 09:05:06 +02:00
p
41be32692c
xF: enable running external editors on input
...
And also on the transcript.
This is an easy way of resolving text selection,
and the mediocre input editor.
2026-08-07 08:33:23 +02:00
p
65a98dfd7c
xF: make xC nick colors just work
...
Colour mapping still suffers, just not as heavily.
2026-08-07 01:26:17 +02:00
p
ce848bff0f
xF: add word wrapping where it matters the most
...
Plus some necessary cleanup.
This is a bit simplistic in that it is very inefficient.
It runs fast enough, though.
2026-08-06 01:44:31 +02:00
p
6859e9abc9
xF: improve caret visibility
2026-08-06 01:41:17 +02:00
p
82f19cc144
Update README.adoc
2026-08-03 02:41:09 +02:00
p
e4ce659174
xF: add link detection and opening
2026-08-03 02:41:08 +02:00
p
8f3df19786
xF: add a scrollbar to the buffer list
...
And clean this area up.
2026-08-03 02:41:08 +02:00
p
f8ecf7d0f7
xP: fix channel title layout
2026-08-02 19:39:44 +02:00
p
5b8335654f
Bump version, update NEWS
2026-07-31 02:23:48 +02:00
p
2a0ce32bdd
CMakeLists.txt: rename option to match README.adoc
2026-07-31 02:13:38 +02:00
p
13e1b220ff
Miscellaneous fixes
2026-07-31 01:55:17 +02:00
p
8827d1d473
xF: render formatting
2026-07-30 23:29:07 +02:00
p
70fa559752
xF: finish the frontend using liberty-xui
...
This has long been the missing piece in our frontend collection.
After including the termo library in a recent rewrite, we've kind of
received an option to use liberty-xui, the terminal/X11/AppKit library
spawned off from nncmpp.
The frontend for the most part resembles xP, with some missing
xC features on top.
We do not care about text layouting or X11 text selection,
seeing as that requires rather extensive changes,
and I'm not planning to use this frontend other than for testing.
General formatting support will arrive in a following commit.
It should build for macOS as well with minor changes,
but we already have xM in our collection, so this is not finished.
Bump liberty.
2026-07-30 23:23:32 +02:00
p
bcfbd40003
xC/xP: implement session resumption
...
Mobile clients pretty much need this, because they keep interrupting
their connections to the relay.
2026-07-28 18:28:19 +02:00
p
38188632e0
xP: fix inverted condition
2026-07-28 18:28:19 +02:00
p
682f3de097
xD/xS: fix KICKs in quiet channels
2026-07-21 17:33:31 +02:00
p
5295733629
xD/xS: NICK without USER would block nicks forever
2026-07-21 17:33:31 +02:00
p
49e76b49de
xS: fix multiple old porting errors
2026-07-21 17:33:31 +02:00
p
60a14b6683
xW: acknowledge a harmless possible underflow
2026-07-21 16:36:08 +02:00
p
d2a3719b78
xA/xT/xW: handle server rename events better
2026-07-21 16:36:08 +02:00
p
d453b64d3f
xA: make reset items also reset inverse text
2026-07-21 16:36:08 +02:00
p
09c3980c50
xA: show relay error messages rather than crash
2026-07-21 16:36:08 +02:00
p
ed6ad5981a
xC: transcode input editor output back
2026-07-21 15:38:47 +02:00
p
6c749be5f7
xC: parse RPL_CHANNELMODEIS properly
...
The mode processor used to start with the channel name,
but it must start past it.
2026-07-21 15:38:47 +02:00
p
8f21138f26
xC: more precise capability whitelisting
...
It could theoretically match on more entries than intended.
2026-07-21 15:38:47 +02:00
p
542f2bca6b
xC: validate server TLS certificate hostname
...
I haven't actually checked if this takes effect.
2026-07-21 15:38:47 +02:00
p
b9097f40f6
xA: bump Fyne to 2.8.0
...
Alpine 3.23 Scripts failed
Now supporting strike-through formatting.
Overall, this frontend is much more usable now.
2026-07-20 07:49:50 +02:00
p
4102e3c02c
xC: fix the integration test
2026-07-20 03:03:31 +02:00
p
474a5973a3
xC: don't crash on non-terminal output
2026-07-20 02:43:24 +02:00
p
a65389ec62
xC: show the prompt even with empty configuration
2026-07-20 02:27:06 +02:00
p
0c256943fd
xC: fix a segmentation fault on startup
...
A last-minute "harmless" change turns out to have side-effects.
2026-07-20 02:17:36 +02:00
p
da2c8de56f
Bump liberty
2026-07-20 01:58:16 +02:00
p
eb02e8eee6
Try to fix OpenBSD build
2026-07-20 01:52:56 +02:00
p
24c8108f35
Fix some compiler warnings
2026-07-20 01:50:33 +02:00
p
67d044a426
xC: nuke Readline and libedit
...
OpenBSD 7.8 Scripts failed
Replace them with a custom frontend making use of the termo library.
It's a bit rough at the edges, yet thoroughly functional.
The original libraries have carried us far, but they've become more
trouble than what they're worth:
- It's much easier to make this change than to keep fixing
both frontends. That has become particularly difficult as of late.
- It's also a much smaller undertaking than rewriting the client
in more radical ways, such as:
- Going for headless operation (also note that we currently lack
a terminal relay client).
- Rewriting the entire user interface to use curses.
- Abandoning GNU Readline clears up licencing.
- The old interface code was full of odd hacks and wild adapters.
While this commit adds some fresh ugly areas, in sum it's a cleanup.
- Purging the dependencies simplifies an eventual automated rewrite
in another language.
Some freshly invalidated issues:
- Readline 8.3 has reworked history, and our method of circumventing
a memory leak in history handling stopped working reliably.
Very tough to trace.
- Editline could block waiting on input.
- Editline refresh.c revision 1.61 seems to have completely broken
the prompt hiding mechanism, with no obvious means of circumventing.
2026-07-20 00:46:08 +02:00
p
e52501a1df
prime.lua: prevent DoS on infinity
2026-07-16 23:35:07 +02:00
p
f57e8c59d6
xC: document the Lua API, bump liberty
...
asciiman.awk has needed a minor change, and it's forced us into
writing the document in a certain way, but it remains strong.
Looking at the API more closely makes one realise how lacking it is,
but the async functionality is still cool.
2026-07-15 05:47:12 +02:00
p
5ba2c825a1
xC: fix Lua 5.5 build
...
Everything appears to work, not inspecting this in depth.
2026-03-28 03:50:44 +01:00
p
d11bd2c54e
xT: produce an Android icon
2026-01-26 18:31:16 +01:00
p
c68e1f9d49
Bump version
2026-01-10 13:02:14 +01:00
p
253bfb530b
xA: bump dependencies
2026-01-10 12:48:42 +01:00
p
6c38c3a526
xP: improve the activity indicator
...
Also adjust the Makefile to reflect resource embedding.
2026-01-10 12:43:53 +01:00
p
45b1b16c77
xC: fix libedit start from empty configuration
2026-01-10 12:43:23 +01:00
p
2728f9d1eb
xT: clean up Windows and Mac deployment
2025-12-26 21:07:33 +01:00
p
77aaf87860
xC: hackfix Readline 8.3
2025-11-19 11:03:55 +01:00
p
57261fb13a
xA: bump Fyne and other dependencies
Alpine 3.21 Scripts failed
2025-11-03 17:58:32 +01:00
p
5c41eab9d7
xA: add a Makefile rule for Android
2025-11-03 17:58:32 +01:00
p
99c95edd57
Update .gitignore for newer Qt Creator
2025-11-03 17:58:31 +01:00
p
7d90142f0f
xP: fix alternative browsers on iOS
...
As a rule, they use the same stupid and broken WebKit.
2025-11-03 17:58:08 +01:00
p
71e1a744c5
xP: embed web resources, tame browser caching
2025-07-09 22:15:13 +02:00
p
80af5c22d6
Add an xC relay protocol analyzer
2025-05-15 14:14:53 +02:00
p
7ba17a0161
Make the relay acknowledge all received commands
...
To that effect, bump liberty and the xC relay protocol version.
Relay events have been reordered to improve forward compatibility.
Also prevent use-after-free when serialization fails.
xP now slightly throttles activity notifications,
and indicates when there are unacknowledged commands.
2025-05-10 12:08:51 +02:00
p
4cf8c394b9
xA: bump Fyne to 2.6.0
...
Not much has actually changed.
2025-04-26 15:04:49 +02:00
p
e225306419
CMakeLists.txt: actually name an option
2025-01-12 11:02:41 +01:00
p
858734384b
xC: regard more characters as highlight delimiters
...
Almost 10 years of a poor decision.
2025-01-08 06:40:53 +01:00
p
278a7f95a9
Port the integration test from expect to wdye
2025-01-08 06:40:52 +01:00
p
a8575ab875
Bump version, update NEWS
...
A few annoying bugs have been fixed.
2024-12-19 03:15:34 +01:00
p
081525f5be
Update README.adoc
2024-12-19 03:08:14 +01:00
p
6ac2ac5511
xT: improve MSYS2 build
...
The static Qt 6 package is unusable.
2024-12-19 03:08:13 +01:00
p
f6483489c2
xC: fix crash with too many topic formatting items
...
Manually constructed formatters have no sentinel value.
This is a one-line change in relay_prepare_channel_buffer_update(),
however the whole block of "Relay output" code has been moved down,
resolving one TODO and rendering two function prototypes unnecessary.
2024-12-18 11:48:17 +01:00
p
ed5ac1815b
xT: figure out basic packaging
2024-12-17 06:34:45 +01:00
p
509cb9f4dd
xC: fix newer Readline, allow stdin streaming
...
Also update NEWS.
2024-12-17 03:31:00 +01:00
p
b3684c4d9f
Bump liberty
2024-12-16 09:37:29 +01:00
p
918c589c65
Add a Qt Widgets frontend to xC
...
This is very much a work in progress, though functional.
Qt Widgets are basically non-working on Android,
though Qt Quick requires a radically different approach.
2024-12-15 06:57:28 +01:00
p
21095a11d6
xM: fix build regression
2024-11-26 13:10:05 +01:00
p
a22baa4b55
xA: prevent sound playback GC
...
The beep sound could be cut short.
2024-11-14 16:48:44 +01:00
p
b3e545e0bb
xP: bump copyright years
2024-11-14 16:27:56 +01:00
p
cd76702ab2
xA/xW: dehighlight current buffer appropriately
2024-11-14 16:14:54 +01:00
p
977b073b58
xA: enforce internal icon from the start
2024-11-14 16:14:49 +01:00
p
46be4836df
xW: print the separator line at the end of buffer
2024-11-14 13:50:51 +01:00
p
05a41b2629
xA/xM/xW: refresh renamed buffers correctly
...
Rendering takes the current buffer into account,
so change its value before using it, not afterwards.
The order happened to not matter on at least Windows,
because we just queue a message.
2024-11-14 11:41:09 +01:00
p
a62ed5bbac
xA/xM: refresh buffer list on dehighlight
2024-11-14 11:41:08 +01:00
p
9c9776bacd
xA: make the log effectively read-only
2024-11-13 10:29:11 +01:00
p
086b879ab8
xA: add a "generate" target to the Makefile
...
So that Fyne tools can be run without building the default binary.
2024-11-12 17:11:23 +01:00
p
214c349869
xA: limit buffer length
2024-11-12 16:19:53 +01:00
p
3d975c9437
xA: downgrade Go version requirement
...
We need 1.22 for the "for" loop variable scope change.
2024-11-12 13:53:55 +01:00
p
fce8fd40cc
Bump xP dependencies
Alpine 3.20 Scripts failed
2024-11-12 12:59:33 +01:00
p
3597ab9420
Update README.adoc
2024-11-12 12:41:09 +01:00
p
1635a730e8
Add a Fyne frontend for xC
...
Alpine 3.20 Scripts failed
Arch Linux AUR Scripts failed
It is fairly mediocre all around, but also generally usable,
natively covering mobile platforms.
2024-11-12 12:02:10 +01:00
p
a64b1152a1
Bump liberty
2024-11-11 21:42:28 +01:00
p
a011b57ce2
Bump liberty
2024-11-07 11:07:36 +01:00
p
b1ee295345
xP: update variable name
2024-11-04 07:40:14 +01:00
p
872f2d7c59
Fix calloc argument order
2024-08-08 09:13:25 +02:00
p
f15d887dcd
Bump liberty
2024-08-08 09:02:25 +02:00
p
841bc00c51
xP: cleanup
...
I had forgotten about the auto-redraw system.
2024-07-28 13:42:28 +02:00
p
8afe4f8aad
Improve wording in the last NEWS entry
2024-07-28 13:26:24 +02:00
p
73cc8f448a
Bump version, update NEWS
2024-07-28 07:29:15 +02:00
p
4565afe294
xC: expand a comment
2024-07-28 07:15:41 +02:00
p
3ad8c79de8
xC: handle multiline server commands properly
...
Additional lines might have been passed to the server intact
as part of an argument, but we have /quote for that.
2024-07-28 04:10:30 +02:00
p
12fc3c228a
xP: reset highlight state once reaching buffer end
2024-07-28 03:44:37 +02:00
p
175533a5e9
xP: don't interrupt IME composition
...
On Vivaldi/macOS, pressing Enter would send the input and still keep
editing it as it was.
2024-07-04 20:06:59 +02:00
p
a9b46141a9
xS/xN: add test targets
2024-04-10 13:59:33 +02:00
p
c38cca3b92
Bump liberty
2024-04-09 17:08:40 +02:00
p
aee7540faa
Update README.adoc and xN usage output
2024-04-04 21:25:17 +02:00
p
53ba996ec9
Add a simple IRC notifier utility
2024-04-03 15:56:33 +02:00
p
d450c6cc5f
xP: do not send the Referrer header
2024-03-04 16:15:22 +01:00
p
f8ea1634c4
Bump liberty
2024-03-04 16:15:22 +01:00
p
ef257cd575
xP: avoid expensive updates/refreshes
2024-01-06 23:44:11 +01:00
p
69eccc7065
xP: don't let buffers grow indefinitely
...
Primarily for performance reasons.
2024-01-06 21:17:18 +01:00
p
13d2ff115b
xM: improve the bundle icon a bit
2023-09-04 07:06:03 +02:00
p
9e4692bb09
xM: generate and use a bundle icon
2023-09-03 02:13:14 +02:00
p
1c4343058d
Add a Cocoa frontend for xC
...
Some work remains to be done to get it to be even as good
as the Win32 frontend, but it's generally usable.
2023-09-01 01:12:51 +02:00
p
e5156cddbf
xW: render leaked lines a bit more accurately
...
There is no need to reset all text attributes, just the colour.
2023-08-25 22:48:31 +02:00
p
34521e61c1
xP/xW: fix buffer rename handling
...
Maintaining string pointers to the current/last buffer
means that renames invalidate them.
2023-08-25 22:48:31 +02:00
p
c22dd67fc1
xC: send missing relay events for newly added servers
2023-08-25 22:48:27 +02:00
p
274d5f03e7
xC: give the /away command a proper handler
...
Multiple words should be passed to the server as a single argument.
2023-08-25 22:46:43 +02:00
p
2f19e5a733
xW: improve command sending
2023-07-29 02:15:24 +02:00
p
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
f60ca43156
xW: do not unnecessarily enter compatibility mode
2023-07-28 04:30:45 +02:00
p
afe4e61f08
xW: mark a footgun
...
These messages are used by IsDialogMessage(), and use the WM_USER range.
2023-07-27 23:08:16 +02:00
p
8d9d1c60ec
xW: make Up/Down go through input history
...
The input field isn't multiline, so this doesn't pose an issue.
Otherwise, we'd have to check if we're on the top line first.
2023-07-27 16:35:54 +02:00
p
8c1464822b
xW: don't delay sending out pongs
2023-07-27 16:19:32 +02:00
p
fcd1b8e011
xW: improve beeping
...
This adds yet another build dependency,
but it's better than the alternatives of handling it in code.
2023-07-27 16:06:41 +02:00
p
3d345987c3
xW: cleanup
2023-07-27 02:37:20 +02:00
p
3e37efd9cd
xW: show a connect dialog when run without args
2023-07-27 01:28:52 +02:00
p
efb25b8aae
xW: un-highlight the icon when activating buffers
2023-07-26 16:07:21 +02:00
p
e72793e315
xW: make newline before unread marker conditional
2023-07-26 16:07:20 +02:00
p
5a412ab6e2
xW: handle WM_SYSCOLORCHANGE
2023-07-26 16:07:20 +02:00
p
81bc578773
xW: add missing date change handling
2023-07-26 03:59:25 +02:00
p
100de5ac2d
xC: fix Readline 6.3 compatibility
2023-07-24 07:59:22 +02:00
p
c157d3369f
xP: make Page Up/Down in editor scroll the buffer
...
Just like in xW recently. It is unlikely that the user would want
to use these keys to move the cursor. Ctrl+Home/End still work,
as does holding Up/Down arrows.
Also stop using the deprecated and somewhat cryptic keyCode.
2023-07-23 00:20:32 +02:00
p
8b5ea67aff
xW: fix Clang build
2023-07-21 12:37:01 +02:00
p
6f02af814f
xW: store the largest program icon in PNG format
...
This shaves off about half a megabyte.
2023-07-16 08:35:39 +02:00
p
90859107c8
xW: set version information
2023-07-15 23:35:46 +02:00
p
0219dbd026
Add a Win32 frontend for xC
...
This has been more of an exercise. The performance of Msftedit.dll
is rather abysmal, and its interface isn't the most accomodating.
That said, the frontend is quite usable, at least on Windows 10+.
2023-07-15 17:00:21 +02:00
p
1da4699a7a
Cleanup
2023-07-09 09:35:16 +02:00
p
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
b3e9218b23
Fix Cygwin build warnings
2023-07-07 09:53:20 +02:00
p
bc8867eb22
Fix the integration test
...
IRCv3 capabilities broke it a bit.
Also change it so that it doesn't destroy existing configuration.
2023-07-05 00:16:55 +02:00
p
ec33adba35
Update README.adoc
2023-07-04 23:50:01 +02:00
p
6f596f1dcb
Move project version to file, add xS manual page
...
So far Go applications remain independent to handle Nix's inability
to easily combine them with the CMake part.
There is also no "install" target, because any packagers will want to
adjust installation paths manually, and there is no configure step.
2023-07-04 23:26:05 +02:00
p
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
8d9ce92758
README.adoc: update package information
2023-07-01 22:02:10 +02:00
p
4bb9449e47
Fix the static analysis test
...
Adjust its query so that it doesn't cause a particular false positive.
2023-06-16 19:45:12 +02:00
p
50f70f93bb
xC: fix a harmless copy-paste error
2023-06-13 09:02:20 +02:00
p
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
9932b35a10
xP: highlight hovered buffer list items
...
To make it apparent which one would be closed by a middle click.
2023-04-14 10:58:19 +02:00
p
af5f209c53
xP: make middle click close buffers
...
As if they were tabs, to save pointless typing.
2023-04-13 04:26:40 +02:00
p
6bfe577f1b
xP: make the buffer list selectable by Vimium
2023-04-05 23:10:41 +02:00
p
1079189381
xP: render date changes as they happen
2023-01-25 00:31:57 +01:00
p
c58b772905
xP: use the correct log function
2023-01-25 00:28:03 +01:00
p
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
4b7258cba0
xP: fix ESC H detection on Macintosh systems
2022-10-04 20:17:31 +02:00
p
9dc3dd02f3
xP: disable WebSocket compression on Safari
...
Wildly known to be broken.
2022-10-04 01:17:35 +02:00
p
a7c3ed7cc1
xC: clean up
2022-09-30 18:30:03 +02:00
p
807a8c37d9
Bump liberty, improve fallback manual page output
2022-09-30 18:17:23 +02:00
p
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
46d68eacce
Move protocol code generators to liberty
...
This part of the project is now more or less stable.
2022-09-30 03:24:24 +02:00
p
86278c154c
Clean up protocol code generators
2022-09-30 03:24:13 +02:00
p
941ee2f10c
xP: fix automatic scrolling down
...
Showing channel logs cancelled the AbortController forever.
Thus store it within vnodes.
2022-09-28 21:29:08 +02:00
p
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
4d99690b89
xS: parse project version from CMakeLists.txt
2022-09-27 23:48:12 +02:00
p
7c74e6615d
xD: use SHA-256 for certificate fingerprints
...
Just like xS. 2.0.0 is the ideal time for such a breaking change.
2022-09-26 13:58:08 +02:00
p
614fd98fc1
Update README
2022-09-26 13:42:45 +02:00
p
5863040f93
Update documentation, clean up
2022-09-26 13:24:24 +02:00
p
f891e5ca63
Merge hid IRCd from haven as xS
...
Given that this project already contains a Go binary,
it only makes sense to put the IRCds back together.
2022-09-26 12:41:47 +02:00
p
8344b09c4f
hid: rename to xS before merge into xK
2022-09-26 12:23:58 +02:00
p
4d50ed111a
Bump liberty, make use of its new asciiman.awk
2022-09-25 21:02:51 +02:00
p
e15c9cba43
xP: use a dotted border for button focus
...
It's visible enough.
2022-09-25 11:08:50 +02:00
p
66370387bc
Update documentation
2022-09-23 20:35:56 +02:00
p
2bc3ac7b0d
Update screenshots
...
It's been five years since the previous xC screenshot was made.
2022-09-23 19:00:31 +02:00
p
2c54f5a5dd
xP: make the overlay actually overlay
2022-09-23 19:00:31 +02:00
p
f2d8de3ab9
xP: support adding formatting from keyboard
...
Just like in xC, only with some indication.
2022-09-23 09:42:24 +02:00
p
67d52a2d89
xP: fix up link detection
...
Allow balanced parantheses at the end of a link.
2022-09-23 09:42:23 +02:00
p
ef3d1cc409
xP: add formatting buttons
...
And fix autoscroll autoenabler, as well as toolbar padding.
Only add the basic toggles, which should be well supported.
2022-09-23 09:41:29 +02:00
p
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
4a2740313c
Give up on the X11 frontend for now
...
There seem to be only a few things it could bring to the table,
compared to xP, making it barely worth the effort:
- saner keyboard controls,
- GVIM integration,
- slightly improved resource usage.
2022-09-21 18:30:25 +02:00
p
d3628928b9
xC/xP: relay and render channel modes
2022-09-21 16:32:35 +02:00
p
1f0e0b1ce4
xP: only care about RPC results if requested
...
This prevents "No response" errors from firing for most commands.
2022-09-21 14:31:16 +02:00
p
919b12510b
xC/xP: relay and render channel topics
2022-09-21 12:15:27 +02:00
p
414859d309
xP: improve paging
2022-09-21 07:34:17 +02:00
p
5a7f2d16df
xP: clean up DOM attributes
2022-09-21 06:23:59 +02:00
p
b8061b665d
Silence spurious compiler warnings
2022-09-21 05:21:45 +02:00
p
807bdea2ea
Update README
2022-09-20 19:08:14 +02:00
p
8a689c98b4
xC: fix autocomplete in server buffers
2022-09-20 17:34:01 +02:00
p
9327333813
xC/xP: show own user's info in frontends
2022-09-20 17:24:30 +02:00
p
7806d4bd4e
xC/xP: improve rendering of highlighting actions
2022-09-20 15:30:07 +02:00
p
c0e1cd57b2
Make sure to always find installed plugins
2022-09-19 04:26:35 +02:00
p
00184811ea
xP: make the prompt look more xC-like
2022-09-19 03:18:31 +02:00
p
ec20fdef7b
xP: show all completion options
2022-09-18 05:54:23 +02:00
p
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
ff243c1d11
xP: implement Readline's M-l, M-u, M-c
2022-09-18 01:59:11 +02:00
p
e2ef7d668c
xP: implement Readline's M-b and M-f
2022-09-18 01:10:03 +02:00
p
b979257c3a
xP: implement Readline's M-< and M->
2022-09-18 01:10:03 +02:00
p
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
126105fa4f
xC: don't abort on accept() failure
...
Just disable the relay.
2022-09-17 00:31:23 +02:00
p
e2f3fc2e79
xC: clean up
2022-09-17 00:31:23 +02:00
p
b55bae50df
Update some documentation
2022-09-16 03:52:49 +02:00
p
430968e5d5
xP: make non-connected states more apparent
2022-09-16 03:19:48 +02:00
p
d5153fe354
xC/xP: implement M-H in the web frontend
2022-09-16 02:52:16 +02:00
p
ee76186bef
xP: abandon the idea of a configuration file
2022-09-16 01:21:35 +02:00
p
6f39aa6615
xP: use the binary protocol for incoming events
...
And batch event messages together as much as possible.
JSON has proven itself to be really slow
(for example, encoding/json.Marshaler is a slow interface),
and browsers have significant overhead per WS message.
Commands are still sent as JSON, sending them in binary
would be a laborious rewrite without measurable merits.
The xP server now only prints debug output when requested,
because that was another source of major slowdowns.
2022-09-16 00:51:11 +02:00
p
e87cc90b5e
xP: improve comments in protocol code generator
2022-09-15 05:12:07 +02:00
p
98b0a4ef3d
xP: further optimize JSON marshalling
2022-09-15 03:16:16 +02:00
p
9cf44aa4dd
xP: speed up log decoding
2022-09-15 02:32:58 +02:00
p
b53fc1918f
xP: fix log JSON serialization
2022-09-15 01:51:40 +02:00
p
92f2f6895b
xP: use buffered reads
2022-09-14 07:11:05 +02:00
p
c1d2e38840
xP: generate our own JSON marshallers
...
For non-trivial types, which are expensive to serialize
with encoding/json's struct reflection.
2022-09-14 06:56:36 +02:00
p
f89f21a47f
xP: pass all events through one handler
...
This is a mild clean up.
2022-09-14 06:56:36 +02:00
p
fa85ea8208
xP: parallelize event reception and sending
...
Still trying to make the frontend load tolerably fast,
still unsuccessfully.
2022-09-14 06:56:36 +02:00
p
b728235b6c
xP: move to a WebSocket package with compression
...
Compression happens to be broken in Safari,
though luckily there are friendlier browsers one can use.
2022-09-14 06:56:35 +02:00
p
d31ab67268
xC: mildly optimize relay traffic
2022-09-14 01:01:19 +02:00
p
b2b3093e0e
xP: remove debugging protocol logs from JS
2022-09-14 01:01:10 +02:00
p
a551e911ab
xP: adjust buffer list iteration and styling
...
M-a and M-! should iterate, rather than keep jumping back
to the same buffers.
The current item wasn't visible enough,
and it jumped around in my 1.5-scale Firefox.
2022-09-13 03:21:41 +02:00
p
a61789637a
xP: deal with macOS/Blink for good
2022-09-12 16:45:29 +02:00
p
8968100a28
xP: improve favicon behaviour
...
Make it black when disconnected, and orange when the document
is hidden but the current tab is highlighted.
2022-09-12 03:49:29 +02:00
p
3b6c29d676
xC: silence some compiler warnings
2022-09-11 22:16:35 +02:00
p
b4ee523628
xP: bind buffer iteration to M-PageUp/PageDown
2022-09-11 21:50:09 +02:00
p
c3a52b9e4c
xP: indicate hidden buffer lines
2022-09-11 21:50:09 +02:00
p
96fc12bc4c
xC/xP: send buffer type and server state
...
Also make PM highlighting behaviour consistent.
2022-09-11 21:50:08 +02:00
p
1493d9998b
xC: clean up
2022-09-11 19:11:47 +02:00
p
36f77e74fb
xP: change the favicon when highlighted
2022-09-11 19:10:41 +02:00
p
23deca45c9
xP: fix non-ASCII text completion
2022-09-11 19:10:40 +02:00
p
62773acaa0
xP: beep on highlight
...
800 Hz seems like it could match a POST beep.
2022-09-11 03:42:08 +02:00
p
7e3919e25d
xP: add basic buffer input history
...
Bind M-p and M-n as in xC.
Also make all our bindings reachable on macOS.
2022-09-11 03:10:23 +02:00
p
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
add670212f
xP: remember buffer input selections
2022-09-11 01:01:53 +02:00
p
95aa89ee97
xP: bind M-h to toggle history, and adjust focus
2022-09-10 20:39:03 +02:00
p
0bc2c12eec
xP: handle the M-Tab binding from xC
2022-09-10 19:36:49 +02:00
p
3330683ad6
xP: handle M-a and M-! bindings from xC
2022-09-10 19:34:01 +02:00
p
0015d26dc8
xC/xP: support hiding unimportant messages at all
2022-09-10 19:01:42 +02:00
p
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
e7d0f2380e
xC: split Command.BUFFER_INPUT on newlines
2022-09-10 18:51:27 +02:00
p
36529a46fd
xP: also scroll to bottom on window resize
2022-09-10 18:10:08 +02:00
p
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
d29e2cbfe8
xP: detect links in the log
2022-09-10 17:18:22 +02:00
p
240fac4d90
xP: only allow vertical textarea resizing
2022-09-10 17:08:14 +02:00
p
c06894b291
xP: fix command sequence number generation
2022-09-10 17:05:39 +02:00
p
9eaf78f823
xP: open links in a new tab/window
2022-09-10 17:05:39 +02:00
p
5f02dddd11
xP: advance unread marker when the log is visible
2022-09-10 17:05:39 +02:00
p
6f4a3f4657
xP: advance unread marker in an inactive tab
2022-09-10 17:05:39 +02:00
p
6387145adc
xP: improve line wrapping
2022-09-10 17:05:38 +02:00
p
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
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
d7b6967b6f
xP: allow setting a fixed WS URI
...
For reverse proxies.
2022-09-08 17:11:01 +02:00
p
8c3ee80b21
xC/xP: finalize and implement Event.PING
2022-09-08 02:45:37 +02:00
p
3a165a595b
xC: use the relay protocol's RPC for pings
2022-09-08 01:48:46 +02:00
p
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
45aa0e8dfb
xP: remember to differentiate today
2022-09-07 19:23:47 +02:00
p
a2d5995cf5
xC: don't autoactivate buffers on forced JOINs
2022-09-07 19:10:49 +02:00
p
2075c38fd1
xP: use an industry-standard name for a button
2022-09-07 17:33:38 +02:00
p
88a7b1a2d9
xP: resolve various issues, mostly in styling
2022-09-07 17:26:43 +02:00
p
2341228efd
xP: implement buffer line leakage
...
Rather than on redisplay, these get cleared on reconnect.
2022-09-07 15:34:52 +02:00
p
2e3005d88b
xP: abort autocomplete when no longer applicable
2022-09-07 15:10:17 +02:00
p
2b13f891c9
xP: clean up
2022-09-07 14:45:44 +02:00
p
d55402234c
xP: add a temporary lock for autoscroll
2022-09-07 13:53:28 +02:00
p
e3149b9abf
xP: support showing buffer logs
2022-09-07 13:53:28 +02:00
p
976e7bfbb4
xP: separate input buffers
2022-09-07 13:04:30 +02:00
p
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
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
80089a4d65
xC: describe general.editor parse errors
2022-09-07 13:01:29 +02:00
p
93b66b6a26
xP: scroll to bottom and focus the input on switch
2022-09-06 22:33:00 +02:00
p
ee1750c23c
xP: clean up
2022-09-06 22:33:00 +02:00
p
f5104c807d
xP: indicate connection state
2022-09-06 20:17:40 +02:00
p
2c49a72d94
Update README
2022-09-06 19:59:22 +02:00
p
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
2d30b6d115
xC: define critical bindings after el_source()
...
And use ^C rather than ^G.
2022-09-06 17:02:36 +02:00
p
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
31e9c6d2d5
xC/xP: pass timestamps with millisecond precision
...
Future-proofing the protocol.
2022-09-06 14:39:01 +02:00
p
d2af6cf64c
xP: convert links to link elements
2022-09-06 14:36:30 +02:00
p
d7b0b447b7
xC/xP: turn the action asterisk into a rendition
2022-09-05 23:22:09 +02:00
p
25ad5ae0ec
xC/xP: fix colour values, and render them with CSS
2022-09-05 23:22:09 +02:00
p
10f6072da9
xC: also force monospace for RPL_MOTDSTART
...
It tends to looks inconsistent without.
2022-09-05 23:07:20 +02:00
p
aceac26cbb
Fix up xP's module path, mention the licence
2022-09-05 23:07:20 +02:00
p
e250ae8255
Fix up README
2022-09-05 23:07:19 +02:00
p
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
2160d03794
xC: slightly clean up character encodings
2022-09-02 14:05:03 +02:00
p
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
74470f1aa4
CMakeLists.txt: improve dependencies of xD-replies
2022-09-02 12:25:37 +02:00
p
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
b454920c81
xC: deal with conflicts when renaming buffers
2022-08-29 15:05:02 +02:00
p
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
313a65180e
xC: fix some corner cases around terminal handling
2022-08-29 14:05:33 +02:00
p
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
p
dbe95fa298
xC: make libedit history switching more reliable
2022-08-29 09:20:56 +02:00
p
9d5e57a501
xC: improve libedit multiline input handling
2022-08-29 08:31:44 +02:00
p
4ed6693f57
xC: erase remaining mentions of a "backlog helper"
2022-08-29 08:22:09 +02:00
p
bea8d13227
xC: don't autosave when nothing changed
2022-08-29 08:22:09 +02:00
p
ecebeace0e
Don't wrap xD-gen-replies in a shell script
...
AWK doesn't seem to be that friendly to shebangs, so let env,
also required for changing LC_ALL, locate it in PATH.
2022-08-29 06:07:49 +02:00
p
ca33adeeee
Update README
...
Stop pretending that xD has a future.
2022-08-27 16:53:56 +02:00
p
b31e079256
Update README
2022-08-27 16:18:14 +02:00
p
57597bf8a2
xC: move TEXT_* constants where they belong
2022-08-27 15:06:28 +02:00
p
c0996fcbe7
xC: normalize BSD Editline's history behaviour
...
Now it's a realistically useful frontend.
2022-08-27 15:06:27 +02:00
p
03d8ea4c5a
xC: general.save_on_quit -> general.autosave
...
Power outages and similar situations make the former unreliable,
so get rid of any false promise it might seem to give.
2022-08-27 09:15:38 +02:00
p
dc002a2db4
xC: revise configuration options
...
This commit constitutes a breaking change to old configurations.
All behaviour.* options have now become general.*, with the following
few renames as exceptions:
- editor_command -> editor
- backlog_helper -> pager
- backlog_helper_strip_formatting -> pager_strip_formatting
2022-08-27 09:15:37 +02:00
p
a32916ffcf
xC: label code sections better
...
Introduce tildes as a new sublevel of markers.
2022-08-27 09:15:37 +02:00
p
f7be510d26
xC: make fancy-prompt.lua alignment more reliable
...
And generally clean up that script.
2022-08-27 09:15:37 +02:00
p
83764d1e1b
Fix xB.adoc parsing with current libasciidoc
2022-08-24 03:17:05 +02:00
p
a717782480
Build with AsciiDoc as well as Asciidoctor
2022-08-24 00:13:51 +02:00
p
c50c959f4d
Bump copyright years
2022-08-17 18:27:52 +02:00
p
0dd7536b5a
Update README
2022-08-15 15:49:59 +02:00
p
0750096827
xC: expand behaviour.editor_command examples
2022-08-14 20:27:30 +02:00
p
49d9980662
xC: improve backlog helper capabilities
...
Snippets now receive positional parameters in the form of the buffer's
name in the locale encoding, and a filename if applicable
(we keep passing stdin along with the filename, which happens to
work out well for less(1)).
The default value of the configuration option also no longer uses
the "long prompt", which used to unhelpfully tell position in terms
of lines, but rather sets its own prompt that counts pages,
and makes sure to indicate the source buffer.
The main motivation behind this change is to make the 'v' command
work in less(1). LESSSECURE must be omitted from the snippet
for this to work.
Bump liberty to receive a config parser that allows for less
convoluted escaping.
2022-08-14 18:52:26 +02:00
p
2f7fbcdc5d
CMakeLists.txt: fix a typo
2022-08-12 13:21:46 +02:00
p
ef0cbe9a59
Rename the project
...
It is about to see some extensions, obsoleting the number three.
2022-08-07 10:40:42 +02:00
p
1238233556
hid: bump the FD limit
2022-08-02 22:10:31 +02:00
p
2d8808d795
utm-filter.lua: mention the passing of fbclid
2022-07-18 17:59:28 +02:00
p
9c31fb69df
hid: make note of a deprecation
2022-03-16 12:57:00 +01:00
p
a51c247d69
hid: add WebIRC support
...
Such clients can only be identified through STATS L.
It's a bit weird to abuse the "port" field this way,
but right now, it serves its purpose.
2022-03-15 19:57:31 +01:00
p
f26e6361f3
hid: implement WALLOPS
2022-02-05 00:31:34 +01:00
p
60d52ad479
xC, xD: add basic WALLOPS support
2022-02-04 22:48:54 +01:00
p
b358f53ec3
Bump version, update NEWS
2021-12-21 05:58:34 +01:00
p
2eb315f5c4
utm-filter.lua: add Facebook to the filter
2021-12-20 14:36:41 +01:00
p
851c2ee548
CMakeLists.txt: fix macOS build
2021-11-02 15:34:51 +01:00
p
f9848ed627
Update README
2021-10-31 05:16:57 +01:00
p
686a39df38
CMakeLists.txt: slightly modernize
2021-10-31 04:30:04 +01:00
p
9cea3fca91
Update NEWS
2021-10-30 14:25:13 +02:00
p
5165f76b7c
xC: quote text coming from a bracketed paste
...
Not having this has caused me much annoyance over the years.
2021-10-30 09:27:32 +02:00
p
92ac13f3c6
xC: allow passing the cursor position to editors
...
Add a configuration option to set a custom editor command,
different from EDITOR or VISUAL--those remain as defaults.
Implement substitutions allowing to convey cursor information
to VIM and Emacs (the latter of which is fairly painful to cater to),
and put usage hints in the configuration option's description.
This should make the editing experience a bit more seamless
for users, even though the position is carried over in one way only.
No sophisticated quoting capabilities were deemed necessary,
it is a lot of code already. The particular syntax is inspired
by .desktop files and systemd.
["/bin/sh", "-c", "vim +$2go \"$1\"", filename, position, line, column]
would be a slightly simpler but cryptic way of implementing this.
2021-10-30 09:02:35 +02:00
p
df4ca74580
xC: make libedit autocomplete less miserable
...
Omitting even this hack was a huge hit to overall usability.
2021-10-30 08:29:16 +02:00
p
9e297244a4
Update .gitignore
2021-10-30 03:37:22 +02:00
p
d32ba133c0
Add clang-format configuration, clean up
2021-10-30 02:55:19 +02:00
p
ce3976e1ec
xC: normalize ^J behaviour to follow Readline
...
For some reason Editline inserts it verbatim,
but in a more broken manner than it has with ^V^J.
2021-10-28 08:49:01 +02:00
p
e5ed89646b
xC: fix newer libedit (2021-08-29)
2021-10-28 08:23:52 +02:00
p
5e728f6d31
Bump version, update NEWS
2021-10-06 14:05:23 +02:00
p
766f68e070
Bump liberty
2021-10-06 13:52:59 +02:00
p
3dc5242d43
Bump liberty
...
Importing some minor unimportant fixes.
2021-09-26 08:55:46 +02:00
p
fd9d5db1d2
xD: bump the soft file descriptor limit
...
By default it's a mere thousand connections, which is unnecessarily
crippling our advertised ability to handle lots of them.
Thanks for the advice, Lennart.
2021-09-23 20:32:00 +02:00
p
cb480b4c71
xC: show orphan outcoming actions differently
...
It's hard to think of anything actually good here.
This would be an exceptionally rare thing to do, anyway.
2021-09-05 02:51:05 +02:00
p
59cc423694
xC: abandon Freenode, embrace IRCnet
...
You're not fucking supposed to require a fucking registration
on fucking IRC networks.
2021-08-29 15:18:20 +02:00
p
9323089d66
xC: mIRC didn't invent all IRC formatting
...
So let's not confuse ourselves.
2021-08-29 12:12:52 +02:00
p
de7df1f60d
xC: refactor parsing of IRC formatting
2021-08-29 12:06:53 +02:00
p
b082e82b62
xC: fix displaying IRC colours above 16
...
First, we indexed the colour array without a required offset.
Second, the data type was too small and overflowed negative.
Detected during a refactor, which this is a part of.
2021-08-28 18:25:03 +02:00
p
b8dbc70a9c
xC: respect text formatting when autosplitting
2021-08-28 18:24:20 +02:00
p
e0ad67a921
Bump version, update NEWS
2021-08-07 07:53:08 +02:00
p
565edc15b4
README.adoc: be consistent in emphasizing
2021-08-07 07:40:02 +02:00
p
4073b7329f
hid: reflect the original project's new name
...
Better keep all schizophreny in my own head, rather than all projects.
2021-08-06 17:31:32 +02:00
p
5d285ffb96
xB: fix up the special IPC command's name
...
To reflect the new disorder.
2021-08-06 17:18:06 +02:00
p
50057d5149
Come up with sillier names for the binaries
...
I'm not entirely sure, but it looks like some people might not like
jokes about the Holocaust.
On a more serious note, the project has become more serious over
the 7 or so years of its existence.
2021-08-06 16:43:59 +02:00
p
1f64710e79
NEWS: improve wording
...
The phrase "input line" has already been used once in the file.
2021-07-24 09:40:35 +02:00
p
027bf8666e
degesch: never bump our own chanuser
...
With IRCv3.2 echo-message, each successfully sent message would
move us to the front of the list used for chanuser autocomplete.
Such behaviour seems useless.
Also abandon the idea of bumping on other kinds of messages.
2021-07-24 09:27:49 +02:00
p
7c7e12d8d5
degesch: start with lexically ordered chanusers
...
This makes nick autocompletion start in a non-arbitrary state.
2021-07-23 19:14:57 +02:00
p
3cb93d24e8
degesch: order nick autocomplete by time
2021-07-23 18:43:20 +02:00
p
acddfe2cfa
degesch: cleanup
2021-07-23 18:43:19 +02:00
p
051c43a072
NEWS: fix a garbled up entry
...
Try not to commit, push and tag releases tired.
2021-07-08 05:17:13 +02:00
p
0fe0b56280
Bump version, update NEWS
2021-07-08 05:09:30 +02:00
p
f0281cf028
test-nick-colors: fix and streamline
...
A recent addition of an N_ELEMENTS macro invocation broke it.
2021-06-25 06:35:00 +02:00
p
da5dd4eb91
degesch: make /ban and /unban respect EXTBAN
2021-06-17 12:21:48 +02:00
p
10cb6651c0
degesch: expand/analyze a few TODO comments
2021-06-16 22:10:25 +02:00
p
7f28dcd1ef
degesch: make "/help /command" work
...
Works for aliases as well. Resolves a TODO entry.
2021-06-16 21:57:47 +02:00
p
61c52d793c
degesch: fix a GCC compiler warning
2021-06-15 07:11:35 +02:00
p
b4dd0052ff
degesch: pick colours based on relative luminance
...
Replaces the inaccurate Rec. 709 luma we used to use before.
This is the first feature here that requires libm, which doesn't
seem to be a particularly great sacrifice.
Moreover, I've rectified that the input isn't linear in sRGB,
and then was even normalized wrong for the luma formula.
2021-06-15 07:09:23 +02:00
p
e3c47c33fa
degesch: implement -=/+= for multiple values
...
It didn't make sense to have these unimplemented,
though perhaps += shouldn't enforce a set.
Sadly, autocomplete is fairly difficult for -= of multiple items.
2021-06-14 09:06:38 +02:00
p
80c1e8f8eb
degesch: make /deop and /devoice default to self
...
It's pretty annoying to type `/mode -o <user>`, for little reason.
2021-06-03 00:12:22 +02:00
p
c5f49ab1e6
censor.lua: strip colours, configurable formatting
...
Colour parsing code taken from prime.lua, and modified to strip.
2021-06-03 00:12:22 +02:00
p
6f62b9c0c7
degesch: make CHGHOST update our own userhost info
...
I've almost forgotten that we use this for message spliting.
2021-05-30 08:23:23 +02:00
p
c1d69e3630
degesch: add support for IRCv3 chghost
...
This is somewhat similar to a nick change.
2021-05-30 08:06:38 +02:00
p
c75ef167f2
degesch: document the SASL EXTERNAL support
...
So far it's only been mentioned in the NEWS file,
which is definitely not sufficient.
It would be good to move this kind of stuff out from README.adoc.
2021-05-29 06:38:33 +02:00
p
ddffc71abe
degesch: factor out irc_try_finish_cap_negotiation()
...
Too much repeated, non-obvious code.
2021-05-28 04:59:21 +02:00
p
5a0b2d1c57
degesch: add trivial SASL EXTERNAL support
...
Just set `tls_cert`, and add `sasl` to `capabilities`.
2021-05-28 04:59:20 +02:00
p
bb451a5050
degesch: support CAP DEL, request cap-notify
...
It doesn't require much effort to cancel capabilities, plus with
the newer version we get the respective notification anyway.
2021-05-28 04:59:20 +02:00
p
61f15ead8a
degesch: don't CAP REQ when already registered
...
The list may later be requested manually, which shouldn't have
an unexpected side-effect.
2021-05-28 04:59:20 +02:00
p
17f430043a
degesch: IRCv3.2 capability negotiation
...
We can receive and display capability values now.
2021-05-28 04:59:20 +02:00
p
735096d76d
degesch: add a /squery command for IRCnet
2021-05-28 04:06:27 +02:00
p
1ba59e6ee0
degesch: fix back-parsing outgoing CAP REQ
...
The bug has apparently been there since the beginning.
2021-05-28 04:04:44 +02:00
p
f9ba682c0e
degesch: reset away-notify on disconnect
...
Forgotten to do it when adding the support for it.
2021-05-28 04:04:23 +02:00
p
8e8ffe2c73
degesch: don't switch to channels while typing
...
We might just always set the highlighted bit on,
it would be consistent with PMs.
2021-04-10 05:11:46 +02:00
p
d05c85833d
degesch: make a second SIGINT force-quit
...
Also fixed the possibility of eating a sequence of signals
as we reset the indicators /after/ we took action,
which creates a time window for races.
2020-11-01 15:33:16 +01:00
p
2336340ad8
Bump version, update NEWS
2020-10-31 23:50:32 +01:00
p
8f5dec0456
degesch: buffer creation cleanup
2020-10-31 23:44:18 +01:00
p
3dc6ee9a5b
degesch: sanitize IRC nicknames/channel names
...
Don't trust the IRCd to have them in a subset of UTF-8.
2020-10-31 23:25:08 +01:00
p
821ce04915
degesch: implement autocompletion for /set
...
It was super annoying to just slightly modify strings and
string arrays, now you can have existing values filled in.
complete_word() looks a bit cleaner now as well.
2020-10-31 23:18:31 +01:00
p
2fe3b95ecd
README.adoc: improve backlog helper invocation
...
When fancy-prompt.lua is enabled, tho prompt is two-lined
and a simple PageUp would skip one line of content.
It works slightly better than it should: when there's under
a page of content to scroll, there is no shift at all.
2020-10-31 20:00:23 +01:00
p
32c99c9d66
kike: avoid crash with a wildcard address
...
A most unfortunate 06d3b3b regression, mostly stemming from
forgetting why the `break` was in place and not documenting it.
2020-10-31 17:34:32 +01:00
p
cd7133e173
README.adoc: minor documentation update
2020-10-31 16:06:13 +01:00
p
b4ed52015a
degesch: mark some issues for later resolution
2020-10-31 16:06:12 +01:00
p
271689da99
fancy-prompt.lua: allow non-ASCII buffer names
...
It may theoretically bite us in the ass with non-UTF-8-compliant
IRC servers, and certainly with double-width characters.
2020-10-31 16:05:15 +01:00
p
38c23d0d38
degesch: fix fancy-prompt.lua with libedit
...
Partly by unifying the interface for prompt hooks to match GNU Readline.
2020-10-31 16:04:30 +01:00
p
439af8884c
degesch: make PageUp actually scroll a page up
...
Now that the input to the backlog helper is wrapped the same way
as what we display. There's a slight issue always triggered by
fancy-prompt.lua where a multiline prompt/command line makes less(1)
go too high up but it's nothing too important.
2020-10-31 16:00:55 +01:00
p
8ccf38ad76
Minor rebranding
...
There's nothing experimental about this project anymore. It's stable.
Maybe we should add a photo of Hitler or something.
2020-10-31 13:42:56 +01:00
p
47a4c8beca
CMakeLists.txt: clean up OpenBSD support
...
A few things might have changed.
2020-10-29 15:27:09 +01:00
p
1de4a2ae34
Bump version, update NEWS
2020-10-29 03:03:07 +01:00
p
53cc52e320
Add real manual pages
...
To some extent they duplicate the README but from a different angle.
2020-10-29 02:46:40 +01:00
p
cbe4009308
degesch: fix Lua 5.3 build
...
Regression from the last release.
2020-10-29 02:44:40 +01:00
p
06d3b3bd2b
kike: ensure NULL binds to both IPv4 and IPv6
2020-10-29 00:39:57 +01:00
p
132e4a38b8
kike: document the "operators" setting usefully
...
Now our user just needs to be able to guess that it's a hex string.
2020-10-28 23:53:03 +01:00
p
8429995cb6
ZyklonB: don't look for plugins in /usr/lib
...
It's quite unlikely that this project will ever see compiled plugins.
2020-10-28 17:17:48 +01:00
p
03ed097353
ZyklonB: use XDG paths by default
...
Install plugins to /usr/share rather than /usr/lib since they're
arch-independent. Many precedents can be found for scripted plugins
in /usr/share and fewer for /usr/lib.
Look for plugins in all XDG data directories and repurpose
the "plugin_dir" setting to override this behaviour.
This adds some complexity to the bot but unifies the project.
It might make sense to remove the "plugin_dir" setting.
2020-10-28 17:17:34 +01:00
p
b68e5ceedc
README.adoc: fix GPL notice
2020-10-28 13:11:46 +01:00
p
0d0d0b6863
CMakeLists.txt: omit end{if,foreach} expressions
...
Their usefulness was almost negative.
2020-10-28 11:30:37 +01:00
p
577fd1b446
CMakeLists.txt: clean up and fix build rules
...
The multiple-output custom command ran separately for each binary.
2020-10-28 11:23:39 +01:00
p
500c83231f
Bump minimum CMake version to 3.0
...
A nice, round number.
2020-10-27 12:02:47 +01:00
p
4b7649211a
Bump copyright years
2020-10-27 12:02:46 +01:00
p
9afa4944b6
Bump liberty
...
Testing in production is discouraged.
2020-10-24 19:10:55 +02:00
p
e58ce1f02e
Bump liberty, test UTF-8 sanitization
2020-10-21 05:44:27 +02:00
p
98e95de90e
degesch: add a hidden LOMEM compile option
2020-10-20 02:02:09 +02:00
p
383f6af344
Improve OpenSSL integration
...
Ensure the error stack is cleared after errors are processed.
Also handle NULL returns safely.
Makes the debug mode spew more data, though almost none of
the contexts is in reaction to network peer data.
2020-10-20 01:55:46 +02:00
p
13c85aa361
degesch: comment about improving word wrapper
2020-10-19 23:37:19 +02:00
p
419b02e9f7
degesch: slightly cut down memory usage
...
The worst offenders are actually OpenSSL and Lua, this is
mostly about a preventable surprise.
This is more correct because we mix escape sequences for
attributes with text, however in practice no one will use
shit-jizz with degesch.
It is also a clean-up: "struct line_char" has been almost
halved in size. We used to use it as a cache and now we
recompute the multibyte sequence.
Of course, it'd be best to get rid of the linked list but
it would take a very long time to rewrite the algorithm.
Plus, it's not certain that it could be improved by much.
The change in "struct line_char_attrs" is merely cosmetical.
2020-10-19 06:38:31 +02:00
p
c89032e4e0
degesch: silence the compiler
2020-10-19 05:17:41 +02:00
p
474657c7b3
degesch: fix processing WHO replies
...
We don't want to print the reply for ourselves
nor for unknown or PM-only users.
2020-10-19 04:21:52 +02:00
p
323a372389
degesch: update an outdated comment
2020-10-16 23:29:05 +02:00
p
76f4e6faa6
degesch: cleanup
...
Channels now need a reference to the server,
so don't pass it to functions.
2020-10-16 21:17:57 +02:00
p
2c48bc9959
degesch: watch away statuses with away-notify/WHO
...
We're not going to implement polling. Polling is complex.
Freenode supports away-notify.
2020-10-16 21:17:57 +02:00
p
e1a4fab40d
degesch: don't eat NAMES for unknown channels
2020-10-16 17:59:51 +02:00
p
1ff80ddd10
degesch: stubplement TAGMSG
2020-10-16 17:59:50 +02:00
p
12c8ace6a1
degesch: clarify handling of unexpected JOINs
...
I got confused about safety.
2020-10-16 17:59:50 +02:00
p
49706efe86
degesch: improve a function name
...
3_3_3_3_4 looks awful and it wasn't even precise.
2020-10-16 17:59:43 +02:00
p
9d8a7a10d0
Tolerate cut-off UTF-8 messages
...
I've had this happen to me on Russian channels and it's highly
annoying because you lose the entire message. On the contrary,
this at worst screws up the last few characters of it.
Closes #2
2020-10-12 23:45:27 +02:00
p
73c3ca3633
Bump liberty
2020-10-12 23:00:43 +02:00
p
559232ccb5
kike: fix up debug messages
2020-10-12 04:33:39 +02:00
p
6837fdb7c4
Bump liberty
...
We've moved most of our configuration test in there.
2020-10-12 04:08:09 +02:00
p
2759c311fa
kike: use read/write rather than recv/send
...
read/write support non-sockets, otherwise they're the same here.
This is in preparation for fuzzing.
2020-10-12 04:04:06 +02:00
p
529a46ad41
degesch: add support for crossed-out text
...
Assuming that sgr0 includes rmxx behaviour, which should be true.
2020-10-11 18:07:26 +02:00
p
f9ef123171
degesch: support more colours
2020-10-11 17:49:31 +02:00
p
f51dd936f5
degesch: prefer British spelling in comments
...
Let's say the rest is in Oxford spelling, not sure about it.
2020-10-11 17:48:57 +02:00
p
7ce1615021
prime.lua: skip colour sequences, add config
...
Colour sequence skipping is somewhat involved, we might want to
add a helper generator to the "degesch" Lua library, in the form of
{substring, is_formatting}.
formatter_parse_mirc() isn't useful, a pure Lua implementation
would be more appropriate (where do we put that?)
2020-10-11 16:54:15 +02:00
p
270d9017e9
degesch: improve ad-hoc IRC parsers in plugins
2020-10-10 17:58:33 +02:00
p
ee5cac4f21
degesch: add a plugin to highlight prime numbers
2020-10-10 17:55:14 +02:00
p
59ac02d91f
Bump liberty
...
resolve_relative_runtime_unique_filename() used to have a bug.
2020-10-10 04:37:08 +02:00
p
d78cf10f04
degesch: fix prompt not showing up after change
...
When a backlog helper was running and the prompt changed,
it failed to restore within input_rl_show().
Since before input_rl_show() is called the prompt is empty
and in input_rl__restore() it will be changed to the new
version, just skip invoking any Readline functions within
input_rl_set_prompt() when the prompt is hidden. Simple
and straight-forward.
This bug is what I hinted at in the previous commit.
2020-10-06 13:42:27 +02:00
p
572a7cb804
README.adoc: update degesch instructions
...
There is still one outstanding issue with the backlog helper, though...
2020-10-04 12:27:17 +02:00
p
03e8ad0a3e
degesch: enable wrapping in the backlog by default
...
The main issue has been eliminated.
2020-10-04 12:17:09 +02:00
p
f665f147ff
degesch: resolve the issue with less(1) and SO/SI
...
Now that I've learnt what exactly these characters are and how they
ended up in attribute strings, we can just eliminate them and disable
`backlog_helper_strip_formatting`. Saner defaults, again.
I've also added skipping of terminfo delay sequences, so now it's less
of an issue to pipe raw attribute sequences into backlog helpers.
2020-10-04 12:04:24 +02:00
p
9819b75b64
degesch: make the unread marker look a bit fancier
...
Upstreamed after who knows how long, in a slightly modified form.
The marker looks fairly ugly without this and defaults should be
desirable.
It's possible to get the previous behaviour by resetting the separator
character in the configuration to an empty string. It might be
a better idea in general to just disallow this value with a special
validation callback, so that there's only one way to do it.
However given that without fancy-prompt.lua, an optional plugin,
the long line stands out considerably, it might actually be a good
idea to keep the old behaviour as the default. I'm torn.
Right now we don't care about the situation where the string occupies
more than one terminal cell or is some Unicode BS. User's problem.
2020-10-04 10:08:30 +02:00
p
f716e7601f
degesch: fix a typo
2020-10-04 08:44:16 +02:00
p
eea761d9f7
degesch: make use of arguments in _new() functions
2020-10-04 08:32:15 +02:00
p
dd8e543a20
degesch: save some memory on channel users
...
`struct str` was mostly unnecessary, we can save 16+ bytes,
while performance and code readability is mostly unchanged.
2020-10-04 08:28:07 +02:00
p
dc8b580574
degesch: expand comment about character encoding
2020-10-02 07:09:58 +02:00
p
2d9856cca8
Bump liberty, use iscntrl_ascii()
2020-10-02 06:52:11 +02:00
p
289193dd1a
kike: silence an annoying build warning
2020-09-20 13:43:59 +02:00
p
405848deeb
degesch: remove unnecessary quotes from macro defs
...
The behaviour is defined by the standard.
2020-09-20 13:43:36 +02:00
p
b9991d4766
degesch: update comment to reflect reality
2020-09-20 13:43:10 +02:00
p
1ff82ee907
Update NEWS, bump version
2020-09-02 20:00:12 +02:00
p
57e92fbb85
Update copyright years
2020-09-02 20:00:11 +02:00
p
a04dfc59fe
README: improve libasciidoc compatibility
2020-09-02 20:00:11 +02:00
p
7f69655c54
README: discourage from using libedit
2020-09-02 20:00:10 +02:00
p
444f97b357
degesch: work around a libedit attribute issue
2020-09-02 20:00:10 +02:00
p
ed7130a664
degesch: fix a libedit crash
2020-09-02 20:00:10 +02:00
p
ba1c2357af
degesch: fix Lua 5.4 build
...
Not sure about how well it works yet.
Lua 5.3 is still made preferential by the order of pkgconfig lookup.
2020-09-02 20:00:09 +02:00
p
a48023553e
degesch: fix a pointer operation in the libedit layer
2020-09-02 20:00:09 +02:00
p
d29317b29c
Bump liberty
2020-09-02 20:00:09 +02:00
p
deb096a0e9
Name change
2020-09-02 19:37:29 +02:00
p
722fc48a30
CMakeLists.txt: add a comment
2020-09-02 19:37:26 +02:00
p
6421892ef3
Name change
2020-08-01 14:01:58 +02:00
p
6287e20919
degesch: fix log reopening after a buffer rename
2020-03-23 00:41:08 +01:00
p
07d59db5ab
degesch: clean up unused functions
2020-03-22 02:00:57 +01:00
p
2909b017fb
Fix handling terminal resizes while the terminal is suspended
...
GNU Readline has a misfeature.
2020-03-21 22:02:02 +01:00
p
64d4009427
degesch: fix getpwuid usage
...
The "entry not found" case doesn't have to touch errno.
2019-12-07 21:18:20 +01:00
p
a1994865a9
hid: mention Go 1.12 alternative to TLS autodetection
2019-02-27 02:36:04 +01:00
p
4179a9bd49
Update NEWS, bump version
2018-10-21 05:44:39 +02:00
p
aa4e86c2a0
degesch: add a comment about ENOTCONN
2018-10-21 05:40:24 +02:00
p
5bbe9ceef8
Update NEWS
2018-10-21 05:40:24 +02:00
p
f80226620c
kike: fix wildcard handling in WHOIS
2018-10-21 05:40:24 +02:00
p
2fccfb10f7
kike: allow STATS with no parameters
...
We were in plain conflict with RFC 2812 for no apparent reason.
2018-10-21 05:40:16 +02:00
p
c285f3a266
hid: clean up/finalize logging
2018-08-06 20:47:33 +02:00
p
e2c34afbc6
hid: move off of the log package
...
We don't spam with useless messages without -debug any longer.
2018-08-06 19:52:39 +02:00
p
e2c8fb6e33
hid: port logging facilities
...
Though the regular mode now has timestamps and a new mode for systemd
has been added.
2018-08-06 19:49:06 +02:00
p
5c7ac9a92b
hid: cleanups
...
No functional changes.
2018-08-06 12:31:31 +02:00
p
3fee7e8051
hid: port IRC tests from liberty, fix tag parsing
2018-08-06 12:09:18 +02:00
p
09d7a10b69
hid: rename connCloseWrite to connCloseWriter
2018-08-06 12:06:42 +02:00
p
e9bcd0fa53
hid: add the first tests
...
This has actually revealed a problem in the SSL 2.0 detection.
2018-08-06 12:06:20 +02:00
p
3815795d59
hid: fix SSL 2.0 autodetection
2018-08-04 21:13:28 +02:00
p
fd1538251a
hid: add support for customized replies
2018-08-03 21:45:53 +02:00
p
ffad1f15a5
hid: unify exit codes with the flag package
2018-08-03 21:45:53 +02:00
p
765b741a67
hid: cleanups
2018-08-03 21:45:52 +02:00
p
ab66a60703
hid: fix listener shutdown
2018-08-03 10:55:22 +02:00
p
9ee07873ea
hid: fix nickname verification in the user MODE message
2018-08-02 18:42:32 +02:00
p
7ee7dc5f9b
hid: port default formatting strings to fmt
2018-08-02 12:51:22 +02:00
p
fea801ac7a
hid: ircSendToRoommates -> ircNotifyRoommates
...
Should be clearer.
2018-08-01 20:39:37 +02:00
p
cbdbfc3d64
hid: figured out how to port timeouts
2018-08-01 20:39:37 +02:00
p
3610f98d67
hid: another round of general code cleanups
2018-08-01 17:45:56 +02:00
p
b9eddabedd
kike: explicit conversion from pointer to boolean
...
In practice the values in the map may only be 1 or 0, so it doesn't
matter, but in C it is better to be safe than sorry.
2018-08-01 09:22:59 +02:00
p
50ed74a740
kike: break out properly on errors in MODE processing
...
We used to only abort the inner loop, which was insufficient.
2018-08-01 09:21:37 +02:00
p
3ca08badc2
kike: reset user modes while processing USER
...
Since the processing always succeeds and registration cannot be undone,
this doesn't seem to fix any real issue.
2018-08-01 09:17:45 +02:00
p
b0f5b8c10d
kike: do nothing on equivalent renicks
2018-08-01 09:17:12 +02:00
p
d87d533078
kike: code cleanups
2018-08-01 09:16:45 +02:00
p
3c47e5b354
kike: fix grammar in hostname validation
...
This has an entry in RFC 2812 errata, although it's held for document
update. We can afford the strictness.
2018-08-01 09:16:45 +02:00
p
54d3406175
kike: fix grammar in config item description
2018-08-01 09:16:44 +02:00
p
f79dd027e9
kike: add a comment about identifier encoding
2018-08-01 09:16:44 +02:00
p
e77495f316
hid: bringup of what we have this far
2018-07-31 23:11:54 +02:00
p
2f841d214f
hid: port configuration and initialization
...
All the basic elements should be there now, we just need to port PING
timers and fix some remaining issues and we're basically done.
2018-07-31 20:53:23 +02:00
p
051bbedc2f
hid: port IRC 3.2 message tag parsing, unused
2018-07-30 17:50:27 +02:00
p
404aa8c9cc
hid: use time.Time and time.Duration
...
It improves the code significantly over explicit int64 conversions.
Despite carrying unnecessary timezone information, time.Time also
carries a monotonic reading of time, which allows for more precise
measurement of time differences.
2018-07-30 10:07:02 +02:00
p
90129ee2bc
hid: port MODE, STATS, LINKS, KILL
...
Now all the commands have been ported but we desperately need to parse
a configuration file for additional settings yet.
2018-07-30 09:46:59 +02:00
p
50e7f7dca5
hid: port PART, KICK, INVITE, JOIN, AWAY, ISON, ADMIN, DIE
2018-07-29 17:49:57 +02:00
p
3322fe2851
hid: port PRIVMSG, NOTICE, NAMES, WHO, WHOIS/WAS, TOPIC, SUMMON, USERS
2018-07-29 15:57:39 +02:00
p
208a8fcc7e
hid: first round of mixed fixes and cleanups
2018-07-29 08:14:07 +02:00
p
2d287752d4
hid: add a work in progress IRC daemon
...
The port is more than viable but it's also sort of all-or-nothing
and versioning needs have come before I've had a chance to finish it.
2018-07-28 16:21:34 +02:00
p
fa78831cbd
Update NEWS, bump version
2018-06-22 00:59:41 +02:00
p
94b0ec80cf
fancy-prompt.lua: workaround a Readline UTF-8 bug
2018-06-22 00:55:17 +02:00
p
300f9a9708
Bump liberty
2018-06-22 00:03:21 +02:00
p
b1a89f313a
degesch: add static analysis for the logger
...
Caught two more occurences than I was able to find by just scanning
the source, so the effort wasn't in vain.
2018-06-21 23:46:03 +02:00
p
fab5115cd0
Remove .travis.yml
...
We don't depend on any proprietary services no longer. I'll have to
make my own replacements with blackjack and hookers. Until then,
the file stays in the commit log as an example.
2018-06-21 23:46:03 +02:00
p
d0cb3c1ac6
Update README
2018-06-21 23:46:03 +02:00
p
a0e9ede3e3
Relicense to 0BSD, update mail address
...
I've come to the conclusion that copyright mostly just stands in the way
of software development. In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.
The updated mail address, also used in my author/committer lines,
is shorter and looks nicer. People rarely interact anyway.
2018-06-21 23:46:03 +02:00
p
787569e653
Update submodule URL for liberty
2018-06-21 23:45:55 +02:00
p
5d353b0721
Prepare NEWS for the next release
2018-06-21 23:26:16 +02:00
p
006d34eeae
degesch: fix some log messages
...
We could use some static analysis for these.
2018-06-21 23:25:45 +02:00
p
19400ee8b7
kike: disable TLS session reuse
2018-01-09 06:25:16 +01:00
p
674ffb2f6d
kike: handle accept() errors better
...
Might prevent some denial of service attacks.
2018-01-09 05:48:36 +01:00
p
6c30452b28
kike: thorough review, no functional changes
2018-01-09 05:47:37 +01:00
p
670e1c5770
kike: introduce cstr_set()
2018-01-08 23:16:14 +01:00
p
4586b0e1e4
degesch: introduce cstr_set()
2018-01-08 22:19:28 +01:00
p
b4507b56af
degesch: thorough review, no functional changes
2018-01-08 22:19:23 +01:00
p
bf6d507bb2
degesch: fix IPv6:port in irc_split_host_port()
2018-01-08 22:19:02 +01:00
p
099a49e6d5
degesch: fix a minor bug in buffer_merge()
...
The pointer to the last item in the linked list wasn't always fixed,
although nothing really touched it afterwards.
2018-01-08 22:17:02 +01:00
p
4627ee82dd
degesch: simplify a popular assertion
2018-01-08 22:16:57 +01:00
p
682f90e989
degesch: simplify the configuration dumper
2018-01-08 22:16:52 +01:00
p
277af83100
degesch: show an error message on log write failure
...
Running out of space and I/O errors seem like the most likely causes.
2018-01-08 22:16:36 +01:00
p
a5a0078def
degesch: make buffer index computation easier to follow
2018-01-08 22:16:10 +01:00
p
868e34d15c
degesch: fix a Lua error message
2018-01-08 22:16:06 +01:00
p
dc47b16034
Bump liberty, avoid fall-through warnings
2018-01-07 17:37:19 +01:00
p
d0f19f8be3
Update README
...
"Edgy" is actually a fitting word. And we've lost OBS!
2017-12-06 23:49:18 +01:00
p
ddb45a1cc4
Update README
2017-12-02 13:06:39 +01:00
p
3974919741
Update README
...
So be it, SJWHub, at least I have a reason to move.
2017-12-02 11:06:48 +01:00
p
36be830bfc
degesch: better shift state encoding handling
...
I don't know, probably didn't matter.
2017-07-07 20:55:25 +02:00
p
f7dce5e861
slack.lua: add a feature to undo emoji
2017-07-03 06:45:46 +02:00
p
757047bd20
CMakeLists.txt: fix variable name
2017-07-03 06:44:15 +02:00
p
a2611cdc3c
Rework constructors/destructors
2017-06-22 22:56:24 +02:00
p
68bc297809
Bump liberty
2017-06-22 22:39:39 +02:00
p
933760c2a2
kike: fix two memory leaks
2017-06-22 20:36:21 +02:00
p
156ea32a90
slack.lua: support @here and @channel
2017-05-18 10:44:36 +02:00
p
f744681b17
slack.lua: improve input hook matching
2017-05-17 15:05:51 +02:00
p
bdc6334aec
slack.lua: more unfucking
...
And now it's already fairly usable.
2017-05-17 00:32:54 +02:00
p
96864517c6
Fix licensing notice in README
2017-05-14 22:13:00 +02:00
p
0bdcd4aa8b
fancy-prompt.lua: remove unnecessary local variable
2017-05-13 20:04:21 +02:00
p
b18a8048c1
degesch: add a slack plugin
...
Slack's IRC gateway is crap but it doesn't need to be *such* crap.
2017-05-13 20:04:21 +02:00
p
c3d62b8799
Avoid the "poller_fd::closed" feature
...
Reliability enhancement for Linux.
This feature was created for ponymap, however we don't care about an
extra syscall in most places. Doing it right even saves lines.
2017-05-06 21:35:44 +02:00
p
ec842db0fb
Update copyright years
2017-04-22 19:41:27 +02:00
p
0981df485a
degesch: simplify quitting
...
- send a QUIT on C-c, too
- shut down the connection on /disconnect, too
Connection management is one of the few fucked up parts
that remain in that state for historical reasons.
2017-04-20 20:55:49 +02:00
p
9f0c18cc41
degesch: fix confusing message
...
It seemed like we were connecting albeit we were connected already.
2017-04-20 20:26:04 +02:00
p
1313a712df
degesch: make a second /disconnect always succeed
2017-04-20 20:25:21 +02:00
p
f45f9ab873
Travis CI: brevify notifications
2017-02-03 23:17:15 +01:00
p
9e5725662f
Bump liberty
2017-01-23 23:50:27 +01:00
p
0785a6f417
degesch: Lua is no longer experimental
...
But rather essential to me.
2017-01-23 23:41:14 +01:00
p
cb9957cd64
Travis CI: try adding the PPA back
2016-12-30 14:47:50 +01:00
p
40bb2497f7
Travis CI: try removing a dead PPA
2016-12-30 14:42:06 +01:00
p
d7960b463f
Fix LibreSSL compatibility
2016-12-30 08:51:49 +01:00
p
3c048f0d56
Bump version
2016-12-30 08:15:44 +01:00
p
8e668ff31a
Various fixes related to channel modes
...
Bugs unnoticed for so long.
2016-12-30 08:08:34 +01:00
p
eb70bf3fbc
Cleanup
2016-12-28 12:44:27 +01:00
p
d86a68f510
Add support for OpenSSL 1.1.0
2016-12-28 12:40:47 +01:00
p
d6be22291d
degesch: /query w/o arguments just opens the query
2016-12-06 13:51:16 +01:00
p
a813babb89
fancy-prompt.lua: fix parametrized modes
2016-12-02 12:28:55 +01:00
p
b666ce6926
fancy-prompt.lua: change background on highlight
2016-12-02 12:28:55 +01:00
p
e2bb051bd3
degesch: replace degesch.connect with async.dial
...
Halfway there, looks much saner.
2016-11-04 22:02:26 +01:00
p
52d1ded7df
degesch: move the Lua async code within the file
2016-11-04 20:44:23 +01:00
p
cb9f187f80
degesch: get rid of Lua timer hooks
...
Since they were the exception and have been replaced with the async API.
2016-11-04 20:21:46 +01:00
p
0247c4667a
degesch: Lua coroutine safety
2016-11-04 20:12:28 +01:00
p
572f4e2ea3
degesch: implement Lua coroutine async basics
2016-11-04 20:11:59 +01:00
p
50599e09bd
Update README, add a screenshot for degesch
2016-10-30 18:52:20 +01:00
p
b24bb0aded
degesch: fix join/part hiding in the backlog
2016-10-30 16:24:23 +01:00
p
7c6cf42075
thin-cursor.lua: update comments
2016-10-30 01:50:21 +02:00
p
414a525c4d
degesch: add a thin-cursor plugin
2016-10-30 00:00:48 +02:00
p
6cee7159f2
degesch: clean up
...
Caught by Coverity, however it is quite harmless.
2016-10-29 21:08:15 +02:00
p
568f9b7123
degesch: tiny fixes for the prompt hook
...
It should return valid UTF-8.
Also remember to refresh the prompt upon hook removal.
2016-10-29 20:03:31 +02:00
p
0d499dd125
degesch: avoid senseless indirection in hooks
...
It's always been one function call only this far.
2016-10-29 19:51:54 +02:00
p
37e49b54cf
degesch: rename things around terminal attributes
2016-10-29 18:07:28 +02:00
p
742d590b8d
degesch: simplify "attribute_printer"
...
Now that the line wrapper took over some of the state.
2016-10-29 17:53:06 +02:00
p
b6528c73e3
degesch: microoptimization
2016-10-28 18:16:21 +02:00
p
1e79aaec26
degesch: refresh the prompt when a hook is set
2016-10-28 13:58:37 +02:00
p
0995da3900
degesch: don't consider all mode changes important
2016-10-28 13:32:29 +02:00
p
c8a826f016
degesch: optimize Lua weak refs
2016-10-28 13:09:50 +02:00
p
95c7ababc3
degesch: add a "fancy-prompt" plugin
...
So that the client looks at least a tiny bit decent if needed.
2016-10-28 12:53:18 +02:00
p
a0d733fdb9
Update NEWS, README
2016-10-28 12:47:11 +02:00
p
557a39c6c8
degesch: export server state as a string to Lua
2016-10-28 12:47:11 +02:00
p
745e758394
degesch: add Lua API for screen size retrieval
2016-10-28 04:12:06 +02:00
p
b60bdf119a
degesch: add a prompt hook
2016-10-28 04:12:06 +02:00
p
278e2b236b
degesch: add introspection for refs within str_maps
...
This required some fixes to the design.
2016-10-28 04:12:05 +02:00
p
2f758bbdb9
degesch: allow lists of refs in introspection
2016-10-28 04:12:05 +02:00
p
911276b263
degesch: add introspection for "app_context"
2016-10-28 04:12:05 +02:00
p
cb5ad675a6
degesch: add introspection for "str" and "str_map"
2016-10-28 04:12:05 +02:00
p
9408dfc67c
degesch: create Lua refs through introspection
2016-10-28 04:12:05 +02:00
p
fed8b06aff
degesch: begin work on direct introspection
2016-10-28 04:12:05 +02:00
p
7e64fd9886
degesch: cleanup
2016-10-28 04:12:05 +02:00
p
6928184a3d
degesch: defer prompt refreshing
...
Now that we do it each time we receive a message from the server.
2016-10-23 17:34:52 +02:00
p
f7155f3919
degesch: allow hiding join/part messages
2016-10-23 17:14:24 +02:00
p
f032466307
degesch: comments, no functional change
2016-10-23 17:14:24 +02:00
p
c0f4b554ef
degesch: show channel user count in the status
2016-10-23 17:14:24 +02:00
p
639da7a9a7
degesch: accept Word shortcuts for formatting
...
Because why not.
2016-10-23 13:40:04 +02:00
p
230b04014f
Bump liberty, add consts to some arguments
2016-10-23 13:38:46 +02:00
p
4848354bb9
Get rid of the remaining FAILs
2016-10-11 12:05:17 +02:00
p
8028c7fa47
Bump liberty
2016-10-11 10:52:49 +02:00
p
43de836b91
degesch: exit with error when arguments are given
2016-09-29 13:40:15 +02:00
p
16d10f574b
degesch: simplify highlight detection
2016-09-25 14:11:30 +02:00
p
4cefa5ab1b
degesch: fix highlight detection in colored text
2016-09-23 23:46:26 +02:00
p
92a4d4b5a7
Better support for the KILL command
2016-09-23 22:50:30 +02:00
p
26f94d2459
degesch: add a "censor" plugin
...
So far this approach screws up highlights, which is actually a bug.
2016-09-23 18:59:37 +02:00
p
0be43691d0
Update README
2016-07-23 20:29:25 +02:00
p
483ab39e3c
degesch: die on configuration parse errors
...
Seems more sensible.
2016-07-23 20:00:40 +02:00
p
beaf1a1f82
degesch: fix Ctrl-J in Readline
2016-07-23 19:13:55 +02:00
p
5613c326c9
degesch: fix CTCP handling
...
In `/me :\` practically no client bothers to escape the backslash but we
used to interpret it as the start of an escape sequence anyway.
Silly us, no one respects any standards.
2016-07-09 22:55:26 +02:00
p
db17223df0
Bump version; update NEWS, README
2016-04-28 23:46:08 +02:00
p
2474b5f3f5
calc: fix usage of (substring)
2016-04-28 23:25:29 +02:00
p
d97f28e7f7
ZyklonB: add a seen plugin
2016-04-24 21:05:53 +02:00
p
d6a9e1dca1
degesch: customizable date change messages
...
Now also in the backlog.
2016-04-21 23:50:05 +02:00
p
c8e4833086
degesch: add a NOWRAP flag to formatter_flush()
...
--format should work as before now.
It is now also possible to rebind PageUp to show a wrapped backlog.
2016-04-21 23:50:05 +02:00
p
99595c0d81
degesch: update comments
2016-04-21 23:50:05 +02:00
p
75c4645f10
degesch: add an auto-rejoin.lua plugin
2016-04-21 22:12:33 +02:00
p
fa5e005728
degesch: refactor Lua weak objects
2016-04-21 22:09:35 +02:00
p
a9b77b3206
degesch: expose channels and users to Lua
2016-04-21 22:09:35 +02:00
p
29418e5e55
ping-timeout.lua: fix message parsing
2016-04-21 22:09:35 +02:00
p
4665807d09
degesch: expose message parsing to Lua
2016-04-21 22:09:35 +02:00
p
1180255e7b
calc: comment updates, import fixes
2016-04-20 22:55:40 +02:00
p
6f85490fa3
Update NEWS
2016-04-16 20:11:11 +02:00
p
e97c60245c
ZyklonB: add a calc plugin
2016-04-16 20:11:11 +02:00
p
3a8d70de66
degesch: fix crash on invalid cp1252 characters
...
We don't even really need iconv here.
2016-04-03 04:05:04 +02:00
p
695d615225
ZyklonB, kike: Use pledge(2) in OpenBSD
...
degesch has something like "stdio wpath cpath inet tty proc exec"
but given that it's user-extensible and very annoying for users to
have it crash, I'm leaving it unrestricted for now.
2016-03-30 00:50:44 +02:00
p
8a3144f0ac
degesch: update program logo
...
I've noticed that the old one wasn't very pleasant to look at.
2016-03-28 21:08:04 +02:00
p
48423aa4af
Update README
2016-03-28 21:07:56 +02:00
p
11a6c7662e
Update NEWS, bump release
2016-03-27 17:17:15 +02:00
p
dc71af9c31
degesch: fix two minor issues
...
- completely new unread markers could be created in active buffers
- control characters confused word wrapping
2016-03-26 20:59:37 +01:00
p
f964495d1a
degesch: don't wrap lines in pager
2016-03-26 16:41:55 +01:00
p
550a0419a6
degesch: detect //TRANSLIT support, use cp1252
...
Now BSDs should have it enabled as well.
2016-03-26 14:27:59 +01:00
p
9b12c830d1
degesch: remap goto-activity to M-a
...
weechat appears to use this key binding, so let's not reinvent it.
2016-03-26 13:11:28 +01:00
p
1e24d1d1b8
degesch: add partial matching /buffer goto
2016-03-26 13:00:10 +01:00
p
6292114c76
degesch: append message count in /buffer listing
2016-03-26 05:15:11 +01:00
p
e646afe5ae
degesch: retain the unseen marker
...
Don't erase the message counts immediately.
Also make the marker visible in the pager.
2016-03-26 04:55:46 +01:00
p
410bcdcd78
degesch: phase 1 of word wrapping implementation
2016-03-26 04:52:05 +01:00
p
62962dc7ac
Fix Travis CI notifications
2016-03-14 20:41:07 +01:00
p
a83ef111c8
Fix git commit tracking
2016-03-13 17:07:04 +01:00
p
90842c23a2
kike: fix daemonization on *BSD
...
Bump liberty.
2016-03-13 16:44:58 +01:00
p
1c9de9291b
degesch: cleanup, fix no-tty mode FWIW
...
Removed the no color mode that couldn't even be enabled.
Not sure why we still support running without a proper terminal
but let's at least not make it crash for now.
2016-03-13 16:44:06 +01:00
p
e11ca7cc00
Use TMPDIR as a fallback if set
2016-03-13 00:59:28 +01:00
p
df395f32e5
Update NEWS, README
2016-03-12 23:02:59 +01:00
p
f96fa66168
degesch: add a --format switch
2016-03-12 14:28:17 +01:00
p
781a37c152
Don't link kike, ZyklonB against degesch libs
2016-03-10 22:27:09 +01:00
p
5a197162bf
Fix manpage generation
...
The manpages could end up in a wrong directory.
2016-03-10 20:26:35 +01:00
p
d70f156a20
Update README
2016-03-10 20:25:06 +01:00
p
42d88f87f5
degesch: add unbound commands for buffer movement
2016-03-10 00:07:59 +01:00
p
a1c4a1ef3a
degesch: fix binding to our own fns from inputrc
2016-03-10 00:06:28 +01:00
p
dc248b8840
degesch: add goto activity and highlight
2016-03-08 22:29:40 +01:00
p
09c7d9a65d
degesch: fix mIRC color parsing
2016-03-08 01:59:51 +01:00
p
0f1fd2eb3a
Update NEWS, cleanup
2016-03-07 23:43:47 +01:00
p
696273558e
degesch: rewrite input layer
...
Now with less #ifdefs.
2016-03-07 22:52:56 +01:00
p
584d2f0295
degesch: use libffi to unify input callbacks
...
And fuck you both, Readline and Editline.
2016-03-06 18:12:12 +01:00
p
3304b718aa
Try to use version information from git
2016-03-06 03:52:39 +01:00
p
10bdf90fe2
Don't force override compile flags
2016-03-06 03:50:35 +01:00
p
17804fa49b
degesch: fix +=/-= to null config items
2016-03-05 19:15:40 +01:00
p
4b10ea7ab0
factoids: safer DB writes
2016-02-29 03:15:44 +01:00
p
fb0b0c4cf0
factoids: allow querying definitions by number
2016-02-29 03:11:33 +01:00
p
f492592735
factoids: look for duplicates case-insensitively
2016-02-29 02:50:53 +01:00
p
6190733079
degesch: mark a problem
2016-02-29 02:50:41 +01:00
p
676e6c20fa
ZyklonB: add a factoids plugin
2016-02-27 22:29:19 +01:00
p
ed20322e5e
ZyklonB: run plugins in a special work directory
...
Also small refactoring.
2016-02-20 00:37:57 +01:00
p
a275f9636c
ZyklonB: revisit error handling
2016-02-20 00:01:54 +01:00
p
056e0a4765
Resolve tls_ca_{file,path} relative to config dir
2016-02-19 23:46:44 +01:00
p
798ed73a8c
ZyklonB: fix segfault on total SOCKS failure
2016-02-12 04:11:33 +01:00
p
7be995f74a
ZyklonB: avoid infinite reexec loops
2016-02-12 04:05:09 +01:00
p
06b03d336e
degesch: fix segfault on sent messages w/o buffer
2016-02-12 04:04:35 +01:00
p
11519ee860
degesch: update screen size when terminal resumed
...
Apparently we don't receive the events when we give up the terminal.
2016-02-10 23:02:33 +01:00
p
03d5b27398
degesch: use mkstemp() with a safe umask
2016-02-09 13:52:56 +01:00
p
3315b16f79
degesch: log messages from /quote and plugins
...
That is, parse back all output messages and log based on that.
2016-02-09 05:10:41 +01:00
p
0c19a384f1
Fix typos
2016-02-09 04:50:51 +01:00
p
333ad2c981
degesch: allow changing the list of used CAPs
...
Bump liberty.
2016-02-01 21:57:43 +01:00
p
a850ee45f1
degesch: optimize buffer memory usage
...
We have approximately 5 formatter_items per buffer_line. Let's assume
we're on a 64-bit machine. Then there were (5 * 2) + 3 useless pointers
(104 bytes) as well as 5 * (4 + 4) = 40 bytes of wasted space because
of needless padding. That's 144 bytes already. Compared to that, this
change adds 16 bytes of overhead for an array sentinel, i.e. 128B less.
With a limit of 1000 lines per buffer, we've saved ~128kB per buffer
on completely useless data, and code complexity stays roughly the same.
All in all, memory usage for buffers should be about 50% lower.
2016-01-31 21:43:23 +01:00
p
10a264ec3d
kike: add support for IRCv3.2 server-time
2016-01-31 21:43:23 +01:00
p
2ec6258ff3
last-fm.lua: don't use empty album names
2016-01-18 01:28:53 +01:00
p
f57664ddd0
degesch: add an assertion
...
It should never fail with current code.
2016-01-18 00:59:43 +01:00
p
773d14e740
degesch: disable TLS compression
2016-01-18 00:45:20 +01:00
p
221ae03b5c
degesch: Lua: fix memory leak on load failure
2016-01-17 22:57:16 +01:00
p
588a696c68
degesch: lesser heap fragmentation
2016-01-17 22:15:48 +01:00
p
6db40c4503
Bump liberty
2016-01-17 04:43:43 +01:00
p
f070523085
Bump liberty
2016-01-16 06:30:08 +01:00
p
dac5c9df6d
kike: more cleanup
2016-01-16 06:30:08 +01:00
p
ced2a57cfc
kike: allow messages before protocol establishment
...
We can just queue them.
2016-01-16 06:30:08 +01:00
p
f36d66b0cb
kike: asynchronous address resolution
...
As well as some refactoring and cleanup.
2016-01-16 06:30:08 +01:00
p
fdeb550ee0
degesch: fix backlog limit
...
It was effectively infinite.
2016-01-15 22:11:05 +01:00
p
c4a18ec8a7
degesch: fix and simplify screen handling
...
Now with less madness.
2016-01-15 05:40:20 +01:00
p
d0db1a6cdc
degesch: enforce fullscreen buffers
...
Probably long overdue.
Now we actually look like something resembling a regular IRC client.
2016-01-15 05:12:03 +01:00
p
9333081178
degesch: option for fullscreen buffers
2016-01-15 05:09:42 +01:00
p
b7c9e8ca23
degesch: make backlog limit configurable
2016-01-15 05:09:42 +01:00
p
f39e2a4bc8
degesch: Lua: add autocomplete hooks
2016-01-15 02:39:10 +01:00
p
91f3bd60df
degesch: Lua: finish the last-fm plugin
2016-01-14 04:13:03 +01:00
p
56858a97dd
degesch: Lua: allow simulating user input
...
Also added UTF-8 validation to buffer:log() while I'm at it.
2016-01-14 03:34:29 +01:00
p
331d1842b9
Bump liberty, shuffle some code
2016-01-14 03:26:02 +01:00
p
19b09a8cec
degesch: add a last-fm "now playing" plugin
2016-01-09 10:27:01 +01:00
p
32f719dec7
degesch: Lua: pass hostname to on_connected
2016-01-09 06:19:54 +01:00
p
0b92e9210c
degesch: Lua: set sockets to nonblocking
2016-01-09 05:47:24 +01:00
p
092e9b5101
Bump liberty
2016-01-09 05:27:45 +01:00
p
faa0c989f8
degesch: Lua: actually allow filtering out input
2016-01-09 05:05:46 +01:00
p
53e72dd12d
degesch: Lua: provide a traceback on load error
2016-01-09 05:01:50 +01:00
p
83c14ba264
degesch: Lua: fix plugin configuration names
2016-01-09 05:01:50 +01:00
p
64143a5957
degesch: Lua: fix luaL_ref() usage
2016-01-09 05:01:50 +01:00
p
aca153f575
degesch: Lua: fix configuration loading
...
Not the cleanest solution but it has to do for now.
2016-01-09 05:01:50 +01:00
p
79f46752d4
degesch: make sure newlines are output correctly
2016-01-08 08:40:40 +01:00
p
2a180ee084
degesch: Lua: finish implementation of connection
2016-01-07 22:49:53 +01:00
p
6754c59890
degesch: Lua: avoid resource leak
...
If a connector's on_success callback fails, we need to destroy the connection.
2016-01-07 22:49:53 +01:00
p
376bbea249
Factor out socket_io_try_{read,write}()
...
To be reused in Lua connection API.
2016-01-07 22:49:53 +01:00
p
a5ac0d24b8
degesch: fix handling of input editor death
2016-01-07 22:49:53 +01:00
p
cabab5f351
Fix a memory leak in SOCKS connector
2016-01-07 22:49:49 +01:00
p
1d3910fd8e
degesch: fix switching of buffers by command
...
Readline used to erase the new buffer's contents.
Defer processing.
2016-01-07 22:49:49 +01:00
p
a259e96405
degesch: Lua: fix a resource leak
2016-01-06 00:23:54 +01:00
p
a7be2bf160
degesch: refactor Lua
...
And fix handling of nil returns from filter callbacks.
2016-01-05 23:19:28 +01:00
p
e1c7b8dcaf
degesch: Lua: halfplement a connector wrapper
...
You can't do anything reasonable with the socket now.
2016-01-05 22:12:22 +01:00
p
00a1bdc707
Fix build of tests
2016-01-05 21:51:07 +01:00
p
e9b39a1ef7
degesch: Lua: allow arbitrary userdata properties
2016-01-04 23:14:38 +01:00
p
a227060383
degesch: Lua: use references for hook callbacks
...
Don't associate the callback with the full userdata object,
we'll need this for something else.
2016-01-04 22:24:05 +01:00
p
4832a99461
degesch: add basic autocomplete for /topic
2016-01-04 22:06:29 +01:00
p
0092c34568
Cleanup
2016-01-04 01:15:42 +01:00
p
aeb047260f
Bump liberty, enable TLS SNI
...
Involves some rewrites to fit the new APIs.
SNI has been implemented Mostly just because we can, I don't think it's
widely in use and kike doesn't support this feature of the protocol either.
2016-01-04 01:12:42 +01:00
p
28fec6d4a6
ZyklonB: fix tls_ca_{path,file} config. options
2016-01-01 02:00:02 +01:00
p
1a73f1f1d7
degesch: fix a memory leak under libedit
2016-01-01 02:00:02 +01:00
p
312d0783cf
Bump version
2015-12-31 23:46:17 +01:00
p
8564297e2a
degesch: fix segfault on /quit under libedit
2015-12-31 23:42:43 +01:00
p
c015835d3a
Update README
2015-12-31 05:07:28 +01:00
p
1d14abd875
Cleanup
2015-12-31 05:07:28 +01:00
p
74bed4bc02
degesch: Alt-Tab switch to the last buffer
2015-12-31 05:07:28 +01:00
p
8f229f41e1
degesch: avoid fileno() after fork()
...
It's not guaranteed to be async-signal-safe, which may matter once
we start using threads. And it's also cleaner to just pass the FD.
2015-12-31 05:07:28 +01:00
p
b4d6decc06
degesch: typos
2015-12-31 03:57:09 +01:00
p
04f87b7587
degesch: enable configuration in Lua plugins
2015-12-28 04:08:45 +01:00
p
b7dd384048
degesch: little step towards localisation
...
We don't use LC_MESSAGES, though, so it doesn't really matter as of now.
liberty currently isn't prepared for non-ASCII errors or filenames,
and just silently expects everything to be in the same all-compatible
encoding. degesch further expects the encoding to be UTF-8.
All strings should ideally be converted to UTF-8 as soon as possible.
2015-12-25 21:36:56 +01:00
p
e101afab38
degesch: allow launching an editor for input
...
Useful for editing multiline text (such as making it single-line).
Some refactoring and cleanup.
2015-12-25 05:20:50 +01:00
p
37e9165548
degesch: better handling of terminal suspension
2015-12-25 05:03:02 +01:00
p
25bb7a978d
degesch: refactoring
2015-12-25 05:02:58 +01:00
p
7d531a9bbf
Bump liberty
2015-12-13 22:44:27 +01:00
p
1c009f394a
Bump liberty
2015-12-11 03:01:25 +01:00
p
649ea0baf7
Refactor config schema initialization
...
Now the configuration module seems to be fit for inclusion in liberty.
2015-12-11 02:27:29 +01:00
p
de942e40ac
Cleanup
2015-12-11 02:27:29 +01:00
p
5d3c2bea95
utm-filter.lua: filter out "gclid" as well
2015-12-10 21:48:04 +01:00
p
620418fa3b
degesch: add a test for configuration
2015-12-10 21:26:17 +01:00
p
28e4bc1399
degesch: add more tests, bump liberty
...
The UTF-8 common prefix test discovered a bug in UTF-8 parsing.
Made $[1-9] in aliases insert nothing if there's no argument at that index.
2015-12-10 20:04:26 +01:00
p
a0becea2fc
Update Travis CI and bump CMake
2015-12-09 21:07:01 +01:00
p
6a72c7382b
Fix Travis CI
2015-12-09 21:07:01 +01:00
p
86d7b7aed5
degesch: add a unit test for message wrapping algo
2015-12-09 21:07:01 +01:00
p
07201b7bdc
degesch: compactify word wrapping algorithm
2015-12-08 23:24:40 +01:00
p
2ae916fc1a
degesch: clarify text wrapping algorithm
2015-12-08 22:11:11 +01:00
p
2ba8908024
degesch: fix timer hook resource leak
2015-11-29 17:55:35 +01:00
p
4a287a724e
degesch: Lua: add a "server" property to buffers
2015-11-24 21:52:31 +01:00
p
87e1236b30
degesch: Lua: add a "buffer" property to servers
2015-11-24 21:42:08 +01:00
p
0044672b85
ping-timeout.lua: simplify
2015-11-24 20:45:51 +01:00
p
e921a619b0
degesch: readline fixups
...
When a new buffer was created automatically (channel was joined),
we didn't bother to erase the current line buffer.
2015-11-24 03:04:14 +01:00
p
25282cfe23
degesch: fix a segfault-inducing typo in hooks
2015-11-24 02:32:11 +01:00
p
8187bedcb6
degesch: add a URL cleaning Lua plugin
2015-11-24 02:26:07 +01:00
p
79140c3abc
degesch: make auto-away less spammy
2015-11-23 08:33:58 +01:00
p
4d11be0b85
degesch: implement auto-away
2015-11-22 23:12:18 +01:00
p
b746c014aa
Fix searching for Lua 5.3 on OpenBSD
2015-11-22 19:10:59 +01:00
p
f69edd6606
degesch: optimize prompt changes
...
We used to do lots of unnecessary redisplays.
2015-11-22 17:49:27 +01:00
p
385de6f4fe
degesch: better terminal suspension
...
Don't print date changes while something else is using the terminal.
2015-11-22 16:43:21 +01:00
p
0fdffa0e50
degesch: fix hook debug logs
...
Obviously we can receive back the same pointer with different contents.
I just didn't think of that.
2015-11-22 03:01:38 +01:00
p
36c59ff375
Enable TCP_NODELAY
2015-11-22 02:12:52 +01:00
p
71f3532e04
degesch: add the first Lua plugin to distribution
...
This required separate plugin directories for both pluginized executables.
2015-11-21 22:47:52 +01:00
p
d135728424
degesch: pop() the Lua error in timer dispatch
2015-11-21 21:29:56 +01:00
p
2185af0b7d
Update README
2015-11-21 21:23:59 +01:00
p
f22764ec56
degesch: update dependencies in README
2015-11-21 19:50:37 +01:00
p
02c7c6dcd6
degesch: export timers to Lua
2015-11-21 19:48:15 +01:00
p
364eb009ca
degesch: hook implementation cleanup
2015-11-21 19:00:56 +01:00
p
d4cbc576e2
degesch: typos, cleanups
2015-11-21 19:00:56 +01:00
p
9bb9c9868c
degesch: advertise Lua support
2015-11-21 14:09:34 +01:00
p
cd8e3d6d41
degesch: make Ctrl-L also fix window size
2015-11-21 14:09:34 +01:00
p
fa965a85e4
degesch: make /buffer with no arguments print list
2015-11-21 14:09:34 +01:00
p
59a4c356dd
degesch: export input and IRC hooks
2015-11-21 14:09:34 +01:00
p
c912726f49
degesch: add ability to hook IRC and user input
...
We're going to make this available to the Lua API soon.
2015-11-21 14:09:34 +01:00
p
fbfe0ba18a
degesch: add a stubbed Lua plugin loader
2015-11-21 14:09:33 +01:00
p
5ee210a5b7
degesch: stubplement plugins
2015-11-21 14:09:33 +01:00
p
5d55d7f6de
degesch: refcountify "struct {buffer,server}"
2015-11-19 19:11:35 +01:00
p
b952fc1f6d
degesch: extend weak pointers
2015-11-18 23:03:21 +01:00
p
89065e4d34
degesch: fix highlights
2015-11-17 00:06:48 +01:00
p
bc4b8ee19f
Update NEWS
2015-11-15 16:32:52 +01:00
p
281ef2e93e
degesch: split input text at newlines
...
This makes pasting multiline text possible again.
2015-11-15 15:56:33 +01:00
p
9b22d72fd1
Extend split_str() for multiple split chars
2015-11-15 15:56:10 +01:00
p
f11635ed7f
degesch: better SIGTSTP handling
2015-11-15 15:36:03 +01:00
p
a1e47ca4c9
degesch: cleanup
...
Unnecessary oneliner function.
2015-11-15 01:48:10 +01:00
p
6c7a2ce3c8
degesch: unseen PMs show up as highlights
...
I used to miss them.
2015-11-15 01:43:00 +01:00
p
153d8c55d9
degesch: don't spam with all unseen messages
...
On high-traffic channels, it has shown to take quite some time.
2015-11-15 01:32:49 +01:00
p
d14bc2df53
degesch: have just one input buffer
2015-11-15 01:23:32 +01:00
p
d8299a1231
degesch: enable and use bracketed paste mode
...
urxvt, xterm and maybe others support quoting text pasted by the user
from clipboard, which prevents leading tabs from changing into
highlights.
The handling isn't perfect so far, just wrong in a different way, as
we mishandle newlines.
2015-11-15 01:07:12 +01:00
p
465c2e4082
degesch: mv input_insert{_c,}()
2015-11-15 01:07:09 +01:00
p
2a97c01215
degesch: make the libedit backend work again
2015-11-15 01:07:05 +01:00
p
152ba0847d
Add a CMake target for clang-tidy
2015-11-13 09:22:48 +01:00
p
fe88e30bf5
degesch: fix beeping on "unimportant" PM events
...
Which in practice means stop beeping on quits in PM buffers.
2015-10-30 23:49:43 +01:00
p
a8a852d4b3
degesch: fix reconnect delays
2015-10-28 03:46:41 +01:00
p
e41f503202
degesch: add an /oper command
...
Mostly just because bitlbee suggested it to me and it didn't work.
2015-10-01 21:39:47 +02:00
p
762aaffecf
degesch: make text attributes toggle formatting
...
Instead of just setting it on.
Fixes bitlbee.
2015-10-01 21:06:34 +02:00
p
99ac971b66
Little fixes to the README
...
Finally learned how to use this asciidoc{,tor} thing.
2015-09-27 01:12:03 +02:00
p
e75e840346
Convert README to AsciiDoc
...
So that it looks nice on GitHub.
Neither Markdown nor RST worked for me.
2015-09-27 00:38:20 +02:00
p
3d59a94554
Fix build instructions in README
2015-09-27 00:19:42 +02:00