Closed Bug 443698 Opened 12 years ago Closed 12 years ago

Support auto-perform for bitlbee

Categories

(Other Applications :: ChatZilla, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: boxerfencer, Assigned: glenjamin+bmo)

Details

(Whiteboard: [cz-0.9.84])

Attachments

(1 file, 2 obsolete files)

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080530 Firefox/2.0.0.14 Flock/1.2.1
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.14) Gecko/20080530 Firefox/2.0.0.14 Flock/1.2.1

Several versions have gone past with Auto-perform being broken. I'm afraid I can't remember which was the last version that worked for me back when I was using SeaMonkey. Now with Flock 1.2.1, I still see the same problem. This used to work.

Reproducible: Always

Steps to Reproduce:
1.Got to ChatZilla preferences
2. Select appropriate server and Lists tab, and add msg NickServ IDENTIFY _Trinity_ or IDENTIFY _Trinity_, press apply then OK, the close ChatZilla.
3. Restart ChatZilla.
Actual Results:  
I'm not logged into my IM accounts via Bitlbee.

Expected Results:  
I get logged into my IM accounts via Bitlbee.

I'm running the Intel version of OS X, version 10.4.11.
Oops, I guess that password/profile is as good as gone!
Is there any chance of a rough idea at when this stopped working for you? Auto-perform definitely works in general, so we're looking at an issue more specific here.
I spoke with Rob Marshall about this one, basically Bitlbee doesnt sent a 251 message after the 005 - which is what we use to decide that autoperform is ready.

Technically this is a poor implementation of the IRC spec, but in its defence a 251 message doesnt make sense for Bitlbee.

The suggestion was to fire off auto-perform on MOTD(375) *or* 251, whichever comes first.
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Mac OS X → All
Hardware: PC → All
Summary: Auto-perform is broken → Support auto-perform for bitlbee
Version: unspecified → Trunk
I don't recall when ChatZilla's autologging last worked for me, but I can say that it worked for me on August 23, 2007 as at the time I wrote an article on the subject. So, whatever version of ChatZilla was released at the time, probably the stable release, would have been the one that worked for me.

As for Bitlbee not following standard IRC protocols because it doesn't make sense, they do publicise themselves as IRC interoperable, and IRC client agnostic. So, I'll probably report this as a bug on their bug tracker software --although I'm _sure_ it won't be well received.

Bottom line, I'm not sure ChatZilla should be altered to compensate other people's deviating from standards (especially when they present their project in another light), although I would want a working auto-logon all the same.
We probably should cope, by simply using the MOTD message codes to trigger the code if it hasn't already been triggered, since the IRC protocol is rather loose and everyone's implementation of it is slightly different.
here a small fix until you wait for next version (save backup of the files before do that)

in chatzilla.jar/content/chatzilla/handlers.js 
comment(//) this 4 lines:

        case "004":
        case "005":
            str = e.params.slice(3).join(" ");
            break;

find this line: 
        case "251": /* users */
and replace with this 2 lines:
        case "005":
            str = e.params.slice(3).join(" ");

if you have any kind of bug in any network, replace the backup of chatzilla.jar
(that is not a oficial response, and i dont know how to use bugzilla, sorry if i write this in wrong place)

Status: NEW → ASSIGNED
Attachment #333460 - Flags: review?(silver)
Assignee: rginda → glenjamin+bmo
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Comment on attachment 333460 [details] [diff] [review]
autoperform after motd if we havent already

autoPerformSent is never set to false after connecting, so I don't see any way this could run the auto-perform on reconnects.

>+    if ('autoPerformSent' in this && this.autoPerformSent == false)

Nits: use double-quotes and add parentheses around the two sides of the &&.
Attachment #333460 - Flags: review?(silver) → review-
Attachment #336553 - Flags: review?(silver)
Attachment #333460 - Attachment is obsolete: true
Attachment #336553 - Flags: review?(silver) → review+
Comment on attachment 336553 [details] [diff] [review]
set flag to false when connection attempt begins

You didn't fix the nit, so r=silver conditional on that.
Attached patch nit fixed.Splinter Review
Attachment #336553 - Attachment is obsolete: true
Checking in mozilla/extensions/irc/xul/content/handlers.js;
/cvsroot/mozilla/extensions/irc/xul/content/handlers.js,v  <--  handlers.js
new revision: 1.182; previous revision: 1.181
done
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [cz-0.9.84]
With Chatzilla 0.9.90.1 and BitlBee 3.0.4+bzr855-1 a login works by sending 

/PASS <mypassword> 

to the server over Auto-Perform for the server. This option is recommended in http://bugs.bitlbee.org/bitlbee/ticket/433#comment:4 

Trying use Auto-Perform for the channel &bitlbee to send

IDENTIFY <mypassword> 

failed because this command goes to the server tab.
In addition to the previous comment:

Chatzilla can send to the channel &bitlbee from the servers auto-perform list with

MSG &bitlbee IDENTIFY <password>
You need to log in before you can comment on or make changes to this bug.