Osa1 Tiny Versions Save

A terminal IRC client

0.4.0

4 years ago
  • /switch command added to quickly switch to a different tab using a substring of the tab name.
  • Del key is now handled. It deletes character under the cursor.
  • Some tweaks and a bug fix (#45) in tab bar rendering. Selected tab is now stays visible in the tab bar after resizing.
  • Connection closure on remote side when TLS is enabled is now handled (#48).
  • alt-char bindings implemented to switching between tabs.
  • Fixed some bugs in join command used in auto_cmds (#49, #38).
  • Tabs can now be moved left/right with alt-left/right keys (#52).
  • Input field cursor location now preserved after resize.
  • TOPIC messages are now handled (#58).
  • RPL_AWAY is now handled (#55). Away message is shown in user tab.
  • /ignore command added to ignore join/quit messages in channels.
  • New server config field pass added for connecting to password-protected servers (e.g. znc).
  • Fixed a bug that caused tiny to fail to connect via TLS on some systems (#64).
  • Fixed some bugs that caused incorrect tab bar rendering in some cases (#76).
  • tiny no longer creates ~/logs directory. This directory was used for debug logs in the past (#82).
  • NOTICE messages (used by services like NickServ, MemoServ, Global etc.) are now shown in server tabs unless there's already a tab for the sender (#21).
  • New command line argument --config added for specifying config file location (#81).
  • tiny can now show desktop notifications for incoming messages. See README for notification options. Defaults: show notifications for mentions in channels and all private messages.
  • Added SASL authentication support. See the configuration section in README for how to enable it.

0.4.3

4 years ago
  • tiny now supports pasting multi-line strings. It runs $EDITOR to let you edit the paste before sending. After closing the editor the final contents of the file (excluding comment lines) are sent. Note: we currently don't support commands in paste mode, so none of the lines can start with /.

  • Ney key binding C-x implemented for editing current message in $EDITOR.

  • Fixed a bug when pasing a string starting with a newline (#86).

  • auto_cmds config field is gone and nick change and identification handling is updated.

    A major pain point for me has been the handling of nick changes when the server doesn't support SASL (sigh). We now solve this problem by simplifying (removing!) auto_cmds field and refactoring nick change logic:

    • We now only consider the nick as changed if we hear a NICK response from the server. This way we no longer have to revert a nick change when the request fails or is rejected.

    • Config file format changed: auto_cmds is gone, two new fields are added: join (a list of channels) and nickserv_ident (nickserv password to send on connecting and nick change). Note that join is technically old, but it just wasn't advertised as a config file field.

    This breaks backwards compatibility, but simplifies the code and nick changes and identification are now handled better.

0.4.4

4 years ago
  • A bug when using an invalid nick in /msg command fixed (#111).
  • Bumped native-tls dependency -- fixes build for newer OpenSSLs (#114).
  • A bug when sending multi-line text (via C-x or pasting) fixed (#113).
  • Update to C-x (paste mode): empty lines are now sent as a space (" "). Useful when e.g. sending long text with multiple paragraphs (#112).
  • Fixed deprecation warnings for nightly.

0.4.5

4 years ago
  • IRC color codes and ASCII control chars are now removed from desktop notifications to avoid weird notification rendering and glitches.
  • Fixed a bug that caused panics when running tiny with spotty connections (lots of disconnects) (#119).
  • Fix build with Rust nightly (#133), fix new warnings.

0.5.0

4 years ago

Starting with this release tiny is no longer distributed on crates.io. Please get it from the git repo at https://github.com/osa1/tiny.

  • With the exception of TUI most of tiny is rewritten for this release. See #138 for the details. The TLDR is that the code should now be easier to hack on.
  • tiny now properly logs all messaging to the log_dir specified in tinyrc. (#100, #56, #132)
  • Address name resolving step no longer blocks the UI, and is interruptible (e.g. by issuing a /connect command, or by closing the tab/client) (#3).
  • Fixed glitches in the TUI when rendering non-visible (0-column) or wide (shown in multiple terminal columns) unicode characters (#115).

v0.5.1

4 years ago
  • When a domain name resolves to multiple IP addresses tiny now tries connecting to the rest of the addresses when one fails (#144).
  • Fixed a bug introduced in 0.5.0 where the client did not update its internal state after changing nick, causing TUI and client state disagreeing on what the current nick is (#149, introduced with #138).
  • tiny no longer needs a 'hostname' field in servers in the config file (#150).
  • Version requests are now shown in the server tab if a tab for the requester does not exist (#145).
  • Fixed a bug where we forgot to reset "nick accepted" state on disconnect, causing incorrect nick selection when reconnecting (introduced with #138).
  • Fixed a bug that caused the client to loop when the connection is closed on the remote end (#153, another bug introduced with #138).
  • tiny now uses $XDG_CONFIG_HOME/tiny/config.yml for the default config file location. The old location $HOME/.tinyrc.yml is still used when there isn't a config file in the new location, to avoid breakage. $HOME/.config is used for $XDG_CONFIG_HOME when the env variable is not available (#152).
  • Fixed a panic when some clients return later than TUI when exiting tiny.