Přemysl Eric Janouch
da5dd4eb91
degesch: make /ban and /unban respect EXTBAN
2021-06-17 12:21:48 +02:00
Přemysl Eric Janouch
10cb6651c0
degesch: expand/analyze a few TODO comments
2021-06-16 22:10:25 +02:00
Přemysl Eric Janouch
7f28dcd1ef
degesch: make "/help /command" work
...
Works for aliases as well. Resolves a TODO entry.
2021-06-16 21:57:47 +02:00
Přemysl Eric Janouch
61c52d793c
degesch: fix a GCC compiler warning
2021-06-15 07:11:35 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
c1d69e3630
degesch: add support for IRCv3 chghost
...
This is somewhat similar to a nick change.
2021-05-30 08:06:38 +02:00
Přemysl Eric Janouch
ddffc71abe
degesch: factor out irc_try_finish_cap_negotiation()
...
Too much repeated, non-obvious code.
2021-05-28 04:59:21 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
17f430043a
degesch: IRCv3.2 capability negotiation
...
We can receive and display capability values now.
2021-05-28 04:59:20 +02:00
Přemysl Eric Janouch
735096d76d
degesch: add a /squery command for IRCnet
2021-05-28 04:06:27 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
8f5dec0456
degesch: buffer creation cleanup
2020-10-31 23:44:18 +01:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
b4ed52015a
degesch: mark some issues for later resolution
2020-10-31 16:06:12 +01:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
cbe4009308
degesch: fix Lua 5.3 build
...
Regression from the last release.
2020-10-29 02:44:40 +01:00
Přemysl Eric Janouch
e58ce1f02e
Bump liberty, test UTF-8 sanitization
2020-10-21 05:44:27 +02:00
Přemysl Eric Janouch
98e95de90e
degesch: add a hidden LOMEM compile option
2020-10-20 02:02:09 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
13c85aa361
degesch: comment about improving word wrapper
2020-10-19 23:37:19 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
c89032e4e0
degesch: silence the compiler
2020-10-19 05:17:41 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
323a372389
degesch: update an outdated comment
2020-10-16 23:29:05 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
e1a4fab40d
degesch: don't eat NAMES for unknown channels
2020-10-16 17:59:51 +02:00
Přemysl Eric Janouch
1ff80ddd10
degesch: stubplement TAGMSG
2020-10-16 17:59:50 +02:00
Přemysl Eric Janouch
12c8ace6a1
degesch: clarify handling of unexpected JOINs
...
I got confused about safety.
2020-10-16 17:59:50 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
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řemysl Eric Janouch
73c3ca3633
Bump liberty
2020-10-12 23:00:43 +02:00
Přemysl Eric Janouch
6837fdb7c4
Bump liberty
...
We've moved most of our configuration test in there.
2020-10-12 04:08:09 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
f9ef123171
degesch: support more colours
2020-10-11 17:49:31 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
59ac02d91f
Bump liberty
...
resolve_relative_runtime_unique_filename() used to have a bug.
2020-10-10 04:37:08 +02:00
Přemysl Eric Janouch
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řemysl Eric Janouch
03e8ad0a3e
degesch: enable wrapping in the backlog by default
...
The main issue has been eliminated.
2020-10-04 12:17:09 +02:00