Open Bug 687798 Opened 13 years ago Updated 7 years ago

Tracking IRCv3 extensions (e.g. as used on freenode)

Categories

(Other Applications :: ChatZilla, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

People

(Reporter: auscompgeek, Assigned: rginda)

References

(Depends on 5 open bugs, Blocks 1 open bug, )

Details

(Keywords: meta)

Attachments

(1 file)

Since the upgrade of freenode servers to ircd-seven, it has moved from using the CAPAB command to the CAP (CAP REQ and CAP LS) command. We should support this command in exactly the same way as the CAPAB command.
Also note that these capabilities can be disabled on demand and that multiple capabilities can be requested at once.
To enable: /CAP REQ :<capabilities>
To disable, prefix the capability with a -.

Server responses:
Response to /CAP LS: :<server> CAP <nick> LS :<capabilities>
Response to /CAP REQ <capabilities>: :<server> CAP <nick> ACK :<capabilities>
Depends on: 687801
Depends on: 687804
Depends on: 388729
Keywords: meta
This patch removes the CAPAB code and replaces it with fuller CAP support:

- The LS/ACK/NAK responses to /cap are all displayed nicely.
- /supports will, if capabilities have been used, display what it knows about them.
- The "identify-msg" capability support is retained with new code.
- The "multi-prefix" capability is supported the same way as "NAMESX".

Note that this patch does not change the following general properties:

- The list of capabilities is not known until the user explicitly executes "/cap ls".
Assignee: rginda → bugzilla-mozilla-20020327
Status: NEW → ASSIGNED
Attachment #8390104 - Flags: review?(samuel)
Comment on attachment 8390104 [details] [diff] [review]
Switch to CAP and update all existing code

Was Freenode the only network using CAPAB?
Attachment #8390104 - Flags: review?(samuel) → review+
Yes, AFAIK Freenode is the only network using this (as they have their own bespoke software).

http://hg.mozilla.org/chatzilla/rev/2ebbe22b61d5
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Summary: Support CAP extensions as used on freenode → Support IRCv3 extensions (e.g. as used on freenode)
Depends on: 1064210
Depends on: 1064216
(In reply to James Ross from comment #4)
> Yes, AFAIK Freenode is the only network using this (as they have their own
> bespoke software).

If it's of any help, irc.m.o does ircv3 as well now.

CAP Server supports: multi-prefix | sasl | userhost-in-names
To use SASL at connect time on Freenode (before you can type a command manually) there exists a ChatZilla plugin (where freenode is hardcoded; I suppose it can be modified for other networks), see https://freenode.net/sasl/cz_sasl.js and bug 1223210. To use it, you must have previously registered an account name and password with NickServ.
(In reply to Tony Mechelynck [:tonymec] from comment #7)
> https://freenode.net/sasl/cz_sasl.js

For licensing purposes, please be advised that this .js file is (or will shortly be) GPLv3.
Depends on: 1246518
(In reply to Richard Soderberg [:atoll] from comment #8)
> (In reply to Tony Mechelynck [:tonymec] from comment #7)
> > https://freenode.net/sasl/cz_sasl.js
> 
> For licensing purposes, please be advised that this .js file is (or will
> shortly be) GPLv3.

Thanks for warning potential commercial misusers. Personally I only use it privately; or I may (as here) point the original file to other people, which are of course supposed to use it according to its copyright license.
Note that they decided to release it under MPL2, rather than GPLv3, and so we may (if we wish) 

http://gry.blinkenshell.org/fs/irc/cz/cz_sasl-0.6.3.js

I'm going to reopen this bug as the Mozilla IRC network supports a wide variety of the CAPA extensions, specifically including SASL as previously discussed above, and so the RESO FIXE reason in comment 4 no longer applies. Feel free to RESO WONT if that's more desirable at this stage, but as one of the Mozilla IRC admins, I strongly encourage the introduction of SASL support into mainline Chatzilla.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
The work done in this bug was to support the IRCv3 extensions protocol (in particular, to migrate from the old freenode-specific protocol), which was completed, but the bug is also  meta bug for the individual IRCv3 extensions. A slight confusion. :)

I am happy to leave this bug open as purely a meta bug, and all SASL discussion should be on bug 687804 (which I see has been updated as well).
Status: REOPENED → NEW
Version: unspecified → Trunk
Depends on: 1287842
Blocks: 1287842
No longer depends on: 1287842
Summary: Support IRCv3 extensions (e.g. as used on freenode) → Tracking IRCv3 extensions (e.g. as used on freenode)
No longer blocks: 1287842
Depends on: 1287842
Twitch's IRC interface uses the extended attributes in IRCv3 to send a lot more user data. Which is nice, but when the capability is enabled, cZ doesn't display incoming messages.

An example line from their documentation (https://github.com/justintv/Twitch-API/blob/master/IRC.md#tags) is:

@badges=global_mod/1,turbo/1;color=#0D4200;display-name=TWITCH_UserNaME;emotes=25:0-4,12-16/1902:6-10;mod=0;room-id=1337;subscriber=0;turbo=1;user-id=1337;user-type=global_mod :twitch_username!twitch_username@twitch_username.tmi.twitch.tv PRIVMSG #channel :Kappa Keepo Kappa

It would be very helpful if the tags were parsed for plugin use, but at the very least cZ should be able to drop the extraneous data so it can display normally.
Depends on: 1322910
(In reply to Robert Johnston from comment #12)

I've created bug 1322910 to add message tag parsing.
Assignee: bugzilla-mozilla-20000923 → rginda
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: