summary refs log tree commit diff
path: root/irc.c
AgeCommit message (Collapse)Author
2019-07-27Make copyright headers consistentCurtis McEnroe
2019-02-25Output raw to standard error if it is not a terminalCurtis McEnroe
2019-02-22Reorganize UI code for the umpteenth timeCurtis McEnroe
It's actually in a good state now, I think.
2019-01-25Use memmem in place of strnstrCurtis McEnroe
2018-12-14Treat EOF as expected if self.quitCurtis McEnroe
znc doesn't seem to respond to QUIT with ERROR like an IRCd would.
2018-12-14Factor out ircQuitCurtis McEnroe
2018-12-05Rename verbose to rawCurtis McEnroe
And change the format of the sticky tag names again.
2018-12-04Revert half-working reconnecting stuffCurtis McEnroe
2018-12-03Ignore ~ username prefixesCurtis McEnroe
This simplifies a lot.
2018-12-02Move host, port, pass, webp to selfCurtis McEnroe
2018-12-02Add -r option for realnameCurtis McEnroe
2018-12-02Send automated messages to TagStatus with UIColdCurtis McEnroe
2018-12-01Crudely handle reconnecting after suspendCurtis McEnroe
2018-11-30Separate ircConnect and ircDisconnectCurtis McEnroe
2018-09-16Revert "Race parallel connects"Curtis McEnroe
This reverts commit e3e2b36ecf6a1340f1dc2542233bafe0862447fa. Apparently racing *all* of the connections is not something you should do, and I can't be bothered with all the extra logic to do this "correctly" according to RFC 8305. Provide an API, you cowards. What I did want to do was give IPv6 any chance at all of being used, but I'm just going to leave that up to the order getaddrinfo returns. It's someone else's fault.
2018-09-16Race parallel connectsCurtis McEnroe
2018-09-15Call tls_error when tls_connect_socket failsCurtis McEnroe
2018-09-15Try successive getaddrinfo resultsCurtis McEnroe
2018-09-02Use PascalCase for constantsCurtis McEnroe
Begone underscores.
2018-08-17Add UI "heat" for status/messages/pingsCurtis McEnroe
Bring back the beeps! Allow pings from notices. Also factor out dequoting of part/quit messages.
2018-08-11Rework UI code for multi-channelCurtis McEnroe
Tags are now permanently assigned (and I'm betting on never needing more than 256 of them) and the UI maps tags to a linked list of views for easy reordering and removal. Currently, views can only be added. Views don't have a topic window until they need one. All UI code wants to be functional reactive. Beeping is temporarily removed until message priorities (status, message, ping) can be added to the UI. At that point spawning notify-send should also be possible. Priorities will also help with unnecessary markers, which will not appear for status messages. The tab system is now used to send QUIT and NICK messages to all the relevant tags. Verbose output now goes to its own tag, and sending to it sends raw IRC. IRC colors are now listed in chat.h and handler functions for numeric replies have real names. The color algorithm now uses a real hash function for hopefully better results. QUIT, PART and KICK messages are scanned for URLs.
2018-08-10Become multi-channelCurtis McEnroe
There's a lot of UI missing for it, but it technically works.
2018-08-09Add PASS optionCurtis McEnroe
WEBIRC is now -W.
2018-08-09Add URL detection, listing and openingCurtis McEnroe
Might also add /copy, like /open.
2018-08-07Hack clang into checking uiFmt format stringsCurtis McEnroe
2018-08-06Use wchar_t strings for all of UICurtis McEnroe
vaswprintf is a nightmare.
2018-08-04Rename client to ircCurtis McEnroe