Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fetch missed messages on reconnect | Hubert Hirtz | 2021-09-01 | 1 | -0/+6 | |
| | | | | just one step closer to proper CHATHISTORY support!! :=D ^v^ | |||||
* | Print the channel topic on join | delthas | 2021-07-14 | 2 | -0/+2 | |
| | | | | Fixes: #45 | |||||
* | Switch to the buffer of a new user-requested channel join | delthas | 2021-07-13 | 2 | -22/+32 | |
| | ||||||
* | Ratelimit +typing and send +typing=done once only | delthas | 2021-07-13 | 2 | -5/+40 | |
| | | | | | Fixes: #8 Fixes: #41 | |||||
* | Sort channel members by name | delthas | 2021-07-12 | 2 | -0/+17 | |
| | | | | | | | This is used for nick autocomplete and for /NAMES. It will also be used for the vertical user list in the UI in a upcoming patch. | |||||
* | Explicitly support keys in JOIN messages | Hubert Hirtz | 2021-05-20 | 1 | -3/+6 | |
| | ||||||
* | Fix races conditions | Hubert Hirtz | 2021-05-20 | 5 | -576/+305 | |
| | | | | | | | | | | | | | | | | | | | | Refactor: - Split out reads/writes from irc.Session to irc.ChanInOut, - Message handling is now manual, messages must be passed to irc.Session.HandleMessage for its state to change, - Remove data-race-prone App.addLineNow (called from both the main eventLoop and irc loops) and add App.addStatusLine (to be called from the main event loop) and App.queueStatusLine (to be called from other goroutines). These two functions now write to both the current buffer and the home buffer, - add a irc.Typings.List function that locks the list of typings before accessing it. Changes as I went through the whole code... - CAP handling is fixed (especially CAP DEL and CAP ACK), - irc.Session now handles PREFIX, - unhandled messages are now shown, except for some rare cases where it's completely useless to show them. | |||||
* | Add /mode command | Alexey Yerin | 2021-05-18 | 1 | -0/+21 | |
| | ||||||
* | Add /nick | Hubert Hirtz | 2021-05-18 | 1 | -0/+15 | |
| | ||||||
* | Fix duplicate lines when scrolling up | Hubert Hirtz | 2021-04-27 | 1 | -0/+9 | |
| | ||||||
* | Split long messages before sending them | Hubert Hirtz | 2021-04-27 | 1 | -1/+44 | |
| | | | | | | | | avoids silent truncations. Also consider the LINELEN ISUPPORT token: - https://defs.ircdocs.horse/defs/isupport.html - http://rabbit.dereferenced.org/~nenolod/ircv3-harmony/id-wpitcock-ircv3-core.html#rfc.section.3.8.2.1.17 | |||||
* | Split the "feature" map into specific attributes | Hubert Hirtz | 2021-04-27 | 1 | -16/+23 | |
| | ||||||
* | Don't show own typing notifications | Hubert Hirtz | 2021-04-26 | 1 | -1/+1 | |
| | ||||||
* | Better connection management | Hubert Hirtz | 2021-03-04 | 1 | -8/+12 | |
| | | | | | | - Send keepalives - Reconnect when the connection is lost - Set timeout for write operations | |||||
* | Add the QUIT command | Hubert Hirtz | 2021-02-18 | 1 | -0/+14 | |
| | ||||||
* | Chathistory: don't send invalid timestamps | Hubert Hirtz | 2021-01-06 | 1 | -2/+2 | |
| | ||||||
* | Move configuration defaults to config.go | Hubert Hirtz | 2020-11-30 | 1 | -10/+0 | |
| | ||||||
* | Don't forward outdated typing timeouts | Hubert Hirtz | 2020-11-23 | 1 | -2/+10 | |
| | | | | | | The channel might have been parted, or the user might have parted from the channel before receiving the timeout from Typings, thus causing a segfault. | |||||
* | Document irc/typing.go | Hubert Hirtz | 2020-11-23 | 1 | -4/+11 | |
| | ||||||
* | Cleanly stop all coroutines on irc.Session.Stop | Hubert Hirtz | 2020-11-23 | 2 | -5/+19 | |
| | | | | | This fixes a panic when irc.Session.handle is called with an empty message. | |||||
* | Document the IRC library | Hubert Hirtz | 2020-11-21 | 2 | -27/+86 | |
| | ||||||
* | Only send the SelfJoinEvent when channel info is complete | Hubert Hirtz | 2020-11-20 | 1 | -1/+9 | |
| | ||||||
* | Consider the CASEMAPPING isupport token | Hubert Hirtz | 2020-11-19 | 2 | -2/+25 | |
| | | | | | | Using RFC1459 as a default since servers not advertising this token are likely to be pre-IRCv2, thus following the casemapping described in the RFCs. | |||||
* | Consider the CHANTYPES isupport token | Hubert Hirtz | 2020-11-19 | 1 | -1/+5 | |
| | ||||||
* | Basic display of errors | Hubert Hirtz | 2020-11-19 | 3 | -5/+64 | |
| | ||||||
* | Add completion for /msg | Hubert Hirtz | 2020-11-19 | 1 | -0/+8 | |
| | ||||||
* | Default user/real to nickname if unspecified | Simon Ser | 2020-11-06 | 1 | -0/+10 | |
| | | | | | While at it, error out if nick is unspecified instead of sending a broken command to the server. | |||||
* | irc: Fix requestHistory by making it use UTC | Samuel Hernandez | 2020-10-27 | 1 | -1/+1 | |
| | ||||||
* | Vertical channel list | Hubert Hirtz | 2020-10-26 | 1 | -0/+2 | |
| | ||||||
* | Handle KICK messages | Hubert Hirtz | 2020-10-19 | 2 | -2/+27 | |
| | ||||||
* | Show topic changes | Hubert Hirtz | 2020-10-19 | 2 | -0/+13 | |
| | | | | Closes #34 | |||||
* | Ensure timestamps from msg.TimeOrNow() are always UTC | Hubert Hirtz | 2020-10-19 | 1 | -1/+1 | |
| | ||||||
* | Typing indicator timeout | Hubert Hirtz | 2020-09-02 | 2 | -5/+93 | |
| | ||||||
* | irc: Reset typing ratelimiter after sent message | Hubert Hirtz | 2020-09-01 | 1 | -0/+2 | |
| | ||||||
* | General refactor yay | Hubert Hirtz | 2020-08-26 | 3 | -172/+211 | |
| | | | | | | | | | | | | - Centralize message formatting - Make line formatting more flexible - Provide more information in irc events - Refactor command handling - Add a /help command - Make /me reply to last query if from home - Enforce argument for /me - Make BufferList and Editor public - Batch processing of IRC events | |||||
* | Allow /part with a reason | Hubert Hirtz | 2020-08-24 | 1 | -3/+4 | |
| | ||||||
* | Drop username and hostname from TopicWho | Hubert Hirtz | 2020-08-24 | 1 | -1/+1 | |
| | ||||||
* | Improve query display | Hubert Hirtz | 2020-08-24 | 2 | -0/+2 | |
| | | | | | - Print outgoing messages as "-> target" instead of self nick - Don't highlight messages | |||||
* | Fix multiple SelfJoinEvent being sent | Hubert Hirtz | 2020-08-24 | 1 | -5/+1 | |
| | | | | | ... every time NAMES were requested. SelfJoinEvent should be ok being in the "JOIN" handler, since names are only useful for the user. | |||||
* | Fix /topic only accepting one word | Hubert Hirtz | 2020-08-22 | 1 | -1/+1 | |
| | ||||||
* | Fix same messages being fetched with CHATHISTORY | Hubert Hirtz | 2020-08-22 | 2 | -3/+1 | |
| | | | | | | | | | The issue was that Message.Time() converted the timestamp to Local time, and this local timestamp was being used with UTC timestamps. Thus senpai now converts the time only during display. Moreover, to avoid missing messages in history (and at the cost of duplicates), the condition in bufferList.AddLines() as been modified. | |||||
* | irc: Don't panic on a NICK from an unknown user | Hubert Hirtz | 2020-08-20 | 1 | -4/+5 | |
| | ||||||
* | ui: Show unhandled messages in debug mode | Hubert Hirtz | 2020-08-19 | 2 | -4/+7 | |
| | ||||||
* | ui: Show the nick when senpai registers with a different one | Hubert Hirtz | 2020-08-19 | 2 | -5/+2 | |
| | ||||||
* | ui: Don't panic when the connection fails | Hubert Hirtz | 2020-08-19 | 1 | -5/+5 | |
| | ||||||
* | Properly close everything in case of error | Hubert Hirtz | 2020-08-19 | 1 | -0/+6 | |
| | ||||||
* | irc: Fix RPL_TOPICWHOTIME handling | Hubert Hirtz | 2020-08-18 | 1 | -1/+1 | |
| | ||||||
* | irc: Update TopicWho and TopicTime on TOPIC | Hubert Hirtz | 2020-08-18 | 2 | -29/+17 | |
| | ||||||
* | irc: Send NAMES when multi-prefix is negociated | Hubert Hirtz | 2020-08-17 | 1 | -12/+21 | |
| | ||||||
* | Add /names command | Hubert Hirtz | 2020-08-17 | 2 | -42/+77 | |
| |