summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Take NICKs into account when reducing join/part linesHubert Hirtz2021-12-091-8/+12
| | | | | | | | | | | | | | | | So that 1/ redundant events are removed even if people change nick in the mean time and 2/ events that are actually not redundant are not removed, e.g. +val val->jw +dan dan->val -val should be reduced to +val val->jw instead of val->jw +dan dan->val
* Remove old initHubert Hirtz2021-12-071-5/+0
| | | | Used back when senpai showed a random message at startup
* Implement /kick and /[un]ban commandsAlexey Yerin2021-12-073-0/+93
|
* Allow selecting buffers with Alt+{1..9}Leon Henrik Plickat2021-12-062-0/+5
|
* Bump history batch limitsHubert Hirtz2021-12-061-5/+5
| | | | | | Initial history request: 200 -> 500 Infinite scroll request: 100 -> 200 Reconnect request: 200 -> 1000
* Do not mark the buffer as unread on MODEHubert Hirtz2021-12-061-1/+1
|
* Merge redundant eventsHubert Hirtz2021-12-063-18/+112
|
* Don't double-enable capsSimon Ser2021-12-061-2/+4
| | | | | | | | | | | | | Some servers might adjust their sasl cap at runtime, e.g. CAP NEW sasl=PLAIN,EXTERNAL […] CAP NEW sasl=PLAIN In this case, we don't really want to `CAP REQ sasl` again, because this will make us re-authenticate a second time. Avoid requesting caps which have already been ACKed.
* Use second precision for bound computationHubert Hirtz2021-11-291-8/+10
| | | | | Should solve duplicates on servers that don't store message stamps with the full millisecond precision offered by the time tag (e.g. soju)
* Fetch history for queriesHubert Hirtz2021-11-292-2/+7
|
* Use RPL_SASLSUCCESS to end registrationSimon Ser2021-11-291-2/+1
| | | | See https://github.com/ircv3/ircv3-specifications/pull/476
* config: remove debugging fmt.PrintlnAlexey Yerin2021-11-291-1/+0
|
* README: fix syntax of debug option for scfgAlexey Yerin2021-11-291-1/+1
|
* senpai.5: fix color code in exampleAlexey Yerin2021-11-291-1/+1
| | | | | 3 is yellow, not green. The person who wrote this should really fix their color scheme.
* senpai.5: remove mention of no-tlsAlexey Yerin2021-11-291-2/+2
| | | | This option no longer exists
* Finish registration when not using SASLmooff2021-11-251-0/+4
| | | | | We wait until after AUTHENTICATE to send CAP END like a good client, but it needs to be sent when SASL isn't used, too.
* Merge MODE messagesdelthas2021-11-242-4/+6
| | | | | Also, fix an issue where mode strings only displayed the first parameter.
* Add support for draft/event-playbackdelthas2021-11-244-104/+229
| | | | | | | | | | - Refactor formatting lines into a function - Store event times in the event - Refactor merging lines into a function - Always merge lines from the history, now that we will add mergeable lines with CHATHISTORY Successfully tested locally.
* Show the current channel topic at the top of the timelinedelthas2021-11-243-14/+44
|
* Only use first line of `password-cmd` outputAlex McGrath2021-11-242-3/+6
|
* Tidy thingsHubert Hirtz2021-11-232-29/+22
|
* config: replace YAML with scfg config formatKalyan Sriram2021-11-239-151/+358
| | | | | | | | | | | | | | | | This patch replaces the YAML configuration format with scfg (https://git.sr.ht/~emersion/scfg). Additionally, a few things about configuration are cleaned up: * abbreviated names are expanded (addr -> address, nick -> nickname) * negative bools switched to positive (no-tls -> tls) * independent column widths are grouped under the "pane-width" directive * implementation of default configuration values is improved * password-cmd is executed directly (with scfg field parsing) instead of with "sh -c". * on-highlight is now a file, $XDG_CONFIG_HOME/senpai/highlight by default, which can be changed with the on-highlight-path directive
* Add support for CHATHISTORY TARGETSdelthas2021-11-195-36/+137
|
* Also write the last buffer on SIGTERM, SIGINT and SIGHUPDuc Nguyen2021-11-191-8/+20
|
* Fix link value, removing debug query stringdelthas2021-11-191-1/+1
|
* Fix crash when lone slash is enteredPranjal Kole2021-11-191-1/+1
| | | | See ticket #79 for more information
* Handle tcell error events by closingdelthas2021-11-181-2/+8
| | | | | This is namely useful when the terminal is closing: these events are sent, and we should close when that happens (instead of panicking).
* OK GitHub: update README.MDHubert Hirtz2021-11-181-9/+16
|
* Add support for the /QUERY commanddelthas2021-11-161-0/+20
| | | | This lets open a buffer to a user without sending a message.
* Add support for user buffersdelthas2021-11-163-22/+44
|
* Fix part-ing a channel with duplicate name in other networksdelthas2021-11-163-15/+13
| | | | | If there are multiple channels with the same name in several networks, we should part from the one from the correct network.
* Authenticate on CAP NEW saslHubert Hirtz2021-11-161-33/+36
|
* Also retrieve username on registrationHubert Hirtz2021-11-161-9/+10
|
* Eagerly request capabilitiesHubert Hirtz2021-11-161-45/+6
| | | | It simplifies the code and make registration use one less roundtrip
* Allow App.Close() and App.Run() to be run concurrentlyHubert Hirtz2021-11-164-17/+43
|
* Don't merge message bounds from multiple networksHubert Hirtz2021-11-071-9/+14
| | | | Otherwise it breaks infinite scrolling.
* Take mode changes into accountHubert Hirtz2021-11-062-2/+98
|
* Revert "Show the current channel topic at the top of the timeline"Hubert Hirtz2021-11-053-42/+12
| | | | | This reverts commit 96340f8c4d91f59f6e39767891f9bb52d7fad329 because of a bug in timeline rendering.
* Show the current channel topic at the top of the timelinedelthas2021-11-043-12/+42
|
* Remove IRC formatting before printing the topicHubert Hirtz2021-11-031-1/+3
| | | | | I prefer this over printing the IRC formatted string, since the topic should be printed in gray.
* Fix requried go versiondelthas2021-11-031-1/+1
| | | | We use os.WriteFile which is >=go1.16
* Ensure BATCH's first arg is not emptyHubert Hirtz2021-11-021-1/+4
|
* Mark hyperlinks with the OSC hyperlink terminal escapedelthas2021-10-314-3/+88
| | | | | | This makes multi-line links properly clickable. See: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
* /mode: default channel to the current channeldelthas2021-10-311-2/+7
|
* Don't show notifications when receiving a message from selfdelthas2021-10-311-12/+12
|
* Print the topic after the first batch of historyHubert Hirtz2021-10-311-1/+1
| | | | | The topic is the first line we put in a buffer, so we have to place the first batch of history *before* the topic, instead of after.
* Fix requesting CHATHISTORY of empty channelsdelthas2021-10-311-1/+8
| | | | | | | | | | | | | | Channels which have never received any message return no messages on the initial chathistory, thus returning an empty bound with first == last == time.Time{}. However this empty bound was stored in the channel bounds, and was used as starting point for fetching history if Page Up was pressed. This in turn caused senpai to send a CHATHISTORY BEFORE 01-01-0001 message, which is invalid. This fixes the issue by not storing an empty bound if the CHATHISTORY request does not return any message.
* Make vertical channel list scrollabledelthas2021-10-313-14/+40
| | | | Seems like I really have too many channels... :)
* Rework the /help commandHubert Hirtz2021-10-271-37/+43
| | | | | - Normalize usage display - Sort commands alphabetically
* Show the full command name on user errorHubert Hirtz2021-10-271-2/+2
|