2015-08-10

RSS

Atom

Smuxi - IRC Client

Smuxi 1.0 with message persistence, counters

And here we go again! We're proud to announce the new version of Smuxi, release
1.0 "Finally". During the development, 20 bug reports and
10 feature requests in 285 commits were worked on.

Finally 1.0

Smuxi is celebrating its 10th anniversary! 10 years ago, Mirco Bauer made the
first commit to the Smuxi source code repository and is still
very committed to it. He started the Gnosmirc project in 2005 when the only way
a 24/7 "always-on" experience with IRC meant you had to use a console based IRC
client like bitchx, irssi or epic combined with screen and SSH. This looks very
practical at first and is a powerful Unix-ish way of accomplishing that job, but
it has the big downside that it doesn't integrate with a desktop environment
like GNOME. A bit later the Gnosmirc project was renamed to Smuxi when
the new code architecture allowed other frontend implementations besides the
GNOME one. The ncurses/STFL based text frontend was later implemented and is
considered stable and useful enough for day to day use, but still has some rough
edges. WinForms and WPF frontends also exist but need more work to reach a
usable state.

At this point Smuxi 1.0 contains all features that we could have imagined and
even goes beyond with very advanced features like message patterns
or language agnostic scripting.

Changes since Smuxi 0.11

Message Persistence

One of the biggest drawbacks of the IRC protocol ever was that messages can't be
retrieved from the IRC server because the IRC server is simply relaying messages
to the connected clients. So, if an IRC client is freshly started and connects
it starts to receive new messages, but all message you had received before are
no longer available. This always made IRC in a way "volatile" unlike other
communication systems like email where messages are relayed and stored on the
client side. One common approach for IRC clients is to store log files in a text
file. This is a simple feature and gives the user the possibility to read older
conversations. Smuxi also supports text file logging like other IRC clients but
it has a big user experience drawback as you need to open the file from the disk
outside of the IRC client.

In Smuxi 1.0 messages sent and received are now stored on the disk in a way they
can automatically be retrieved/loaded when you restart Smuxi. It is like you
have never closed Smuxi! This feature was already available in Smuxi for some
time as a technical preview and it used the Db4o object database, but we were
never happy about the performance neither with the stability so it always stayed
an optional feature you need to enable. This year we tried a new message buffer
backend using the famous SQLite database and it works much faster and stable
as a rock. So finally we can enable this feature by default because it just
works and enhanced your experience. We hope you enjoy it.

Documentation of how you can change Smuxi message buffer backend and behavior
can be found here.

For instructions how to convert your existing db4o history to SQLite can be
found in the "smuxi-message-buffer tool" section.

User Interface Enhancements

Synced message markers: the position of of the seen/unseen messages marker is
pushed to the smuxi-server and remembered when the frontend reconnects.
(Sebastian Poeplau)

Persistent message markers: the message marker position is also remembered
across Smuxi(-server) restarts.

Message Counter: in addition to the highlight counter next to a chat
new/unseen messages are also counted. This makes it easy to identify chats
with much traffic.

Single application instance support. If you start Smuxi again from the menu
it will bring the existing instance into the foreground. This makes the
Ubuntu Messaging Menu much nicer.

The command/message entry is alignment with the messages. (Lex Berezhny)

Text Frontend Enhancements

The console background color can now be configured using:
/config set STFL/Interface/TerminalBackgroundColor = #000000 (Ondřej Hošek)

The text color contrast if nicks with the background is now ensured
(Ondřej Hošek) #1033

Messages containing images will not be skipped but their alternative text is
shown instead (Ondřej Hošek) #1035

New smuxi-message-buffer tool

This is a new commandline tool that allows you to convert and export the message
history of Smuxi message buffer files. This can be used to convert your existing
Db4o history to SQLite like this for example:

Smuxi shouldn't be running when using this tool.

Scripting Enhancements

New Hook Points

Smuxi 1.0 supports with the following new hook points:

engine/protocol-manager/on-presence-status-changed/ This hook point is raised
when the presence status of a protocol manager changes. This happens for
example when an IRC connection toggles the away state.

engine/session/on-event-message/ This hook point raises event messages that
usually begin with "-!-". This can be useful to track state changes that are
shown as a message without having a dedicated hook point for it.

engine/session/command-$cmd/ This hook point is raised on the engine side
for commands, e.g. /some_command that isn't handled by the frontend or engine
built-in commands. This is useful for commands that should be available for
all frontends and isn't specific to the frontend environment.

New Plugins

The following new plugins are supported by Smuxi 1.0:

topic-diff: Shows the word differences of the topic after topic changes.
(meebey)

away-nick: Automatically appends and removes $AWAY_SUFFIX to/from the nick
name when you go away using the /away command or by disconnecting all
frontends from the smuxi-server. (meebey)

system-info: Shows system info. Includes system kernel version, distro
name, and CPU vendor information. (AK0)

now-playing: This plugin is not new but was rewritten in Python to get
rid of the spaghetti code monster which was written in Bash. (jamesaxl)

IRC Enhancements

NICKSERV support Notices from Nick/ChanServ are no longer shown on all
channels as they like to send greeting messages and other spam which is
annoying to see on all channels. #868

Automatic rejoin of channels protected with a key works as expected again

Connecting to irc.gitter.im is now supported. Gitter's IRCd implementation
has a bug in the IRC protocol which is now tolerated.

Twitter Enhancements

The /search command shows tweets as live stream

Added /delete, /favorite and /unfavorite commands

Behind the Scenes

Re-licensed smuxi-common from GPLv2 to MIT/X11

Contributors

Contributors to this release are the following people:

Mirco Bauer (199 commits)

Carlos Martín Nieto (15 commits)

Andrés G. Aragoneses (14 commits)

Piotr Drąg (12 commits)

Ondřej Hošek (11 commits)

Oliver Schneider (5 commits)

Calvin B (4 commits)

Victor Seva (3 commits)

Will Johansson (2 commits)

Sebastian Poeplau (2 commits)

Julian Taylor (2 commits)

James Axl (2 commits)

Daniel Mustieles (2 commits)

Christopher James Halse Rogers (2 commits)

Ş. Uzun (1 commit)

Lex Berezhny (1 commit)

Kalle Kaitala (1 commit)

Jordi Mas (1 commit)

Joe Hansen (1 commit)

Jimmie Elvenmark (1 commit)

Dimitris Spingos (1 commit)

Dean Lee (1 commit)

Clément Bourgeois (1 commit)

Carlos Hernandez (1 commit)

Thank you very much for your contributions to Smuxi!

Want this? Go here and grab it right now!

Posted Sun Aug 9 17:48:18 2015

Show more