summary refs log tree commit diff
Commit message (Collapse)AuthorAge
* Handle 437 ERR_UNAVAILRESOURCE like ERR_NICKNAMEINUSEJune McEnroe2020-12-05
| | | | | Not totally clear under what conditions 437 is returned, but if it happens during registration, we should pick a new nick.
* Split /exec lines by \r as well as \nJune McEnroe2020-11-24
| | | | | This fixes local rendering of /exec toilet --irc, which outputs \r\n line endings.
* Add topic diffing to notable features 1.3June McEnroe2020-11-11
|
* Use wmemcpy/wmemmoveJune McEnroe2020-11-08
|
* Remove static buffer from colorMentionsJune McEnroe2020-11-08
|
* Remove static buffer from capListJune McEnroe2020-11-08
|
* Highlight changed portion of topicJune McEnroe2020-11-08
| | | | "%.*ls" is useless.
* Avoid eating C-c while connectingJune McEnroe2020-10-12
| | | | | Split UI initialization into two steps either side of the call to connect, so that C-c works as interrupt while it's blocked.
* Clear wrapping point at alignment tabJune McEnroe2020-10-09
| | | | | This fixes odd wrapping when a nick contains a hyphen and there are no further wrapping points.
* Strip formatting from URLsJune McEnroe2020-10-09
| | | | | Notably this fixes opening URLs from litterbox queries where part of the URL is highlighted.
* Factor out styleStripJune McEnroe2020-10-09
|
* Double up /help for server helpJune McEnroe2020-10-02
| | | | | | While the automatic search via LESS is neat, I don't think it's very useful. Just always open the manual to the COMMANDS section, and fix it to append to LESS rather than replace it.
* Use WHO for /opsJune McEnroe2020-09-30
| | | | Accumulate names in a buffer and show away status.
* Add /ops commandJune McEnroe2020-09-30
| | | | | | It's pretty awkward with large channels since NAMES isn't sorted by prefixes or anything... But having it accumulate names across many replies would require more reworking.
* Allow 2-param form of /whois, count comma-separated nicksJune McEnroe2020-09-18
| | | | | I do not feel like documenting the 2-param form of /whois because it is weird, but it should work for those who already know about it.
* Switch back to checking for server by nick with '.'June McEnroe2020-09-18
| | | | | | | | | | This fixes a bug where if you send a private message before joining any channels, your message will be routed to the <network> window. That happens because without a JOIN, self.user remains unset, which means that require will copy self.nick (set by echoMessage) to self.host. The easiest solution is to go back to checking for '.' and add a '.' to the default nick, so now if a server sends a NOTICE with no origin it will look like -*.*- which is kinda cute.
* Copy style from wrapping pointJune McEnroe2020-09-11
| | | | | | This fixes a bug when wrapping on a word with style changes inside it, where the copied style would be different depending on the width of the terminal.
* Silence set-but-unused warning 1.2June McEnroe2020-09-09
| | | | getyx is so annoying this way.
* Include DEL in characters ncurses will print in ^A formJune McEnroe2020-09-08
|
* Add blank line to unread if there are already unreadJune McEnroe2020-09-07
| | | | | This fixes the inconsistent M-u behaviour when catgirl is restarting and reconnecting to pounce, for example.
* Call uiWrite to insert blank linesJune McEnroe2020-09-07
| | | | | It only used to use different code to avoid adding the blank line to the soft buffer.
* Let wrapped lines use the last columnJune McEnroe2020-09-07
|
* Handle non-alignment tabs in line wrappingJune McEnroe2020-09-06
|
* Add C-r, C-s for basic scrollback searchJune McEnroe2020-09-06
|
* Add M-n, M-p to jump to highlightsJune McEnroe2020-09-03
|
* Fix M-u behaviour difference before and after reflowJune McEnroe2020-09-03
|
* Recalculate unreadHard on reflowJune McEnroe2020-09-02
|
* Give blank lines timestampsJune McEnroe2020-09-02
| | | | Otherwise the zero timestamps totally break save data loading! Bad!
* Hide ignored messages at the soft -> hard buffer layerJune McEnroe2020-09-02
| | | | This restores normal scrolling behaviour.
* Don't call completeTouch for ignored messagesJune McEnroe2020-09-02
|
* Preserve style after alignmentJune McEnroe2020-09-02
| | | | This makes wrapping text with background colour look much better.
* Still add ignored lines to unreadHardJune McEnroe2020-09-02
| | | | | Scrolling is still affected by hidden lines (which I'm not sure yet is good or not), so for M-u to work it needs to count ignored lines.
* Actually insert blank lines in the soft bufferJune McEnroe2020-09-02
| | | | So they can be preserved forever!
* Reimplement split scrollingJune McEnroe2020-09-02
|
* Fix inserting blank lines BEFORE the new messageJune McEnroe2020-09-02
|
* Only call windowUpdate when the shown window needs updatingJune McEnroe2020-09-02
|
* Don't consider the alignment tab a wrapping pointJune McEnroe2020-09-02
|
* Call wclear on resizeJune McEnroe2020-09-02
| | | | | Otherwise artefects can appear when resizing to smaller width with wide characters at the right edge of the window.
* Fix line wrapping in various waysJune McEnroe2020-09-02
| | | | | | Never split a codepoint, don't set wrapping point unless we're not already wrapping, wrap on any unicode whitespace, only clear rest of line if still on the same line...
* Render one main window from buffersJune McEnroe2020-09-02
| | | | | | | | Still missing: split scrolling and preserving a blank on reflow either from resize or ignore toggling. Anecdata: on one of my instances of catgirl, RAM usage of the previous release was ~30M, RAM usage of this commit was ~12M.
* Implement buffer line wrappingJune McEnroe2020-09-01
| | | | Not yet rendered in the UI! Just done in parallel.
* Invert meaning of unreadHard/unreadSoft to match new buffer codeJune McEnroe2020-09-01
| | | | Not sure why I had named them this way. Hard means hard-wrapped.
* Factor buffer out of uiJune McEnroe2020-09-01
| | | | In preparation for doing line wrapping outside of ncurses.
* Move styleParse out of uiJune McEnroe2020-09-01
|
* Use a static buffer for base directory pathsJune McEnroe2020-08-21
|
* Document how cert/priv are searched forJune McEnroe2020-08-20
| | | | This has always been how it works, but it was previously undocumented.
* Use configPath to load TLS cert/privJune McEnroe2020-08-20
|
* Refactor base dir functions to iterate over pathsJune McEnroe2020-08-20
|
* Match mentions case-sensitivelyJune McEnroe2020-08-18
| | | | | | The mention coloring code already matches case-sensitively, and any proper ping should be using tab-complete anyway so there's no reason for differing case. And the month of June should not ping me.
* Preserve colon from previous tab-completeJune McEnroe2020-08-18
| | | | | This fixes the case when pinging multiple nicks and one of them needs to be cycled through.