Skip Menu |

This queue is for tickets about the AnyEvent-IRC CPAN distribution.

Report information
The Basics
Id: 54175
Status: resolved
Priority: 0/
Queue: AnyEvent-IRC

People
Owner: Nobody in particular
Requestors: LEEDO [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.95
Fixed in: (no value)



Subject: change_nick_login_cb does not get called on reconnect
When I disconnect from a server and the reconnect, the change_nick_login_cb function does not get fired on irc_433. It works the first time I connect, but not on any subsequent connect attempts. Here is a short script that shows the problem. I have dug pretty deep into things and can't seem to figure out where it is being unregistered.
Subject: ae_irc_nick_test.pl
#!/usr/bin/perl use strict; use warnings; use AnyEvent; use AnyEvent::IRC::Client; my $recon; my $c = AnyEvent->condvar; my $con = new AnyEvent::IRC::Client; $con->reg_cb(connect => sub { print STDERR "connected\n"; print STDERR $con->handles("irc_433"), "\n"; }); $con->connect("irc.freenode.net", 6667, {nick => "leedo"}); my $timer = AnyEvent->timer(after => 2, cb => sub { print STDERR "reconnecting\n"; $c->send }); $c->wait; $con->disconnect; $c = AnyEvent->condvar; $con->connect("irc.freenode.net", 6667, {nick => "leedo"}); $c->wait; $con->disconnect;
Subject: Re: [rt.cpan.org #54175] change_nick_login_cb does not get called on reconnect
Date: Mon, 1 Feb 2010 09:54:24 +0100
To: Lee Aylward via RT <bug-AnyEvent-IRC [...] rt.cpan.org>
From: Robin Redeker <elmex [...] ta-sa.org>
Hi Lee! On Sun, Jan 31, 2010 at 05:44:22PM -0500, Lee Aylward via RT wrote: Show quoted text
> Sun Jan 31 17:44:21 2010: Request 54175 was acted upon. > Transaction: Ticket created by LEEDO > Queue: AnyEvent-IRC > Subject: change_nick_login_cb does not get called on reconnect > Broken in: 0.95 > Severity: Important > Owner: Nobody > Requestors: LEEDO@cpan.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=54175 > > > > When I disconnect from a server and the reconnect, the change_nick_login_cb function does not > get fired on irc_433. It works the first time I connect, but not on any subsequent connect > attempts. > > Here is a short script that shows the problem. > > I have dug pretty deep into things and can't seem to figure out where it is being unregistered.
Yep, it was a quite complicated bug. In fact, it was a bug in Object::Event! I've fixed it in the Object::Event repository and will release it probably this week. You find the git repo of O::E here: git clone http://git.ta-sa.org/Object-Event.git The recent commits should fix the problem. Thanks very much for this bug report! Greetings, Robin -- Robin Redeker | Deliantra, the free code+content MORPG elmex@ta-sa.org / r.redeker@gmail.com | http://www.deliantra.net http://www.ta-sa.org/ |
Issue should not occur anymore due to new O::E versions online.