[jitsi-dev] IRC: IRCv3 multi-prefix and away-notify support


#1

Hi all,

2 (smaller) new features are just pushed to Jitsi.

The first is *multi-prefix* support. For any IRC server that supports
IRCv3, we now enable multi-prefix which means that we now receive more
detailed information on the user modes of members in the chat rooms.
More specifically, we receive all active modes, instead of only the
"highest".

The second is *away-notify*. Previously, to get updates on away status
of chat room members, we needed to poll the server about every minute to
ask for an update and then we would get an update on *all* members, not
just the ones that changed. Now, *if* the IRC server supports
away-notify, we only ask for an update once when we enter the chat room
such that we have information on the exact presence state of all
members. From then on, the IRC server will notify us of any changes to
that state via *real-time* updates (messages). There are 2 advantages to
this: 1. we don't have to ask every minute which saves quite a bunch of
bandwidth, but more importantly, 2. Jitsi does not have to handle GUI
updates for all channel members every minute. That should make Jitsi
more response if you have many chat rooms with many members open all at
once.

Most of the IRCv3 work went into irc-api client library. A pull request
(https://github.com/migzai/irc-api/pull/27) is pending to integrate this
into the master branch, so for now I have base irc-api client library
off my personal branch and committed the sources in libsrc (Jitsi
sources archives).

Please note that at the moment of writing Freenode does not yet support
away-notify, so the 2nd improvement will not (yet) be available on
Freenode IRC servers. (Yes, Jitsi's IRC implementation actually supports
features not yet available on Freenode!) But as soon as it does, this
feature will become active without user intervention.

Have a nice weekend!
Danny


#2

Excellent!

Thanks Danny!

ยทยทยท

On Saturday, May 30, 2015, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi all,

2 (smaller) new features are just pushed to Jitsi.

The first is *multi-prefix* support. For any IRC server that supports
IRCv3, we now enable multi-prefix which means that we now receive more
detailed information on the user modes of members in the chat rooms.
More specifically, we receive all active modes, instead of only the
"highest".

The second is *away-notify*. Previously, to get updates on away status
of chat room members, we needed to poll the server about every minute to
ask for an update and then we would get an update on *all* members, not
just the ones that changed. Now, *if* the IRC server supports
away-notify, we only ask for an update once when we enter the chat room
such that we have information on the exact presence state of all
members. From then on, the IRC server will notify us of any changes to
that state via *real-time* updates (messages). There are 2 advantages to
this: 1. we don't have to ask every minute which saves quite a bunch of
bandwidth, but more importantly, 2. Jitsi does not have to handle GUI
updates for all channel members every minute. That should make Jitsi
more response if you have many chat rooms with many members open all at
once.

Most of the IRCv3 work went into irc-api client library. A pull request
(https://github.com/migzai/irc-api/pull/27) is pending to integrate this
into the master branch, so for now I have base irc-api client library
off my personal branch and committed the sources in libsrc (Jitsi
sources archives).

Please note that at the moment of writing Freenode does not yet support
away-notify, so the 2nd improvement will not (yet) be available on
Freenode IRC servers. (Yes, Jitsi's IRC implementation actually supports
features not yet available on Freenode!) But as soon as it does, this
feature will become active without user intervention.

Have a nice weekend!
Danny

--
sent from my mobile