senpai v0.1.0 This is the first senpai release. Alex McGrath (1): Only use first line of `password-cmd` output Alexey Yerin (28): editor: add ^W delete word binding senpai.5: document no-tls and debug config options cmd/test: load useTLS from the config senpai.5: fix typo Add BUFFER command to jump to the matching buffer editor: Ctrl+{Right,Left} moves cursor by words Make sure app.s is not nil when issuing quit Make mouse support optional Use path.Join to construct config file path Use environment variables for on-highlight ui/editor: add boundary checks for word actions commands: ignore empty input Add /mode command Disallow sending messages to home commands: use Home constant instead of "home" Moving to libera.chat doc/senpai.5: update docs for addr field commands: do not handle s == "" commands: use rawArgs on non-command Add colors.prompt option to set prompt color doc/senpai.5: mention the issue with \ disappearing ui: don't mark // in input as a command ui: fix editor tests senpai.5: remove mention of no-tls senpai.5: fix color code in example README: fix syntax of debug option for scfg config: remove debugging fmt.Println Implement /kick and /[un]ban commands Duc Nguyen (3): Restore last buffer on start add compiled doc to gitignore Also write the last buffer on SIGTERM, SIGINT and SIGHUP Galen Abell (3): Add PHONY Makefile targets Fix default highlight command path not being used Show error when searching if unsupported Hubert Hirtz (260): Initial commit Part Join Typing typing=done Nick colors Show JOIN and PARTs Also show QUITs Fix timezone with server-time Show underline messages Fix color codes Buffers are now shown (mostly) correctly Unknown sub-command ./cmd/irc Split lines between words wip Make renderedHeight correct Fix word wrapping for 1-wide characters Add test for 0-width chars Don't scroll past buffer content draft/chathistory support??? Fix colors? Handle \x0F Add /msg command Fix readme headers, add the ISC license Add the issue tracker and the mailing list to the README Display typing indicators Split event handling into functions Add constants for IRC replies Yay go syntax Simplify color() Display queries in "home" buffer Make message handlers able to return more than one event Randomize welcome messages Add /quote command Handle self-NICK Show messages from self when echo-message is disabled Show incoming NOTICEs Improve line editing Rework display Show channels as bold on unread messages Show nick highlights Add a head for status lines Accept a -config command-line argument Configurable highlights Tidying Also handle numpad's enter key editor: fix off-by-one error editor: handle HOME and END keys editor: handle DEL key Show line on the left of typing indicators Don't request history of the home buffer Add a -debug flag and show raw messages Add missing color termination character Use a custom runewidth.Condition Fix colors not being reset with \x03 Show NICK changes Support reverse character code Actually the rune width issue is from alacritty editor: Handle UP and DOWN keys Remove UserEvent and ChannelEvent Fill events with original channel case irc: Simplify debug logging of incoming messages irc: Use typing constants irc: Use better names for casefolded variables irc: go syntax i guess irc: Delete ConnectionState and use a bool instead ui: Reverse color of the nickname on highlight ui: Show /me from self when echo-message is off Add a /topic command Fix +typing=active being sent incorrectly ui: Configurable nick column width Handle RPL_TOPICWHOTIME irc: Use a bool instead of an error for validation irc: Also update casefolded nickname on ERR_ERRONEOUSNICKNAME irc: Handle CAP NEW/DEL/NAK before registration Add /names command irc: Send NAMES when multi-prefix is negociated ui: Fix scroll when lines are added irc: Update TopicWho and TopicTime on TOPIC Add screenshot to README.md ui: Fix crash in the word wrapping function editor: Don't add another line if the last one is empty irc: Fix RPL_TOPICWHOTIME handling Add /R command ui: Show self /msg and /r even if echo-message is off Properly close everything in case of error ui: Don't panic when the connection fails ui: Show the nick when senpai registers with a different one ui: Show unhandled messages in debug mode ui: Autocompletion of nicknames Fix highlight not following new nick on registration ui: Notify on highlight (or execute any command) irc: Don't panic on a NICK from an unknown user git add doc Mention the man pages in README.md ui: Strip formatting codes in notifications Change %c to %b and add %h ui: Show an error if on-highlight fails doc: Update example with sway focus or something ui: 1-cell padding for highlight nicks editor: Fix panic when pressing delete on empty input Fetch history on join ui: Fix color codes ui: Blacklist dark colors for nicks doc: Fix typos, improve wording somewhat Don't send @+typing=done in the home buffer Fix same messages being fetched with CHATHISTORY Fix /topic only accepting one word Fix topic time timezone Only fetch history on JOIN and PgUp Fix multiple SelfJoinEvent being sent Improve query display Drop username and hostname from TopicWho Allow /part with a reason General refactor yay Update tcell and support italics Move ui.Home and ui.homeMessages up irc: Reset typing ratelimiter after sent message Typing indicator timeout Fix crash when completing nicks with special chars Update screenshot URL Update tcell to v2 and Display strike-through text Fix duplicate timestamps Ensure timestamps from msg.TimeOrNow() are always UTC Show topic changes Handle KICK messages Allow moving the timeline to the right Collapse bufferlist in one block Vertical channel list Configurable channel list width Update manpages to account for latest changes Scroll wheel support Support for mouse clicks on channel names Handle Alt-Home and Alt-End Fix click colors on highlighted channel Fix prompt not being updated on click Document functions in app.go Don't autocomplete on empty word /topic completion Move editor view when completing text Add completion for /msg Basic display of errors Consider the CHANTYPES isupport token Consider the CASEMAPPING isupport token Only send the SelfJoinEvent when channel info is complete Document the IRC library Cleanly stop all coroutines on irc.Session.Stop Document irc/typing.go Polish the test client Don't forward outdated typing timeouts Make cmd/test usable Move configuration defaults to config.go Show command output on failure Show connection failure reason Chathistory: don't send invalid timestamps Fix random crash on startup Recognize beginning of commands Add the QUIT command Fix command argument parsing Add a no-tls option to config Better connection management Do not use dim styles on the buffer list Support cycling backward in auto-completions Fix segmentation fault when the server is down Don't show own typing notifications deps: update tcell and runewidth Split the "feature" map into specific attributes Split long messages before sending them Blacklist more colors Revert back to tcell 2.2.0 Add option to disable sending typing notifications Fix duplicate lines when scrolling up Better error reporting about configuration file Update documentation examples and add warning Print config error message on stderr Don't look for nor execute sh when on-highlight is empty go fmt Properly show cursor on two-width characters Update tcell to 2.3.1 Add port if missing (v2) and don't set keepalives Add /nick Fix races conditions Separate command handling from plain messages Explicitly support keys in JOIN messages Handle consecutive spaces on arg split Remove parenthesis around notices Fix ui tests Do not go into infinite loops on TLS mismatch Pick nick colors in terminal color scheme Also make dashes gray for command responses Fix senpai(5) formatting Update tcell Do not print empty rows Always update prompt Don't send typing=done when input is already empty Accept pull requests on Github Update copyright to include all contributors Remove outdated UI tests Fetch missed messages on reconnect Channel list is horizontal by default Don't show the member list by default Use messageBounds for infinite scroll CHATHISTORY requests Fix line wrapping not working on history Fix typos Random code improvements/tidying More lints Remove buffer arg in commands Remove needless allocations Fix typing indicators not being removed Show mode changes Fix horizontal channel bar drawing Sort typing indicators Remove IRC formatting when printing the topic Fix history not being loaded on channel re-JOIN Eager registration Revert "Eager registration" Simplify channel loop Don't forget to close outgoing chan on debug Only show buffer numbers when necessary Cleanup drawVerticalMemberList Fix ui.StyledStringBuilder Rework vertical lists Add an .editorconfig file doc: fix indentation and use _ instead of ` for keywords Don't display buffer numbers on empty command Cleanup unused caps Don't expect the server to send correct IRC messages Add support for the INVITE message Add an /invite command Don't panic when a command is sent when offline Make use of away-notify Simplify string building logic in app.go Sort channel staff before other members Remove draft file Support for soju.im/bouncer-networks doc: clarify some things status bar drawing: fix off-by-one error timeline drawing: fix off-by-one error Scroll up/down highlight by highlight Sync screen during resize Show the full command name on user error Rework the /help command Print the topic after the first batch of history Ensure BATCH's first arg is not empty Remove IRC formatting before printing the topic Revert "Show the current channel topic at the top of the timeline" Take mode changes into account Don't merge message bounds from multiple networks Allow App.Close() and App.Run() to be run concurrently Eagerly request capabilities Also retrieve username on registration Authenticate on CAP NEW sasl OK GitHub: update README.MD Tidy things Fetch history for queries Use second precision for bound computation Merge redundant events Do not mark the buffer as unread on MODE Bump history batch limits Remove old init Take NICKs into account when reducing join/part lines Hugo Machet (1): Rename ColorGrey to ColorGray for consistency Jeff Knapp (1): Fix segfault on /mode x Jonathan Halmen (1): docs: update Ctrl-C behaviour Kalyan Sriram (4): config: allow specifying an external password cmd config: replace YAML with scfg config format ui: buffers: sort buffer list ui: add commands completion Kirill Chibisov (1): Add a config option to beep on highlight Leon Henrik Plickat (1): Allow selecting buffers with Alt+{1..9} Marten Ringwelski (2): docs: Fix typo Add Makefile Nomeji (3): update man to reflect changes on pane-widths behaviour make install an independant task in Makefile Scroll to the channel when changing the horizontal channel Pranjal Kole (1): Fix crash when lone slash is entered Samuel Hernandez (1): irc: Fix requestHistory by making it use UTC Simon Ser (9): readme: fix example config Use os.UserConfigDir Use nick/realname from config Default user/real to nickname if unspecified mv cmd/irc cmd/senpai Add senpai to .gitignore Use RPL_SASLSUCCESS to end registration Don't double-enable caps ui: use reverse colors for current buffer instead of underline Tim Culverhouse (1): Add a config option for unread buffer text color delthas (76): Fix backspace support on some terminals Ignore case when searching for a /BUFFER Sort channel members by name Ratelimit +typing and send +typing=done once only Clear the input on CTRL+C instead of quitting Switch to the buffer of a new user-requested channel join Automatically join channels on start Add notify types for fine-grained control of unread/highlight state Print the channel topic on join ui: Introduce a vertical member list on channels Make buffers indexed, and refer to indexes with /BUFFER Fix crash on disconnect Enable scrolling through the vertical member list with the mouse wheel Introduce backsearch message support with ctrl+R Make vertical channel list scrollable Fix requesting CHATHISTORY of empty channels Don't show notifications when receiving a message from self /mode: default channel to the current channel Mark hyperlinks with the OSC hyperlink terminal escape Fix requried go version Show the current channel topic at the top of the timeline Fix part-ing a channel with duplicate name in other networks Add support for user buffers Add support for the /QUERY command Handle tcell error events by closing Fix link value, removing debug query string Add support for CHATHISTORY TARGETS Show the current channel topic at the top of the timeline Add support for draft/event-playback Merge MODE messages MONITOR user with whom we have an open buffer Add support for the soju.im/read capability and READ command Fix event collapsing /query: support optionally sending a message /query: only send MONITOR, ... if the buffer is new Make CTRL+C alternatively clear the input and set '/quit' in it Enable clicking on channel members to open a query with them Add support for the ALL_PROXY, NO_PROXY environment variables Optimize URL parsing performance Use delthas/tcell fork Drain the events channel when closing Add HTTPS schema by default to hyperlinks Add a 15s keepalive to connections Implement SEARCH Only send READ for messages received from a channel Batch events by time period rather than by fixed size Optimize URL regex Fix home buffer tooltip Delete word on Alt+Backspace Show/hide the channel & member list with F7/F8 Scroll horizontal channel list with the mouse wheel Enable clicking on a horizontal buffer to switch to it Update mailing list Defer parsing URLs until a buffer is opened at least once Fetch the chat history of the last opened buffer first Send SASL PLAIN authentication on connect Use time.Parse for parsing incoming server times Support +channel-context Enable specifying the size of disabled channel & member columns Fix horizontal channel list buffer underline position Fix horizontal channel buffer clicks on negative positions /mode: enable getting the channel modes without parameters Fix crashing on removing last char of backsearch pattern Reset history when flushing lines Implement /whois Update soju.im/read to draft/read-marker Fix dropping words in /msg, /query, /part Fix crashing when shrinking the text to a zero width Add pane-widths { text } to limit the max line width Add support for hex colors Hide automatic away replies Document selecting with shift Add support for soju.im/bouncer-networks-notify Color nicks in the member list the same as in the timeline Update maintainer Add a project description mooff (1): Finish registration when not using SASL ptrcnull (1): Handle IRC read events correctly