summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* degesch: make "/help /command" workPřemysl Eric Janouch2021-06-162-4/+7
| | | | Works for aliases as well. Resolves a TODO entry.
* degesch: fix a GCC compiler warningPřemysl Eric Janouch2021-06-151-1/+1
|
* degesch: pick colours based on relative luminancePřemysl Eric Janouch2021-06-153-7/+38
| | | | | | | | | | 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.
* degesch: implement -=/+= for multiple valuesPřemysl Eric Janouch2021-06-142-41/+39
| | | | | | | 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.
* degesch: make /deop and /devoice default to selfPřemysl Eric Janouch2021-06-032-5/+13
| | | | It's pretty annoying to type `/mode -o <user>`, for little reason.
* censor.lua: strip colours, configurable formattingPřemysl Eric Janouch2021-06-032-2/+22
| | | | Colour parsing code taken from prime.lua, and modified to strip.
* degesch: make CHGHOST update our own userhost infoPřemysl Eric Janouch2021-05-301-1/+3
| | | | I've almost forgotten that we use this for message spliting.
* degesch: add support for IRCv3 chghostPřemysl Eric Janouch2021-05-302-1/+57
| | | | This is somewhat similar to a nick change.
* degesch: document the SASL EXTERNAL supportPřemysl Eric Janouch2021-05-291-0/+4
| | | | | | | 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.
* degesch: factor out irc_try_finish_cap_negotiation()Přemysl Eric Janouch2021-05-281-6/+13
| | | | Too much repeated, non-obvious code.
* degesch: add trivial SASL EXTERNAL supportPřemysl Eric Janouch2021-05-283-22/+61
| | | | Just set `tls_cert`, and add `sasl` to `capabilities`.
* degesch: support CAP DEL, request cap-notifyPřemysl Eric Janouch2021-05-282-6/+19
| | | | | It doesn't require much effort to cancel capabilities, plus with the newer version we get the respective notification anyway.
* degesch: don't CAP REQ when already registeredPřemysl Eric Janouch2021-05-281-1/+3
| | | | | The list may later be requested manually, which shouldn't have an unexpected side-effect.
* degesch: IRCv3.2 capability negotiationPřemysl Eric Janouch2021-05-282-23/+46
| | | | We can receive and display capability values now.
* degesch: add a /squery command for IRCnetPřemysl Eric Janouch2021-05-282-0/+22
|
* degesch: fix back-parsing outgoing CAP REQPřemysl Eric Janouch2021-05-281-3/+3
| | | | The bug has apparently been there since the beginning.
* degesch: reset away-notify on disconnectPřemysl Eric Janouch2021-05-281-0/+1
| | | | Forgotten to do it when adding the support for it.
* degesch: don't switch to channels while typingPřemysl Eric Janouch2021-04-102-4/+9
| | | | | We might just always set the highlighted bit on, it would be consistent with PMs.
* degesch: make a second SIGINT force-quitPřemysl Eric Janouch2020-11-011-10/+15
| | | | | | 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.
* Bump version, update NEWSv1.1.0Přemysl Eric Janouch2020-10-312-1/+10
|
* degesch: buffer creation cleanupPřemysl Eric Janouch2020-10-311-17/+24
|
* degesch: sanitize IRC nicknames/channel namesPřemysl Eric Janouch2020-10-311-4/+6
| | | | Don't trust the IRCd to have them in a subset of UTF-8.
* degesch: implement autocompletion for /setPřemysl Eric Janouch2020-10-311-28/+82
| | | | | | | 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.
* README.adoc: improve backlog helper invocationPřemysl Eric Janouch2020-10-311-1/+1
| | | | | | | | 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.
* kike: avoid crash with a wildcard addressPřemysl Eric Janouch2020-10-311-9/+20
| | | | | A most unfortunate 06d3b3b regression, mostly stemming from forgetting why the `break` was in place and not documenting it.
* README.adoc: minor documentation updatePřemysl Eric Janouch2020-10-311-4/+5
|
* degesch: mark some issues for later resolutionPřemysl Eric Janouch2020-10-311-0/+3
|
* fancy-prompt.lua: allow non-ASCII buffer namesPřemysl Eric Janouch2020-10-311-4/+5
| | | | | It may theoretically bite us in the ass with non-UTF-8-compliant IRC servers, and certainly with double-width characters.
* degesch: fix fancy-prompt.lua with libeditPřemysl Eric Janouch2020-10-311-0/+14
| | | | Partly by unifying the interface for prompt hooks to match GNU Readline.
* degesch: make PageUp actually scroll a page upPřemysl Eric Janouch2020-10-311-1/+1
| | | | | | | 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.
* Minor rebrandingPřemysl Eric Janouch2020-10-318-12/+12
| | | | | | There's nothing experimental about this project anymore. It's stable. Maybe we should add a photo of Hitler or something.
* CMakeLists.txt: clean up OpenBSD supportPřemysl Eric Janouch2020-10-291-3/+1
| | | | A few things might have changed.
* Bump version, update NEWSv1.0.0Přemysl Eric Janouch2020-10-292-1/+32
|
* Add real manual pagesPřemysl Eric Janouch2020-10-295-8/+294
| | | | To some extent they duplicate the README but from a different angle.
* degesch: fix Lua 5.3 buildPřemysl Eric Janouch2020-10-291-1/+1
| | | | Regression from the last release.
* kike: ensure NULL binds to both IPv4 and IPv6Přemysl Eric Janouch2020-10-291-2/+9
|
* kike: document the "operators" setting usefullyPřemysl Eric Janouch2020-10-281-1/+1
| | | | Now our user just needs to be able to guess that it's a hex string.
* ZyklonB: don't look for plugins in /usr/libPřemysl Eric Janouch2020-10-282-2/+0
| | | | It's quite unlikely that this project will ever see compiled plugins.
* ZyklonB: use XDG paths by defaultPřemysl Eric Janouch2020-10-283-12/+33
| | | | | | | | | | | | 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.
* README.adoc: fix GPL noticePřemysl Eric Janouch2020-10-281-2/+2
|
* CMakeLists.txt: omit end{if,foreach} expressionsPřemysl Eric Janouch2020-10-281-20/+20
| | | | Their usefulness was almost negative.
* CMakeLists.txt: clean up and fix build rulesPřemysl Eric Janouch2020-10-281-34/+18
| | | | The multiple-output custom command ran separately for each binary.
* Bump minimum CMake version to 3.0Přemysl Eric Janouch2020-10-271-3/+3
| | | | A nice, round number.
* Bump copyright yearsPřemysl Eric Janouch2020-10-271-1/+1
|
* Bump libertyPřemysl Eric Janouch2020-10-241-0/+0
| | | | Testing in production is discouraged.
* Bump liberty, test UTF-8 sanitizationPřemysl Eric Janouch2020-10-212-6/+14
|
* degesch: add a hidden LOMEM compile optionPřemysl Eric Janouch2020-10-201-1/+21
|
* Improve OpenSSL integrationPřemysl Eric Janouch2020-10-204-15/+37
| | | | | | | | | 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.
* degesch: comment about improving word wrapperPřemysl Eric Janouch2020-10-191-0/+8
|
* degesch: slightly cut down memory usagePřemysl Eric Janouch2020-10-191-16/+25
| | | | | | | | | | | | | | | | | | | 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.