#instantbird log on 07 24 2013

All times are UTC.

00:03:33 <clokep> Hmmm....are Facebook buddy icons not working anymore? :-S
00:06:03 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
00:06:07 --> clokep has joined #instantbird
00:06:07 * ChanServ sets mode +o clokep 
00:06:53 <clokep> Bah our JS-XMPP MUC support is so broken. :(
00:26:12 <-- mconley has quit (Input/output error)
00:47:50 <-- wnayes has quit (Ping timeout)
00:51:16 --> wnayes has joined #instantbird
01:00:28 <-- Mook_as has quit (Quit: Mook_as)
01:06:22 <-- rosonline has quit (Ping timeout)
01:29:32 <-- clokep has quit (Ping timeout)
01:57:01 --> jb has joined #instantbird
01:58:32 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
01:59:51 --> Mook has joined #instantbird
02:31:41 <-- wnayes has quit (Quit: wnayes)
02:34:48 --> clokep has joined #instantbird
02:34:48 * ChanServ sets mode +o clokep 
02:35:13 --> dew has joined #instantbird
02:46:45 <-- jb has quit (Ping timeout)
02:57:27 * qheaden_away is now known as qheaden
02:57:34 <qheaden> Hello (again) everyone.
02:59:07 <clokep> Hello. :P
02:59:12 * clokep is going to bed momentarily.
03:01:12 <qheaden> clokep: So you have no further comments on my patches? I'm amazed! :P
03:02:29 <clokep> qheaden: What do you mean? I left a bunch of comments, but you haven't attached a new patch yet.
03:02:43 <qheaden> clokep: Sorry, I meant on BitBucket.
03:02:54 <clokep> I thought I left a good amount still. :-D
03:02:57 <clokep> Would you like more? ;)
03:03:40 <qheaden> clokep: Nah, you can keep them. :)
03:03:58 <clokep> That wasn't everything I left comments on though, was it?
03:04:32 <qheaden> About that key 47 thing though, it seems that you are only allowed to be available or away when using a custom status. That makes sense, since the status message should describe what you are doing at the moment.
03:05:08 <clokep> OK, that's really not clear from your comment and I don't think the code quite does that.
03:05:21 <clokep> We also would need to decide if we want to be truer to the status or to the message.
03:05:35 <instant-buildbot> build #919 of linux-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/919
03:06:17 <qheaden> Well, from testing, it seems that the code does its job quite well. I just have to clarify the comment.
03:08:08 <qheaden> Oh, and I did have one more question before you leave. What do you mean by "normalizing" buddy and conference names? You mean something like making them all lowercase, and removing spaces?
03:09:25 <clokep> I mean, what happens if the server sends you CLOkeP one time and clokeP the next and then clokep?
03:09:28 <clokep> They're all the same person.
03:09:32 <clokep> They should be treated as such.
03:10:15 <clokep> (Could this really happen? Maybe if the user changes their name while you're talking to them, can this really happen? I have no idea.)
03:11:56 <qheaden> I think all names are regulated by Yahoo's servers, so I'm not sure if you can deviate from your login name. I'll check into it though. Also, room names cannot be changed during use.
03:12:15 <clokep> OK.
03:12:54 <clokep> Don't forget there could be other "bad" clients out there doing weird things.
03:13:00 <clokep> I'm not super concerned about it right now.
03:13:06 <clokep> Just something I wanted you to look into.
03:13:12 <clokep> qheaden: Any other questions before I go to bed?
03:13:20 <qheaden> Still, I'm not sure if that's possible, because the server serves as a proxy between each client.
03:13:35 <qheaden> Like I said, things like that can be verified during user testing.
03:13:47 <qheaden> clokep: No other questions. You may now sleep! :)
03:13:49 <qheaden> See you tomorrow.
03:13:56 <clokep> qheaden: Who knows whether the server actually cares about that though.
03:13:57 <qheaden> And thanks again for all of the help today. :)
03:14:02 <clokep> IRC passes things straight through normally.
03:14:13 <clokep> No problem, I think we're very close!
03:14:18 <clokep> Keep up the good work.
03:14:19 <qheaden> I think we are too. :)
03:14:22 <qheaden> Thanks.
03:14:22 <-- clokep has quit (Connection reset by peer)
04:49:41 <instant-buildbot> build #919 of macosx-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/919
04:51:10 <-- mpmc has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
05:19:35 <-- EionRobb has quit (Quit: Leaving.)
05:31:41 --> FireFly_TB has joined #instantbird
05:54:44 <instant-buildbot> build #1015 of win32-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1015
06:17:44 --> atuljangra has joined #instantbird
06:57:38 <flo-retina> http://i.imgur.com/ZqvEwus.png looks pixelated. Is clokep on highdpi?
07:01:27 <-- Mook has quit (Ping timeout)
07:02:30 <-- atuljangra has quit (Ping timeout)
07:04:57 --> Mook has joined #instantbird
07:10:36 --> atuljangra has joined #instantbird
07:13:14 * qheaden is now known as qheaden_away
07:21:04 <atuljangra> flo-retina: Did you read etherpad? Any opinions about the work decided when you are away?
07:38:05 <-- atuljangra has quit (Quit: http://www.mibbit.com ajax IRC Client)
07:50:04 --> gerard-majax has joined #instantbird
07:58:31 --> josefec has joined #instantbird
08:02:56 <-- gerard-majax has quit (Quit: Ex-Chat)
08:04:41 <-- ivan has quit (Ping timeout)
08:13:59 --> gerard-majax has joined #instantbird
08:21:44 --> ivan has joined #instantbird
08:24:44 --> chrisccoulson has joined #instantbird
08:30:00 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
08:31:34 --> chrisccoulson has joined #instantbird
08:35:50 <-- Mook has quit (Quit: Mook)
08:45:06 <-- josefec has quit (Quit: Instantbird 1.4 -- http://www.instantbird.com)
09:16:38 --> Mic has joined #instantbird
09:16:38 * ChanServ sets mode +h Mic 
09:31:40 --> chrisccoulson_ has joined #instantbird
09:31:45 <-- chrisccoulson has quit (Connection reset by peer)
09:34:05 <-- chrisccoulson_ has quit (Connection reset by peer)
09:35:30 --> chrisccoulson has joined #instantbird
09:54:24 --> clokep has joined #instantbird
09:54:24 * ChanServ sets mode +o clokep 
09:55:16 <clokep> flo-retina: No.
09:56:29 <flo-retina> atuljangra: I added comments in the pad.
10:02:56 <-- chrisccoulson has quit (Connection reset by peer)
10:07:04 --> nhnt11 has joined #instantbird
10:09:21 <nhnt11> That screenshot doesn't look pixelated to me :/ Except maybe the tag icon isn't as clear as it should be?
10:09:53 <nhnt11> clokep: Thanks. So it works. I'll just update the "+" icons from Firefox and upload a patch.
10:10:36 * nhnt11 thought he fixed all the "} else {" nits
10:11:16 --> chrisccoulson has joined #instantbird
10:11:21 <nhnt11> flo-retina: If I want to expose the imIContact to the newtab items, I'd need separate interfaces that extend PossibleConversation
10:11:47 <nhnt11> That's why I computed the tags text in PossibleConvFromContact
10:13:05 <flo-retina> nhnt11: hmm
10:13:12 <flo-retina> maybe compute the tag line in a getter then?
10:13:25 <nhnt11> Ok
10:13:42 <clokep> nhnt11: It doesn't look pixelated to me either.
10:14:42 <flo-retina> it's possible there was some kinda broken interpolation happening on my side then :-S
10:15:17 <nhnt11> flo-retina: The semicolon is required only after the prototype and not after the constructor right?
10:15:56 <flo-retina> nhnt11: it's required after an affectation
10:16:10 <flo-retina> if you stuff = foo, you need a semicolon after foo
10:16:22 <nhnt11> Ah ok.
10:19:15 * Mic goes to look up what an affectation is.
10:21:14 <Mic> Is that the french word for assignment?
10:21:52 <nhnt11> Mic: Heh
10:29:23 <nhnt11> Oh no
10:29:30 <nhnt11> The code on my bitbucket seems old :S
10:29:45 <nhnt11> But I pushed before going to bed..
10:30:04 <nhnt11> Ah, aleth is commenting on a slightly older commit.
10:33:40 <clokep> One of the issues with using bitbucket is things like that.
10:33:51 <clokep> You see commits as they come in instead of a finished patch.
10:35:14 <-- FireFly_TB has quit (Ping timeout)
10:35:54 <nhnt11> clokep: Does the IRC prpl store channel passwords?
10:36:50 <clokep> nhnt11: Ones we know get stored in http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#274
10:37:49 <clokep> So for channels we're not in? I don' tknow how you would know the password.
10:38:18 <nhnt11> I was wondering if we store passwords to channels we auto-join or something.
10:38:37 <clokep> You can, yes.
10:38:47 <clokep> I just pointed you to where they would be stored.
10:38:58 <clokep> And it the auto-join field of the account, but you shouldn't be parsing that yourself.
10:39:03 <clokep> And in
10:39:34 <nhnt11> clokep: "You can"? That means we currently don't right?
10:39:51 <clokep> nhnt11: It means we currently support auto-joining channels with keys.
10:40:21 * clokep thinks this is a detail you shouldn't get wrapped around.
10:40:24 <clokep> I think it's an edgecase.
10:40:25 <nhnt11> Hmm
10:40:26 <nhnt11> Ok
10:42:02 <clokep> nhnt11: What are you even trying to solve?
10:42:45 <nhnt11> clokep: I included the chat room fields in the prplIChatRoom interface so that accounts could put any extra data other than the defaults in there. For example, passwords.
10:42:57 <nhnt11> aleth was saying that we could just get the fields later lazily
10:43:13 <clokep> No.
10:43:18 <clokep> The prpl should put them in.
10:43:25 <clokep> Unless I'm misunderstanding what you're saying.
10:43:50 <clokep> The reasoning being that the prpl requests a list of stuff from the server, throws them at you and then you should be able to join the room without requesting mor einfo from th eprpl.
10:44:33 <nhnt11> clokep: Those were my thoughts too, that's why I exposed chat room fields in the prplIChatRoom interface.
10:45:14 <nhnt11> The prpl account could put whatever data is required to join in that, and consumers wouldn't have to worry
10:45:38 <clokep> Yes.
10:50:48 <clokep> flo-retina: So in devel@pidgin they were discussing dropping the GTK win32 UI when their new QT one is ready. But they can't do it until then cause there's no good win32 libpurple clients. ;) Figured you'd enjoy that.
10:51:12 <flo-retina> errrr, what?
10:51:23 * clokep happened to be clicking through his MUCs last night while bored.
10:52:21 <flo-retina> have you replied?
10:53:02 <clokep> Yes, the only one who acknowledged my reply was EionRobb, who said...actually I don't need to tell you what he said, you can guess easily enough. :P
10:55:04 --> mpmc has joined #instantbird
11:06:16 <instantbot> nhnt11@gmail.com cancelled review?(aleth@instantbird.o rg) for attachment 2625 on bug 2055.
11:06:17 <instantbot> nhnt11@gmail.com requested review from aleth@instantbird.o rg for attachment 2628 on bug 2055.
11:06:18 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
11:06:26 <nhnt11> I'll be back in a couple hours.
11:10:27 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
11:19:04 <-- nhnt11 has quit (Ping timeout)
11:23:19 <instantbot> aleth@instantbird.org denied review for attachment 2628 on bug 2055.
11:23:27 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
11:29:29 --> nhnt11 has joined #instantbird
11:30:47 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
11:31:26 --> chrisccoulson has joined #instantbird
11:34:11 <instantbot> nhnt11@gmail.com cancelled review?(benediktp@ymail.com ) for attachment 2628 on bug 2055.
11:34:12 <instantbot> nhnt11@gmail.com requested review from aleth@instantbird.o rg for attachment 2629 on bug 2055.
11:34:15 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
11:40:18 <instantbot> aleth@instantbird.org denied review for attachment 2629 on bug 2055.
11:40:20 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
11:42:02 <-- nhnt11 has quit (Ping timeout)
11:42:55 --> nhnt11 has joined #instantbird
11:46:32 --> jb has joined #instantbird
11:56:14 --> clokep_ has joined #instantbird
12:02:22 <flo-retina> clokep_: Does their QT UI support file transfer in a way that *works*? :-P
12:05:20 <clokep_> flo-retina: Their QT UI doesn't support MUCs yet. ;)
12:05:32 <clokep_> Speaking of MUCs... JS-XMPP MUCs are so...not good. :(
12:06:24 <flo-retina> clokep_: is that a surprise?
12:06:38 --> aleth has joined #instantbird
12:06:39 * ChanServ sets mode +h aleth 
12:07:16 <clokep_> flo-retina: Just disappointing. :'(
12:07:23 * clokep_ was playing with that new prpl pref.
12:08:03 * aleth turned off JS-XMPP again as he can't connect to his XMPP account with it
12:08:15 <aleth> I guess I should try to debug that sometime...
12:08:54 <clokep_> I also started to use the Facebook Beta server....after fixing the bug to do that like months ago. :P
12:09:10 <flo-retina> aleth: what's the error message?
12:09:32 <aleth> bug 2057
12:09:34 <clokep_> Or at least file a bug. ;)
12:09:38 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2057 nor, --, ---, nobody, NEW, [JS-XMPP] ssl_error_rx_record_too_long SSL connection failure with swissjabber.ch
12:09:38 <clokep_> Oh. :(
12:10:21 * flo-retina wonders if we could be connecting to the wrong port because of the lack of dns srv support
12:11:12 <aleth> At this point I don't even know where in the code that error message is coming from :-/
12:12:40 <aleth> I just haven't looked at it at all yet.
12:17:06 <flo-retina> likely from socket.jsm
12:17:56 <aleth> Further down I think.
12:18:49 <flo-retina> oh, sure, it's from NSS somewhere
12:18:58 <flo-retina> but the error is likely reported from socket.jsm
12:20:04 <-- mpmc has quit (Ping timeout)
12:20:17 --> mpmc has joined #instantbird
12:24:15 <-- jb has quit (Ping timeout)
12:25:18 <clokep_> Yeah, definitely from NSS.
12:25:23 <clokep_> Most likely from socket.jsm. :)
12:25:32 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
12:25:38 --> nhnt11 has joined #instantbird
12:28:17 <-- chrisccoulson has quit (Ping timeout)
12:30:17 <instantbot> nhnt11@gmail.com cancelled review?(benediktp@ymail.com ) for attachment 2629 on bug 2055.
12:30:18 <instantbot> nhnt11@gmail.com requested review from aleth@instantbird.o rg for attachment 2630 on bug 2055.
12:30:21 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
12:34:20 <instantbot> aleth@instantbird.org granted review for attachment 2630 on bug 2055.
12:34:23 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
12:39:38 <clokep_> So how close is this to checking in? :)
12:39:55 <nhnt11> Pretty close, methinks.
12:40:36 <aleth> 30% r+ inside ;)
12:43:48 <nhnt11> gtg for a bit
12:43:59 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
12:44:31 --> chrisccoulson has joined #instantbird
12:49:36 <flo-retina> aleth: 30% r+? What does that mean? :-S
12:50:17 <aleth> I should have said, 1/3% (I meant one out of three reviewers)
12:50:47 <aleth> ah, drop the % there
12:50:48 <aleth> gtg
12:50:52 <-- aleth has quit (Quit: Ciao)
12:51:05 <flo-retina> ah
12:51:36 <flo-retina> my r? doesn't matter. I looked yesterday (and a little bit this morning), and what I saw is good enough that whatever I can have missed can be addressed in follow-ups
12:51:52 <flo-retina> I haven't tried it locally at all though :-S
12:58:14 <clokep_> Ship it. ;)
13:01:19 <flo-retina> and then run away? :-P
13:09:59 --> jb has joined #instantbird
13:12:42 <flo-retina> Mic: how soon are you going to look at nhnt11's patch?
13:15:48 --> chrisccoulson_ has joined #instantbird
13:16:29 <Mic> flo-retina: I could look at it now but I've only got half an hour at best?
13:16:51 <-- chrisccoulson has quit (Ping timeout)
13:17:39 <flo-retina> Mic: is that enough to decide if it looks good or if you want to take more time to look at it later?
13:17:58 <Mic> Yes, absolutely.
13:19:09 <-- jb has quit (Ping timeout)
13:29:35 <flo-retina> clokep_: congrats on your first push to http://hg.instantbird.org/instantbird/ \o/
13:29:45 <clokep_> flo-retina: Thanks. :)
13:29:49 * flo-retina will celebrate by taking vacations! :-P
13:29:56 <clokep_> Will instantbot like it enough to announce it? ;)
13:30:34 <flo-retina> I think instantbot just reads the rss feeds, so whoever pushed the commit shouldn't matter to it
13:32:58 <instantbot> Check-in: http://hg.instantbird.org/instantbird/rev/1aea1bdc6663 - Florian Quèze - Bug 896652 - Special chars (eg umlauts) in password break xmpp login, r=clokep.
13:33:32 <flo-retina> :)
13:34:31 <clokep_> Exellent.
13:37:50 --> mconley has joined #instantbird
13:40:56 * qheaden_away is now known as qheaden
13:41:00 <qheaden> Hello everyone.
13:41:11 <clokep_> Up early today qheaden. ;)
13:41:26 <qheaden> You got it! :P
13:41:47 <qheaden> clokep_: So I take it you saw my test for extractPackets?
13:42:45 <clokep_> qheaden: I didn't read the test itself.
13:43:03 * clokep_ looks now.
13:43:42 <qheaden> clokep_: Well, it proves what you said in your comment. If someone sends YMSG in a message, extractPackets chokes.
13:43:58 <clokep_> qheaden: Ah, OK. :) So it's a test...that we have to change once we fix the method? :P
13:44:32 <qheaden> clokep_: No, it should stay the same to ensure the method works. At this point in time, the test fails.
13:44:47 <clokep_> Ah-ha, I see.
13:44:50 <clokep_> :)
13:44:56 <clokep_> I think that's what confused me.
13:45:19 <clokep_> qheaden: I don't understand the whole reorganization of YahooPacket and exporting it now.
13:46:06 <qheaden> clokep_: I thought it would be more organized if extractPackets were a part of YahooPacket instead of being a private method of YahooSession. Especially since the tests in test_yahoopacket.js are for the YahooPacket class.
13:46:18 <qheaden> clokep_: I'm not sure why I had to export. Wouldn't work without doing it for some reason.
13:47:02 <instant-buildbot> build #424 of macosx-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-onCommit/builds/424
13:47:11 <clokep_> qheaden: OK, extractPackets being part of YahooPacket is resaonable. I don't understand why you're exporting it.
13:47:17 <clokep_> qheaden: "Wouldn't work" is pretty vague. :)
13:49:07 * qheaden is attempting to reproduce the error.
13:49:50 <qheaden> clokep_: I get YahooPacket not defined when it gets to using the extractPackets() method. :-S
13:50:07 <qheaden> Yet I use new YahooPacket() throughout the test file.
13:51:17 <clokep_> qheaden: I need to see the code.
13:51:22 <clokep_> With the changes you've just made.
13:52:27 <qheaden> clokep_: Its the same code in BitBucket, just without the exporting of YahooPacket.
13:53:22 * clokep_ mumbels.
13:53:44 <qheaden> clokep_: It messes up on this line https://bitbucket.org/qheaden/instantbird-gsoc-2013/src/8a498e6e54186f6013da36066736b1a41b0d67ec/chat/protocols/yahoo/test/test_yahoopacket.js?at=yahoo-prpl#cl-178
13:54:22 <clokep_> qheaden: Everywhere else you use yahoo.YahooPacket, which is the proper way to reference it.
13:54:48 <clokep_> qheaden: Look at let packet1  and let packet2 lines.
13:54:50 <clokep_> Above that.
13:54:52 <clokep_> Those should error.
13:55:30 * qheaden feels extremely stupid now.
13:56:43 <clokep_> Let me know if you still have an error after fixing that.
13:56:51 <qheaden> clokep_: Nope, that fixed it. :P
13:56:53 <clokep_> JS errors are hard to spot sometimes, always look at the code above the error line too. :)
13:57:11 <qheaden> clokep_: Yeah, the test doesn't like to give you the line number of the failure. :-/
13:57:36 <qheaden> Thanks.
13:59:05 <clokep_> qheaden: So time to fix that method now? :P
13:59:18 <clokep_> Is that the last of my comments?
13:59:20 * qheaden mumbles
13:59:38 <qheaden> clokep_: Its almost the last.
14:00:13 <clokep_> I wonder if we should move the icons as part of this patch or not.
14:00:58 <qheaden> clokep_: I'm trying to figure out how we are going to separate packets. The only thing I have to run on is the YMSG identifier. I guess we can verify them after to check which are valid packets and which are not.
14:01:29 <qheaden> I have to check if they have a special ending sequence.
14:01:29 <clokep_> qheaden: Umm....do we have the packet format documented somewhere I can look at?
14:01:57 <qheaden> clokep_: I've been using this http://libyahoo2.sourceforge.net/ymsg-9.txt
14:02:19 <clokep_> qheaden: You have to use the packet length.
14:02:31 <clokep_> (Which I think I've mentioned a bunch of times you have to verify. :-/)
14:02:38 <qheaden> clokep_: Yeah.
14:03:23 <Mic> flo-retina: nhnt11's patch looks good so far :)
14:03:50 <qheaden> clokep_: Is it possible for someone to send a hand-crafted packet as a chat message? Just type YMSG, and add some characters that represent different bytes of the packet?
14:05:55 <qheaden> For example, what if someone types a message with YMSG, and it just so happens that an ASCII character after that is seen as the packet length, and it matches the length of the message? I know it seems far-fetched, but it might be possible (hackers and such).
14:07:09 --> atuljangra has joined #instantbird
14:11:04 <clokep_> qheaden: That's ridiculous, you have to assume some of the data you're getting is good.
14:12:24 <clokep_> qheaden: If someone is sending bad packets to the server, they're hopefully rejected, if someone is MITM you...you have bigger issues.
14:13:27 <clokep_> (And of course it's possible for someone to hand-craft a packet.)
14:13:50 <clokep_> But you're going to find the first packet (it'll be the first data), verify it starts with YMSG, then check the length field and get the rest of the packet and repeat.
14:14:09 <qheaden> clokep_: Okay. I'm going to gut extractPackets() and try to rewrite it from scratch.
14:14:32 <-- chrisccoulson_ has quit (Ping timeout)
14:14:34 <qheaden> I'm going to try to make it more efficient as well.
14:15:01 --> chrisccoulson_ has joined #instantbird
14:15:01 <clokep_> Worry about making it work first. :P
14:15:26 --> FireFly_TB has joined #instantbird
14:15:42 <qheaden> clokep_: This task would be much easier if I could convert the data to a string and use regex to find all YMSG occurrences, but something tells me that won't pass review. ;)
14:16:12 <clokep_> qheaden: That's going to have the same exact issue you have.
14:16:22 <clokep_> currently.
14:16:27 <clokep_> This is not a string parsing problem.
14:16:49 <clokep_> Looks like fallen got the style editor, network monitor and error console working in Thunderbird. :)
14:18:33 <clokep_> qheaden: You need to take the first four bytes, check that they're YMSG, the next four against the version then get the length from the next two.
14:19:01 <clokep_> Read the next two for the service, the next four for the status, the next four for the session ID, then the next <length that you got earlier> for the data.
14:19:20 <qheaden> YahooPacket.fromArrayBuffer() does that kind of parsing already.
14:19:23 <clokep_> You can then run the same algorithm starting at that new offset.
14:19:44 <clokep_> I don't care what the function name is called. ;)
14:19:48 <qheaden> :P
14:20:04 <clokep_> My point is you NEED to unpack the length and have some understanding of each packet just to split them apart.
14:30:44 <clokep_> qheaden: Maybe you want to look at my oscar code if you need an example?
14:30:47 --> novabyte has joined #instantbird
14:31:08 <qheaden> clokep_: I'm good for right now. :)
14:40:56 <qheaden> clokep_: Will DataView throw an error if you try to access data with an offset past the length of what is given?
14:50:22 <clokep_> qheaden: You should check the length first, most likely. ;)
14:50:31 <clokep_> Especially becaues you could get a split packet from TCP
14:51:06 <-- novabyte has quit (Ping timeout)
14:51:23 <qheaden> clokep_: Yeah, I rewrote the packet splitting code successfully. Now I have to write the verification.
14:52:22 <qheaden> clokep_: Here's what I have so far http://pastebin.instantbird.com/257908
14:52:48 --> novabyte has joined #instantbird
14:53:30 <-- mpmc has quit (Connection reset by peer)
14:54:50 --> mpmc has joined #instantbird
14:58:38 <clokep_> qheaden: You can probably directly grab the length if you want. YOu don't necessarily need the heade.r
14:59:13 <clokep_> qheaden: Also fromArrayBuffer looks like it shold be "static"?
14:59:32 <qheaden> clokep_: I need to verify more than the length. Maybe the protocol version too.
15:00:06 <clokep_> OK. :)
15:00:12 <qheaden> Also, I agree that fromArrayBuffer should be class method.
15:00:19 <qheaden> I'll change that after I fix extractPackets.
15:02:20 * qheaden hates loop analysis.
15:04:01 --> Optimizer has joined #instantbird
15:04:32 <-- Optimizer has quit (Quit: bbye :))
15:04:52 --> Optimizer has joined #instantbird
15:07:39 <-- novabyte has quit (Quit: bye bye)
15:11:02 <clokep_> qheaden: Make it recursive instead? :P
15:11:02 <Mic> nhnt11: before I forget: the %endif seems to be on the wrong line here:  https://bugzilla.instantbird.org/attachment.cgi?id=2630&action=diff#a/instantbird/themes/newtab.css_sec2
15:11:10 * qheaden cringes.
15:17:40 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
15:18:07 <-- GeekShadow has quit (Ping timeout)
15:20:18 --> GeekShadow has joined #instantbird
15:22:17 <clokep_> r- unless it's recursive! :P
15:22:29 <clokep_> (I'm joking, I don't think this is actually a good fit for recursion. :))
15:22:51 <qheaden> :P
15:28:30 * qheaden sees a mistake me made that is a textbook example of why you shouldn't code when tired.
15:32:35 <-- clokep_ has quit (Quit: http://www.mibbit.com ajax IRC Client)
15:32:56 <qheaden> Alright! Finally got extractPackets() to work like the old method, but rewritten. Now for verification.
15:34:47 --> clokep_ has joined #instantbird
15:35:04 <clokep_> qheaden: What mistake? :P
15:35:17 <qheaden> clokep_: A terrible spelling mistake. :P
15:35:33 <qheaden> clokep_: Thanks to Komodo's autocompletion, I never noticed it. :P
15:41:43 <clokep_> Ah. Nice. :)
15:41:46 <clokep_> I've done that before, yes.
15:51:02 <qheaden> clokep_: Are you guys against using "continue" in a loop?
15:51:52 <clokep_> http://kewisch.wordpress.com/2013/07/24/thunderbird-styleeditor-console-netmonitor-profiler/
15:51:55 <clokep_> qheaden: No, of course not.
15:52:32 * qheaden realizes that the Ib developers do not share the same views as his CS teacher.
15:54:16 <clokep_> qheaden: Does he say you should never use continue or break? That's total rubbish.
15:54:25 <qheaden> clokep_: He seemed to hate them. :P
15:54:25 <clokep_> The reason they tell you that is that many people over-use them.
15:54:36 <-- gerard-majax has quit (Ping timeout)
15:54:40 <clokep_> There are times to use them. :)
15:57:16 <qheaden> clokep_: extractPackets is fixed! :)
15:59:22 <clokep_> qheaden: Cool, push it when it's ready and I'll take a look.
16:03:32 <-- atuljangra has quit (Quit: http://www.mibbit.com ajax IRC Client)
16:09:26 <qheaden> clokep_: I was able to send myself a message littered with YMSG, and it came through successfully.
16:09:30 <qheaden> I'm getting ready to push.
16:10:16 <clokep_> qheaden: \o/
16:11:10 <qheaden> Pushed.
16:18:12 <flo-retina> atuljangra: what's currently in the etherpad should be good for the next few days, and I fully trust clokep, Mic and aleth to answer your questions while I'm away :).
16:18:19 <flo-retina> ttyl everybody :)
16:18:20 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
16:18:35 <clokep_> qheaden: Left a few comments, looks a lot simpler now though1 ;0
16:20:36 <qheaden> clokep_: No warning should be thrown. That continue line basically allows skipping over occurrences of YMSG that are non-packet related. Like if someone mentions it in a message.
16:21:30 <clokep_> qheaden: That shouldn't be necessary.
16:21:44 <qheaden> ??
16:22:38 <clokep_> qheaden: You don't want to be iterating over EVERY SINGLE element.
16:22:46 <clokep_> You should just grab the data and not even read through any of it.
16:23:19 <clokep_> qheaden: The i = packetEnd - 1; is the part that allows you to skip over the YMSGs in the data.
16:24:17 <qheaden> So I guess I should place that next to the continue statement? We have to verify the protocol version. Other than that, there is no telling if YMSG is the start of a packet or the start of a message.
16:24:48 <clokep_> qheaden: What do you mean "Start of a packet or the start of a message"?
16:24:57 <clokep_> I don't know what difference you have betwene "packet" and "message" here.
16:25:01 <qheaden> Well, nevermind. I forget that aData will contain whole packets, not half packet replays.
16:25:54 <qheaden> So I guess we really don't need to check the protocol version then?
16:25:57 <clokep_> The only thing that can be a "half packet" is the last packet.
16:26:09 <clokep_> I'd suggest checking it in fromArrayBuffer instead.
16:26:49 <qheaden> Would it be better to check packetEnd against the length of the buffer? If packetEnd goes past the end, the packet isn't complete.
16:27:10 <clokep_> Yes, that's exactly what you should be doing.
16:27:55 * clokep_ thought that was implied in http://log.bezut.info/instantbird/130724/#m307 :-/ Sorry.
16:28:35 <-- FireFly_TB has quit (Quit: FireFly_TB)
16:28:38 <qheaden> If it doesn't match, do we still "continue?"
16:29:31 <qheaden> You know what, just ignore that last question.
16:29:38 <qheaden> :P
16:33:25 <clokep_> OK. That's easy.
16:34:20 <qheaden> clokep_: How's this? http://pastebin.instantbird.com/258031
16:40:08 <clokep_> qheaden: It's OK...I don't like the whole way it's designed.
16:40:09 <clokep_> One second.
16:42:13 <clokep_> qheaden: I'm going to write an example w/ a string and you can see how I'd do it?
16:42:21 <qheaden> clokep_: Okay.
16:46:57 --> Mook_as has joined #instantbird
16:47:22 --> nhnt11 has joined #instantbird
16:49:25 <nhnt11> flo-retina left for his vacation?
16:51:18 <nhnt11> Mic: The %endif is in the correct place. Linux doesn't have a separate image for when it's selected.
16:53:14 <nhnt11> fwiw, I've never seen anyone who was against continue and break. :S
16:54:54 <clokep_> qheaden: http://pastebin.instantbird.com/258044
16:54:57 <clokep_> Sorry that took so long.
16:54:57 --> atuljangra has joined #instantbird
16:55:04 <clokep_> nhnt11: Yes, he is.
16:55:18 <clokep_> nhnt11: It doesn't look like the closing } is in the right place anymore, I think it should be one line higher.
16:56:23 <nhnt11> clokep_: Where? :S
16:57:13 <nhnt11> Hmm, Facebook profile pictures aren't working?
16:57:14 <qheaden> clokep_: Okay, that looks good.
16:57:39 <clokep_> nhnt11: Yes, I noticed that last night.
16:57:43 <clokep_> They work on the beta server. :-S
16:57:46 <clokep_> qheaden: Does that all make sense?
16:57:52 <clokep_> Obviously you'll be using ArrayBuffers, not strings...
16:58:05 <qheaden> clokep_: I think the reason my code is complicated is that it is general case, and assumes nothing. But I keep forgetting that extractPackets will have YMSG at the very beginning of the buffer.
16:58:27 <clokep_> qheaden: Yes, I think that's the piece of information you're forgetting. :)
16:58:51 <clokep_> qheaden: Btw the way I wrote this...it doesn't really need to be a separate function, it can just be the onBinaryDataReceived function.
16:59:07 <nhnt11> clokep_: So I googled facebook xmpp beta server and didn't get anything. What is it?
16:59:09 <clokep_> (Instead of calling packets.push, you attempt to handle the packet).
16:59:38 <qheaden> clokep_: I would like to make it a separate function for testing reasons.
17:00:33 <clokep_> qheaden: Makes sense. :)
17:02:48 <clokep_> nhnt11: So I think Mic is right about that %endif, did you see my reply there? :P
17:03:19 <nhnt11> clokep_: The bracket thing? I saw it and asked what you were talking about :P
17:03:30 <-- mpmc has quit (Broken pipe)
17:04:00 <nhnt11> Let me take another look.
17:05:59 <nhnt11> clokep_: Ah, I see it now
17:06:09 <nhnt11> Thanks.
17:16:44 <qheaden> clokep_: I think this is the best we can get it. http://pastebin.instantbird.com/258066
17:17:20 <instantbot> nhnt11@gmail.com cancelled review?(benediktp@ymail.com ) for attachment 2630 on bug 2055.
17:17:21 <instantbot> nhnt11@gmail.com requested review from benediktp@ymail.com  for attachment 2631 on bug 2055.
17:17:23 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
17:20:15 <nhnt11> clokep_: So you'll be landing stuff while flo isn't around? :)
17:22:45 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
17:22:51 --> nhnt11 has joined #instantbird
17:23:10 <clokep_> nhnt11: Yes.
17:23:15 * clokep_ laugh manically.
17:24:00 --> FireFly_TB has joined #instantbird
17:24:09 <clokep_> qheaden: The code after your comment "Don't process half packets." doesn't do at all what you thikn it does. :(
17:24:18 <clokep_> If that happens something is SERIOUSLY wrong with the packet you just recieved.
17:24:35 <clokep_> YOu need to check if there's enough data before slicing to know if you have a full packet.
17:25:08 <qheaden> Oh wow! How did I mess up like that.
17:25:35 * qheaden is rushing too much to get extractPackets out of the way.
17:27:53 <-- nhnt11 has quit (Ping timeout)
17:28:17 <qheaden> clokep_: Is this better? http://pastebin.instantbird.com/258067
17:28:48 --> nhnt11 has joined #instantbird
17:29:42 <clokep_> qheaden: Better. :) The fun thing is WTF do we do if it doesn't start w/ YMSG?
17:29:49 <clokep_> I'd say disconnect, personally.
17:29:56 <clokep_> It means something is SERIOUSLY wrong.
17:30:23 <clokep_> nhnt11: So if Mic r+s that, I can commit it for you.
17:30:56 <qheaden> clokep_: How about we pass an error handler method to extractPackets, and in it, disconnect with a network error.
17:31:01 * nhnt11 keeps wanting a thumbs up emoticon like Facebook in Instantbird
17:32:04 <clokep_> nhnt11: r-.
17:32:11 <clokep_> qheaden: Reasonable.
17:32:31 <nhnt11> clokep_: I didn't r? ;) I know you guys are strict with emoticons.
17:32:40 <clokep_> Well that one in particular. :)
17:32:50 * nhnt11 doesn't get it, but okay
17:33:05 <clokep_> I really dislike the "like" emoticon.
17:33:12 <clokep_> I really want an angel one though.
17:33:16 <clokep_> And maybe a puking one. ;)
17:33:33 <qheaden> clokep_: Should we dump the packet content to the console on an error?
17:33:43 <nhnt11> I use the thumbs up as an easy way to acknowledge something without sounding indifferent.
17:34:06 <clokep_> qheaden: Sounds like a reasonable idea.
17:34:13 <clokep_> nhnt11: k
17:34:17 <clokep_> ;)
17:34:33 <nhnt11> -_-
17:36:23 * clokep_ doesn't find Facebook's style to be very pleasing.
17:45:29 <qheaden> clokep_: I pushed a new version. I think you will like this patch.
17:47:58 <clokep_> OK!
17:50:32 * qheaden realizes this patch fixes three of clokep_'s feedback points in one shot.
17:51:45 <clokep_> qheaden: Which three? :P
17:52:21 <qheaden> clokep_: You had three points about extractPackets.
17:53:30 <clokep_> Ah, OK. :)
17:53:45 <qheaden> clokep_: Why do we need to check if packetLength is at least kPacketHeaderSize?
17:54:12 <qheaden> Ahh ok, nevermind.
17:54:31 <qheaden> We could get a half packet at the end that just has YMSG or something.
17:54:59 <clokep_> Exactly. :)
17:55:06 <clokep_> Actuall.y
17:55:13 <clokep_> You shold do that before checking if YMSG equals it or not.
17:55:30 <clokep_> It should be if length >= kHeaderLength && first four chars == YMSG.
17:57:36 <qheaden> clokep_: Wouldn't doing that cause a network error if we get a half packet at the end without YMSG?
17:57:51 <qheaden> I think I need to move the YMSG check outside of the while loop.
18:05:25 <qheaden> clokep_: How is this version? http://pastebin.instantbird.com/258126
18:13:53 <clokep_> qheaden: No, you definitely 100% don't need to move htat.
18:14:18 <clokep_> qheaden: That's wrong, it will not work.
18:15:04 <qheaden> clokep_: So basically, all I need is the check I added to the while loop?
18:15:49 * clokep_ is confused.
18:16:35 * qheaden is also confused. :P
18:17:32 <qheaden> Okay, so lets just say you have a packet YMSGdatahereYMSGdatathereYM
18:17:52 <qheaden> The first two packets are fine, but the last one is a half packet.
18:19:56 <clokep_> qheaden: OK.
18:19:59 <clokep_> So the code you had checked in?
18:20:05 <clokep_> You had to add 1 line to it and that was all to handle that.
18:20:21 <qheaden> In the version of extractPackets I last pushed, there would be a network error on the last half packet, since the identifier isn't in place.
18:21:02 <clokep_> qheaden: Didn't I just say you have to add a line of code? :(
18:21:11 <clokep_> OK, two lines.
18:24:10 <clokep_> qheaden: Do you see what I'm suggesting or no?
18:24:17 <clokep_> I don't want you wasting time if I'm not making sense.
18:24:43 <qheaden> clokep_: Yes, I think I understand.
18:25:36 <qheaden> First, I need to add a check to the while look to make sure we aren't trying to process a half-packet with a bad identifier. Second, I need to add a check inside of the loop to ensure the packet is at least the header size?
18:26:03 <clokep_> qheaden: http://pastebin.instantbird.com/258148
18:26:38 <clokep_> I don't know what that means.
18:26:45 <clokep_> I don't understand why you're trying to change everything. :(
18:27:09 <clokep_> qheaden: So really I think you can just change the while check to while (aData.byteLength >=  kPacketHeaderSize)
18:27:26 <qheaden> Okay.
18:28:26 <qheaden> clokep_: So this then? http://pastebin.instantbird.com/258149
18:31:36 <clokep_> qheaden: Why did you get rid of the other length check? :(
18:32:08 * qheaden needs to go to bed as his cold meds are kicking in.
18:32:10 <clokep_> There are two things we have to check: do we have enough data to ensure we have a valid header? If so, do we have all of the data that that header says should exist.
18:33:00 <qheaden> Okay, gotcha/.
18:33:58 <qheaden> clokep_: Final draft http://pastebin.instantbird.com/258150
18:34:39 <qheaden> Aww man. Still wrong. I meant > aData.byteLength.
18:37:05 <clokep_> qheaden: Yes, I think that's right. :)
18:41:41 <qheaden> I'm going to take a break. I'll be back on a little later. :)
18:42:04 * qheaden is now known as qheaden_away
18:52:25 --> gerard-majax has joined #instantbird
19:09:42 --> nhnt11-testing has joined #instantbird
19:09:45 <-- atuljangra has quit (Quit: http://www.mibbit.com ajax IRC Client)
19:18:01 * qheaden_away is now known as qheaden
19:18:04 <qheaden> I'm back.
19:18:22 <qheaden> clokep_: I think I can finish implementing your review points before you leave work. :)
19:18:37 --> unghost has joined #instantbird
19:18:38 <clokep_> qheaden: OK, you have 1:12. :P
19:18:44 <qheaden> :P
19:18:50 <clokep_> That would be good though. :)
19:19:03 <qheaden> clokep_: I forgot what conclusion we came to about conference room and username normalizing?
19:19:42 <qheaden> I think the server handles that. Perhaps we should hold off on that until more user testing?
19:21:35 <clokep_> qheaden: I think we decided to not worry about iy tet.
19:21:42 <qheaden> Okay.
19:23:16 <qheaden> clokep_: You also made a comment about moving the buddy authorization request code into jsProtoHelper. Should that be done later, when I start to improve the jsProtoHelper code?
19:24:09 <clokep_> You can do that.
19:24:22 <clokep_> Make sure you reply (IN THE BUG) that that's what you're doing though. :)
19:24:27 <qheaden> Will do.
19:25:19 <qheaden> Wow! I'm down to one more feedback point. :)
19:25:28 <clokep_> I hope it's a good one.
19:26:02 <-- chrisccoulson_ has quit (Ping timeout)
19:30:30 <qheaden> clokep_: What do you think of this check? http://pastebin.instantbird.com/258214
19:31:09 --> rosonline has joined #instantbird
19:32:46 <clokep_> qheaden: Put some extra debug information and you should be OK.
19:32:58 <clokep_> qheaden: Also should the extractPackets throw instead of calling an error function?
19:33:56 <qheaden> I guess it could.
19:38:33 <clokep_> qheaden: I'm asking whether it makes sense. :)
19:38:40 <qheaden> It does.
19:38:49 <qheaden> I'm changing it now.
19:39:03 <qheaden> It removes the need of defining a new function.
19:39:40 <clokep_> That was my thought too.
19:46:37 --> chrisccoulson_ has joined #instantbird
19:46:42 <qheaden> clokep_: With the delimited data string, I have to slice out the final delimiter at the very end of the string.
19:47:00 <qheaden> Using the split method to split around the delimiter causes an empty entry at the very end.
19:47:17 * qheaden hopes he is making sense.
19:49:12 <clokep_> qheaden: Not really. :)
19:49:18 <clokep_> Can you point me to the code / comment / something?
19:50:04 <qheaden> clokep_: Say you have a string "hello%world%goodbye%", and the % is the delimiter. Calling split("%") on it will result in ["hello", "world", "goodbye", ""].
19:50:21 <clokep_> What's your point?
19:50:33 <qheaden> That final empty element will trip the "odd number elements" throw statement. So I added some code above to remove the final delimiter.
19:50:52 * qheaden is about to pastebin his patch.
19:50:59 <clokep_> OK...
19:51:32 <qheaden> clokep_: Here is the patch. http://pastebin.instantbird.com/258237
19:52:57 <clokep_> qheaden: Why not just do a .pop() after splitting it?
19:53:20 <qheaden> That can work.
19:53:34 <clokep_> Or you could simply search for an odd number of elements. :P
19:53:56 <qheaden> That would be more confusing to other developers. :-S
19:54:14 <qheaden> It would be quite...odd. :P
19:54:25 <nhnt11> :P
19:54:59 <qheaden> Wow, my corny pun even brought nhnt11 back to activity. :P
19:55:26 <nhnt11> Actually I opened the tab just after you said it :P
19:56:22 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
19:57:11 <nhnt11> clokep_: How hard would it be to make prpl's open a tab for a chat conversation first, and /then/ join it? (When a chat is joined via the Join Chat dialog for example)
19:57:54 <clokep_> nhnt11: The API is still async.
19:58:20 <nhnt11> The joining can be async, but my idea is to open the tab immediately.
19:58:58 <clokep_> I think you misunderstood what I Just said. ;)
19:59:04 <clokep_> I don't know if that's wanted.
19:59:05 <nhnt11> Probably.
19:59:13 <nhnt11> I'm not sure how you guys would feel about this, but it would solve a few problems
19:59:46 <nhnt11> Focusing the tab after using /join would be easy. And a similar issue with awesometab would be fixed.
20:00:22 <nhnt11> clokep_: So can you rephrase that? I'm afraid I don't get what you mean by "API is still async"
20:01:36 <clokep_> The join API is asynchronous, you don't want it to be synchronous because it involves network communication.
20:01:59 <nhnt11> I'm not saying any of the network stuff should be synchronous
20:02:30 <nhnt11> I'm saying open a tab, display a system message like "Joining <chat room>", and then do the actual joining async
20:02:31 <clokep_> I don't know how hard it would be, but it would possibly be weird to make the conversation before having any data to fill it with.
20:02:35 <clokep_> I'd be afriad it would look broken.
20:02:57 <nhnt11> Yeah I was wondering how you felt about the idea
20:03:45 <qheaden> clokep_: Okay, I pushed a patch. If you have no comments on it, I can push a full patch to BIO. I've completed your feedback.
20:04:41 <nhnt11> I need to solve this problem somehow soon-ish though, because currently when you click a channel in awesometab, I either need to immediately close awesometab and have an awkward pause before the chat tab is opened, or have an awkward pause till the chat tab is opened and then close awesometab
20:04:46 <nhnt11> Neither of which appeals to me
20:05:13 <nhnt11> Another solution would be to show some sort of message indicating a chat is being joined to cover up the pause. Which I don't like.
20:06:10 * nhnt11 thinks opening a conversation tab and then doing the joining async is a decent solution, but I'm open to better ones.
20:06:27 <clokep_> nhnt11: This would have been a good thing to discuss with Florian before he left. ;)
20:06:39 <nhnt11> I realized that :(
20:06:59 <clokep_> nhnt11: I can't think of a good solution and I'm honestly not that familiar with how those notifications work, you'd have better luck talking to Mic and aleth.
20:07:07 * clokep_ plays the "I don't know how the UI works!" card.
20:07:22 <nhnt11> Ok! Just thought I'd put it past you.
20:09:11 <-- chrisccoulson_ has quit (Quit: OSError: [Errno 130] Owner died)
20:09:11 <clokep_> nhnt11: Initially I don't particularly like it, but I get what you're saying.
20:09:17 --> chrisccoulson has joined #instantbird
20:09:18 <clokep_> qheaden: OK, it looks pretty reasonable.
20:09:30 <clokep_> I wrote a comment about hte tests.
20:12:43 <nhnt11> clokep_: I think the main thing my idea would require is to return a conversation from joinChat. Seems not too difficult for JS prpl's at least.
20:12:57 <qheaden> clokep_: On an error, should onBinaryDataReceived return aData.length? In that way, we can clear the data buffer of erroneous packets.
20:13:13 <clokep_> qheaden: Don't we disconnect anyway?
20:13:33 <qheaden> clokep_: Oh yeah we do.
20:13:52 <qheaden> So what do we return? 0?
20:13:52 --> zen_monkey has joined #instantbird
20:14:42 <clokep_> qheaden: It shouldn't really matter, 0 sounds like a plan.
20:14:56 <clokep_> nhnt11: Yes. But do you know all the information ahead of time to do that? I don't know.
20:15:32 <qheaden> clokep_: Okay, I'm going to post a patch on BIO now.
20:15:48 <nhnt11> clokep_: I would say that we do, judging by this: http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#1286
20:16:38 <clokep_> nhnt11: Please stop assuming things work the same way in other protocols as they do in IRC. :(
20:17:11 <nhnt11> clokep_: That's why I said "for JS prpls at least" :P
20:17:14 <clokep_> nhnt11: But the joinChat implementation is at http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#1242 so Idk what that other function has to do w/ our conversation.
20:18:01 <nhnt11> clokep_: That initiates the joining of the chat (networking stuff)
20:18:15 <nhnt11> When we receive JOIN from the server, getConversation is called
20:18:26 <clokep_> nhnt11: I know that.
20:18:29 <clokep_> I wrote that code. :P
20:18:29 <nhnt11> So what is needed is to do getConversation in joinChat as well, and return it
20:18:50 <clokep_> I'm not sure if that would be a good idea.
20:18:50 <nhnt11> clokep_: I know, but I can't omit that without breaking the flow of what I'm saying :P
20:19:01 <nhnt11> Please don't think I'm trying to explain your own code to you :)
20:20:13 <nhnt11> Why not though? It would look identical to opening a conv on hold, which was already left.
20:20:43 <clokep_> nhnt11: I'm guessing there are situations where we DON'T call that code.
20:20:49 <clokep_> Because you can't join the chat.
20:21:09 <nhnt11> The joinChat function you mean?
20:21:46 <clokep_> Um, yes.
20:21:50 <nhnt11> That case is totally different, I'm only talking about when joinChat /is/ called.
20:22:30 <nhnt11> I think I need to see this idea in action before I further promote it, let me try and get it to work roughly...
20:23:47 <clokep_> nhnt11: What do you mean? If joinChat is called, the server can still go "No, you're not allowed to do that".
20:24:14 <nhnt11> Oh that way. Well in that case, we display a system message saying it didn't work in the conversation tab that was opened.
20:24:21 <nhnt11> How is that handled right now? :S
20:24:57 <clokep_> I don't know, you'd have to check what the possible responses to a JOIN are and see what we do in that case.
20:25:21 <instantbot> qheaden@phaseshiftsoftware.com requested review from clokep@gmail.com for attachment 2632 on bug 1982.
20:25:24 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1982 nor, --, ---, qheaden, ASSI, Create Yahoo! Messenger Protocol Plug-In
20:25:30 <nhnt11> Hmm, currently all I get is an error in the console saying "Failed to join MUC"
20:25:40 <clokep_> See http://tools.ietf.org/html/rfc2812#section-3.2.1 and then look for all those responses in ircBase, i.e. http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/ircBase.jsm#1259
20:26:03 <-- Suiseiseki has quit (Quit: Leaving)
20:26:16 <clokep_> nhnt11: OK, you'll need to ask flo about totally redesigning APIs though. ;)
20:26:19 <nhnt11> That can come later right? When we want to show more specific info.
20:26:23 <nhnt11> I understand.
20:26:30 <nhnt11> This can be left for after flo gets back.
20:26:43 <nhnt11> I just wanted to think about it, because it's a real problem.
20:28:12 <clokep_> OK.
20:28:18 <clokep_> aleth and Mic might have ideas. :)
20:28:21 * clokep_ needs to get going.
20:28:38 <nhnt11> I'll definitely talk to them too :)
20:28:54 * qheaden is heading in for the day.
20:30:17 <-- clokep_ has quit (Quit: http://www.mibbit.com ajax IRC Client)
20:31:25 <qheaden> Bye all.
20:31:30 <nhnt11> Bye qheaden
20:31:35 <qheaden> :)
20:31:38 * qheaden is now known as qheaden_away
20:45:53 <nhnt11> Ok, I haven't modified any interfaces, but simply using getConversation in joinChat (for IRC) is a huge improvement.
20:47:38 --> nhnt11-testing has joined #instantbird
20:47:41 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
20:48:48 --> nhnt11-testing has joined #instantbird
20:48:53 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
20:53:58 --> EionRobb has joined #instantbird
20:54:03 --> Mic has joined #instantbird
20:54:03 * ChanServ sets mode +h Mic 
20:54:47 <nhnt11> This works really well with the Join Chat dialog too!
20:54:50 <nhnt11> Hi Mic :)
20:55:10 <Mic> nhnt11: what's the thing that you're currently trying?
20:55:26 <nhnt11> Mic: I'm trying to solve the problem of focusing chats that are joined from awesometab
20:55:45 <nhnt11> I'm about to push a commit for my current solution, if you'd like to see/try.
20:56:06 <Mic> Sure
20:56:16 <nhnt11> Pushed! :)
20:59:36 --> nhnt11-testing has joined #instantbird
20:59:38 <-- nhnt11-testing has left #instantbird ()
20:59:40 --> nhnt11-testing has joined #instantbird
20:59:46 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
20:59:54 <Mic> What happens if you try to join a channel with an invalid name?
21:00:15 <nhnt11> Mic: Is there such a thing?
21:02:29 <Mic> I'm not sure.
21:02:45 <Mic> Maybe use : in the name?
21:03:07 <Mic> It's used in other places in the plaintext IRC messages, so it might be forbidden.
21:03:28 <nhnt11> Ah
21:03:28 <nhnt11> yes
21:03:53 <nhnt11> As clokep was saying, we need to parse error messages for joining chat and display them in the newly opened tab if we use this solution..
21:04:21 --> mpmc has joined #instantbird
21:04:45 <Mic> OK, I see.
21:05:19 <nhnt11> Mic: Do you like this approach in general?
21:05:43 <Mic> There's a delay when joining a channel or what is the problem exactly?
21:05:49 <nhnt11> Yeah
21:05:53 <nhnt11> Er, one second
21:06:09 <nhnt11> Mic: http://log.bezut.info/instantbird/130724#m586
21:06:33 <-- zen_monkey has quit (Ping timeout)
21:07:11 --> zen_monkey has joined #instantbird
21:11:25 <Mic> hmm
21:19:23 <nhnt11> Mic: So.. any thoughts? :)
21:19:25 <Mic> Could we show a throbber on the awesometab until the conversation is loaded or has failed to load?
21:19:46 <-- FireFly_TB has quit (Quit: FireFly_TB)
21:20:04 <Mic> (this is just brainstorming by the way!)
21:20:09 <-- zen_monkey has left #instantbird (Saliendo)
21:20:29 --> FireFly_TB has joined #instantbird
21:20:45 <nhnt11> This is kind of along the lines of http://log.bezut.info/instantbird/130724/#m588?
21:21:03 <nhnt11> Mic: I would rather show the throbber in the conversation tab.
21:21:07 <Mic> We could hide the list and show a throbber as the tab icon and the expected tab label (conversation name) and a message in the center of the tab saying "Joining conversation".
21:21:18 <Mic> nhnt11: I'm not done yet.
21:21:30 <nhnt11> Okay
21:21:42 <nhnt11> Hmm
21:21:49 <nhnt11> That sounds good too
21:23:27 <Mic> If we're successful, we could replace the tab at its position with the conversation tab (or create a conversation panel and replace the awesometab panel with it, keeping the tab itself where it is?)
21:24:18 <-- FireFly_TB has quit (Quit: FireFly_TB)
21:24:25 <nhnt11> The thing is, it doesn't take long enough that something like this would be required, but does take long enough to be noticeable if nothing is done at all..
21:25:33 <nhnt11> Mic: Mainly I'm worried that working on something like that would take too much time :(
21:25:44 <nhnt11> It may not, of course, but I still worry ;P
21:25:46 <nhnt11> :P *
21:26:36 <nhnt11> And of course, your suggestion will make even more sense once we have animations and things..
21:26:47 <nhnt11> I wonder if this should be left as a follow up for after the ranking stuff?
21:27:30 <Mic> Ranking the results is more important, yes.
21:28:48 <Mic> Currently we've got the problem that the conversation tab isn't appearing at the same position as the new conversation tab was anyways...
21:29:19 <nhnt11> I never thought about that. That can be fixed easily.
21:29:41 <Mic> Oh, really? I always thought tabs would be added at the end of the tabstrip.
21:29:54 <Mic> Can we move that quick enough to be unnoticable?
21:30:00 <nhnt11> Yes, but we can move it back :)
21:30:01 <Mic> *them
21:30:04 <nhnt11> Yeah.
21:30:11 <nhnt11> I think so.
21:30:38 <nhnt11> I'll try it out really quick.
21:32:03 <Mic> Would that also work if I open a conversation in background and another normally (i.e. replacing the new conversation tab) without anything getting mixed up if there's a delay in opening the conversations (e.g. because of network activity or a slow computer in general)?
21:32:39 <nhnt11> I don't see why not.
21:33:13 <Mic> OK.
21:33:41 <nhnt11> I guess it would be a problem for joinChat conversations though.
21:33:43 <nhnt11> Since it's async
21:34:25 <Mic> That's what I meant.
21:34:53 <Mic> When there are two conversation opening simultaneously while one should open in background and the other replace the new conversation tab.
21:35:10 <Mic> It's a pretty theoretical case, maybe;)
21:35:31 <nhnt11> Actually even without the background one
21:35:48 <nhnt11> How do we get the tab of a chat before it's joined?
21:35:54 <nhnt11> We'd have to listen to the notification
21:35:57 <nhnt11> for*
21:36:55 <nhnt11> Opening a tab immediately and then joining is making more and more sense to me, even as a temporary solution.
21:37:51 <Mic> We might use that for other problems too.
21:38:45 <Mic> e.g. by showing an input box on for the channel key on the tab, along with a message that a password is required to join the channel.
21:39:24 <nhnt11> Yeah
21:39:28 <Mic> I wouldn't want to decide that tonight though..
21:39:39 <nhnt11> And it would be a good way to properly display failure messages
21:39:44 <nhnt11> Right.
21:40:19 <nhnt11> Ok. For now, I'm going to keep what I've committed and proceed.
21:40:38 <nhnt11> Sounds ok?
21:41:32 <-- mconley has quit (Input/output error)
21:44:10 <Mic> Let me try the IRC change...
21:44:17 * nhnt11 still thinks it may be easier to return chat rooms in batches if we use a special callback instead of generic observers :S
21:44:25 <nhnt11> Ok, let me know what you think!
21:44:58 --> nhnt11-testing has joined #instantbird
21:45:15 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
21:45:25 * nhnt11 goes to get some coffee
21:46:41 --> MicTest has joined #instantbird
21:51:05 <-- MicTest has quit (Connection reset by peer)
21:51:14 <-- dew has quit (Ping timeout)
21:52:12 <nhnt11> re
21:52:51 <Mic> Is there any reason why you want to take that now beside the 'awkward pause'?
21:53:57 <nhnt11> No.
21:54:36 <nhnt11> Having the awkward pause would mean listening for the notification, etc.
21:54:45 <nhnt11> I just think this is a cleaner solution.. kind of.
21:56:18 <nhnt11> Also, btw, the awkward pause can be pretty bad for people with bad internet connections.. like me ;)
21:56:41 <nhnt11> I don't know how much of a pause it is for you, but it's enough over here for someone to think the click didn't work and try clicking again.
21:57:13 <Mic> Ah, don't you close the tab right away after the click?
21:57:33 <Mic> I've only tried the IRC change from the join chat dialog.
21:58:15 <nhnt11> If I did that, then what about when there's only the awesometab in the window? The window would be closed for a second since there's no tab left, and then a new window created when the chat is joined.
21:58:30 <nhnt11> why not from the awesometab? :S
21:59:33 <Mic> I haven't thought of the awesometab being the only tab in a window to be honest.
22:00:38 <nhnt11> Hmm.
22:00:44 --> Suiseiseki has joined #instantbird
22:01:19 <Mic> I thought we'd replace the problem of the delay ones of chats that couldn't be joined and flashing offline status icons on tab icons.
22:01:34 <Mic> *with ones
22:01:44 <Mic> meh ...
22:02:29 --> dew has joined #instantbird
22:02:53 <Mic> Use it for now if it works better for you and ask clokep what he thinks about this IRC change.
22:03:05 <Mic> We should definitely fix that properly though.
22:03:23 <nhnt11> Ok!
22:03:36 <nhnt11> Agreed on "We should fix that properly"
22:05:08 <nhnt11> Mic: Is the patch on bug 2055 (nearly?) r+, btw?
22:05:12 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2055 enh, --, ---, nhnt11, ASSI, New conversation tab needs to display open conversations and those on hold.
22:05:50 <nhnt11> I'm going to file a bug for the LIST stuff soon and upload a patch.
22:06:12 <instantbot> New Instantbird (UI) bug 2065 filed by benediktp@ymail.com.
22:06:14 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2065 nor, --, ---, nobody, NEW, Middle-click on the tab bar should open new conversation tab
22:06:22 <Mic> nhnt11: looks quite good yes, but I haven't completely finished it yet.
22:07:21 <nhnt11> That new bug shouldn't be too difficult. I'm thinking of working on it now.
22:08:43 <Mic> OK, I'll go to bed now if there are no other questions at the moment..
22:08:51 <Mic> bug 2065
22:08:55 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2065 nor, --, ---, nobody, NEW, Double and middle-clicks on the tab bar should open new conversation tab
22:08:57 <Mic> ^
22:09:12 <Mic> The scope changed...
22:09:52 <nhnt11> I was hoping 2055 could land tonight :(
22:09:59 <nhnt11> No matter..
22:10:03 <nhnt11> I have no other questions right now :)
22:10:57 <Mic> clokep has commit access now, right?
22:11:02 <nhnt11> Yes.
22:11:03 <Mic> I think I saw something on the logs
22:14:03 <nhnt11> Mic: Patch for 2065 coming up :)
22:16:10 <-- unghost has quit (Ping timeout)
22:19:49 <instantbot> nhnt11@gmail.com requested review from benediktp@ymail.com  for attachment 2633 on bug 2065.
22:19:51 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2065 nor, --, ---, nhnt11, NEW, Double and middle-clicks on the tab bar should open new conversation tab
22:24:05 <nhnt11> Mic: Do you think that border you mention on bug 2051 is required in the accounts dialog richlistbox as well?
22:24:09 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2051 min, --, ---, nobody, NEW, Styling of new conversation listbox
22:24:11 <nhnt11> If so, it can go in richlistbox.css
22:24:55 <Mic> The account dialog looks fine for me.
22:25:16 <nhnt11> Ok, i'll follow your second comment then.
22:26:32 <nhnt11> Mic: Odd! the border-bottom is defined only if it's /not/ Windows.
22:26:44 <nhnt11> I've copy-pasted that from the conversation binding code btw.
22:27:54 <Mic> On the conversation binding we want something different.
22:28:22 <Mic> Let me upload a screenshot before I leave..
22:28:35 <nhnt11> Okay. I can't judge this very well so I'll just follow your comment.
22:29:48 <nhnt11> http://pastebin.instantbird.com/258430
22:30:03 <nhnt11> Mic: Does that look ok? ^
22:30:58 <Mic> If that's in the rule for the toolbar then yes.
22:31:06 <Mic> http://i2.minus.com/j8UucmiYcbcVx.PNG
22:31:15 <nhnt11> It is.
22:31:26 <Mic> We'd have a border at the marked spot if it were set on the toolbar.
22:31:35 <nhnt11> Ah, I see.
22:31:40 <nhnt11> Ok then.
22:31:49 <Mic> We're setting it on the browser there instead.
22:32:44 <instantbot> nhnt11@gmail.com requested review from benediktp@ymail.com  for attachment 2634 on bug 2051.
22:32:46 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2051 min, --, ---, nhnt11, ASSI, Styling of new conversation listbox
22:38:29 <instantbot> New Instantbird (UI) bug 2066 filed by nhnt11@gmail.com.
22:38:31 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should display chat rooms
22:40:21 <instantbot> benediktp@ymail.com denied review for attachment 2633 on bug 2065.
22:40:25 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2065 nor, --, ---, nhnt11, NEW, Double and middle-clicks on the tab bar should open new conversation tab
22:42:22 <instantbot> nhnt11@gmail.com requested review from benediktp@ymail.com  for attachment 2635 on bug 2065.
22:42:25 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2065 nor, --, ---, nhnt11, NEW, Double and middle-clicks on the tab bar should open new conversation tab
22:42:48 <Mic> Do you get a click event for every double click event, too by the way?
22:43:05 <nhnt11> Yes.
22:43:15 <nhnt11> I believe there's a clickCount property
22:43:53 <Mic> There's a click count on handlers (too) afaik.
22:44:02 <Mic> I really need to go to bed now, though.
22:44:05 <Mic> Good night!
22:44:08 <nhnt11> Good night!
22:44:44 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
22:50:03 --> wnayes has joined #instantbird
22:52:37 --> sabret00the has joined #instantbird
23:03:20 <-- nhnt11 has quit (Ping timeout)
23:05:02 --> nhnt11 has joined #instantbird
23:05:03 <-- nhnt11 has quit (Quit: nhnt11)
23:06:51 <instantbot> nhnt11@gmail.com requested feedback from clokep@gmail.com for attachment 2636 on bug 2066.
23:06:53 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should display chat rooms
23:07:13 --> nhnt11 has joined #instantbird
23:07:19 <-- nhnt11 has quit (Quit: nhnt11)
23:12:54 --> nhnt11 has joined #instantbird
23:12:55 <-- nhnt11 has quit (Quit: nhnt11)
23:35:51 --> clokep has joined #instantbird
23:35:52 * ChanServ sets mode +o clokep 
23:37:28 <clokep> nhnt11: http://log.bezut.info/instantbird/130724/#m678 that's not what I said at all. :(
23:37:33 <clokep> I said I don't know if errors are handled.
23:57:01 <instant-buildbot> build #441 of linux-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-onCommit/builds/441
23:57:07 --> jb has joined #instantbird
23:58:32 <-- mpmc has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:59:03 <clokep> So much bugmail!