summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update mailing listdelthas2022-04-201-1/+1
|
* Enable clicking on a horizontal buffer to switch to itdelthas2022-04-203-0/+33
| | | | | | | This is inspired by a patch from mooff. This keeps the same click & drag behavior as for the vertical channel list.
* Scroll horizontal channel list with the mouse wheeldelthas2022-04-203-7/+26
| | | | | | This is inspired by a patch by mooff. The horizontal channel list can now be scrolled with the mouse wheel.
* Show/hide the channel & member list with F7/F8delthas2022-04-204-60/+123
| | | | | | | This patch is inspired and modified from a patch by mooff. Also this switches the default configuration to *display* the channel & member list by default.
* Delete word on Alt+Backspacedelthas2022-04-151-1/+6
| | | | This is a standard shortcut.
* Fix home buffer tooltipdelthas2022-04-152-3/+3
| | | | | Private messages are now sent to their own buffer, rather than in the home buffer.
* Optimize URL regexdelthas2022-04-151-1/+1
| | | | | | | | | | Following a quick local profiling & benchmark, matching links with regexes is by far (>50x) the most time-consuming processing we do, especially on start. Switching to a URL regex with any scheme is faster by a factor of ~x8, probably because there are many less "or" cases between a list of 100+ schemes, instead using a simple character class.
* Batch events by time period rather than by fixed sizedelthas2022-04-151-19/+27
| | | | | | | | | | Previously, we would render every 64 events (at most). Now that we have many more events, with history & read, batch events by period rather than static size. Waiting up to 200ms before refreshing is a good compromise between responsiveness and performance.
* Only send READ for messages received from a channeldelthas2022-04-152-4/+20
| | | | i.e. don't enter an infinite loop when printing disconnection errors :-)
* Implement SEARCHdelthas2022-04-128-39/+167
| | | | | | Also refactor ui/ to support overlays, temporary anonmyous buffers. See: https://github.com/emersion/soju/pull/39
* Add a 15s keepalive to connectionsdelthas2022-04-081-0/+5
| | | | | My DSL line is awful atm, I'd like to know ASAP when I'm disconnected so that I don't write paragraphs into the void.
* Add HTTPS schema by default to hyperlinksdelthas2022-03-291-0/+4
|
* Drain the events channel when closingdelthas2022-02-261-0/+5
| | | | | This avoids rare cases where we try to send messages to the event channel, but it is full and blocks the Close routine.
* Use delthas/tcell forkdelthas2022-02-232-10/+11
| | | | | This adds support for OSC 8 hyperlink on some VTE-based terminal emulators.
* Optimize URL parsing performancedelthas2022-02-181-0/+5
| | | | | | | | | According to a CPU profiling I meade, the regex applied on each incoming message took a substantial part of the CPU time. The slowdown it caused was noticable at startup. This optimizes the URL parsing by eliminating fast-path cases where no dot appears to avoid parsing the line with a regex in those cases.
* Add support for the ALL_PROXY, NO_PROXY environment variablesdelthas2022-02-183-5/+15
| | | | | | | | | | | | This adds support for SOCKS5 proxy support through standard environement variables. To connect to the SOCKS5 proxy at host:port with credentials user:pass, run: export ALL_PROXY=socks5://user:pass@host:port Co-authored-by: the-y <the-y@riseup.net>
* Fix segfault on /mode xJeff Knapp2022-02-181-1/+10
| | | | | Return an error instead of segfaulting when handling /mode x where x is a string that starts without + - or #
* Enable clicking on channel members to open a query with themdelthas2022-02-132-8/+48
|
* Make CTRL+C alternatively clear the input and set '/quit' in itdelthas2022-02-133-0/+19
|
* /query: only send MONITOR, ... if the buffer is newdelthas2022-02-131-4/+6
|
* /query: support optionally sending a messagedelthas2022-02-111-27/+36
|
* Fix event collapsingdelthas2022-02-112-73/+93
|
* Add support for the soju.im/read capability and READ commanddelthas2022-02-116-0/+93
| | | | See: https://github.com/emersion/soju/blob/c7f0634ec8ee94425547b159bc36705582151012/doc/read.md
* Rename ColorGrey to ColorGray for consistencyHugo Machet2022-02-102-3/+3
|
* ui: add commands completionKalyan Sriram2022-02-102-0/+31
|
* ui: buffers: sort buffer listKalyan Sriram2022-02-101-24/+31
| | | | | Implements sorting of both network names and buffer names inside networks.
* MONITOR user with whom we have an open bufferdelthas2022-02-107-16/+145
|
* docs: update Ctrl-C behaviourJonathan Halmen2021-12-141-1/+1
| | | | | this behaviour was changed back in c078fbbb029fd248756ea5d7726f9ae6090a4ee3
* ui: use reverse colors for current buffer instead of underlineSimon Ser2021-12-121-5/+3
| | | | I personally find this esthetically more pleasing.
* 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
|