#instantbird log on 09 05 2013

All times are UTC.

00:05:02 <-- dionisos has quit (Ping timeout)
00:11:42 <-- Even has quit (Ping timeout)
00:12:20 --> Even has joined #instantbird
00:12:20 * ChanServ sets mode +o Even 
00:24:24 <-- wnayes has quit (Quit: wnayes)
00:34:43 <-- EionRobb has quit (Connection reset by peer)
00:38:21 --> EionRobb has joined #instantbird
00:52:27 <-- Mook_as has quit (Quit: Mook_as)
02:09:29 --> rosonline has joined #instantbird
02:28:13 <instantbot> clokep@gmail.com denied review for attachment 2822 on bug 2089.
02:28:15 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2089 nor, --, ---, qheaden, ASSI, Debug logs are binary only
02:31:59 <clokep> Should only need one more iteration on that. :)
02:32:40 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
03:02:36 <-- rosonline has quit (Quit: Instantbird 1.4 -- http://www.instantbird.com)
03:11:30 <-- FireFly_TB has quit (Ping timeout)
03:55:25 <instant-buildbot> build #961 of linux-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/961
04:00:43 --> Mook has joined #instantbird
04:03:25 <instant-buildbot> build #979 of macosx-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/979
04:18:34 --> FireFly_TB has joined #instantbird
05:12:10 <-- vaguerant has quit (Quit: vaguerant)
05:31:51 --> mconley has joined #instantbird
05:34:40 <-- mconley has quit (Input/output error)
06:09:57 <-- FireFly_TB has quit (Ping timeout)
06:19:13 <-- EionRobb has quit (Quit: Leaving.)
06:43:57 --> qlum has joined #instantbird
06:57:59 <-- Mook has quit (Quit: Mook)
07:11:49 --> jb has joined #instantbird
07:24:14 <instant-buildbot> build #1062 of win32-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1062
07:28:43 --> dionisos has joined #instantbird
08:24:35 <-- ivan has quit (Ping timeout)
08:24:47 <-- qlum has quit (Ping timeout)
08:25:09 --> qlum has joined #instantbird
08:29:44 --> ivan has joined #instantbird
08:34:19 --> chrisccoulson has joined #instantbird
08:37:27 <-- gerard-majax__ has quit (Ping timeout)
08:47:49 <-- qlum has quit (Quit: Getting the <censored> out.)
08:48:03 <-- Suiseiseki has quit (Client exited)
08:55:39 --> qlum has joined #instantbird
09:03:28 --> rosonline has joined #instantbird
09:15:39 --> Suiseiseki has joined #instantbird
09:35:24 --> aleth has joined #instantbird
09:35:25 * ChanServ sets mode +h aleth 
09:38:56 --> gerard-majax has joined #instantbird
09:50:26 <aleth> wb windows nightlies :)
09:59:16 <flo-retina> uh, really?
09:59:44 <aleth> according to http://ftp.instantbird.com/instantbird/nightly/latest-trunk/
10:00:30 <aleth> I haven't looked at the backlog, so I just assumed someone had done some work ;)
10:01:11 * flo-retina didn't know Even was actively working on it.
10:01:33 <flo-retina> wanted to ping him again today to have an ETA :)
10:03:28 --> clokep has joined #instantbird
10:03:29 * ChanServ sets mode +o clokep 
10:03:45 <aleth> I see nhnt11's project has magically expanded to include log indexing :D
10:04:33 * aleth hopes that part will be left until the awesometab is ready...
10:04:42 <flo-retina> aleth: heh ;)
10:04:56 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:05:09 --> clokep has joined #instantbird
10:05:09 * ChanServ sets mode +o clokep 
10:05:22 <flo-retina> aleth: magically expending projects are cool, aren't they? ;)
10:05:50 <clokep> Yay, Moz23!!!
10:05:55 <flo-retina> :)
10:05:58 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:18:51 <-- rosonline has quit (Client exited)
10:22:14 <clokep> :) Magic copy will work again tomorrow, hoppefully.
10:26:46 <aleth> nhnt11: The suggestion of using an enumerator instead of an array to pass data from the stats service should make the suggestion of preffing off bug 2066 unneccessary
10:26:51 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
10:28:16 <aleth> clokep: "Nit: { } around the if statement, we only drop the { } if the inner statement
10:28:16 <aleth> > is a single line, not a single statement." I considered that following the letter but not the spirit of the law ;)
10:28:42 <clokep> :P
10:28:43 <clokep> r-
10:29:07 <aleth> You shall have your brackets.
10:29:31 <clokep> I assume you want to wait for Florian's feedback anyway first. :)
10:30:08 <aleth> He's given it already ;)
10:33:05 <clokep> FYI I'm going to be unavailable this weekend, I'm traveling. (<-- qheaden)
10:33:37 <clokep> (Actually I'm traveling an insane amount in the next two months. :()
10:33:53 <aleth> Living on a jetplane :P
10:34:40 * clokep will probably be traveling in the 10 days between the Mozilla and GSoC summits.
10:36:14 <clokep> I thought the checkin-needed queue was much longer. :-S
10:37:08 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:37:10 <-- jb has quit (Ping timeout)
10:37:30 <aleth> There's bugs like bug 2066 which are really on it but keep being tweaked only because nightlies were down.
10:37:34 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
10:38:10 * aleth suspects qheaden has a few sitting around missing the checkin-needed flag? 
10:38:41 --> flo-retina has joined #instantbird
10:38:41 * ChanServ sets mode +qo flo-retina flo-retina 
10:40:56 <flo-retina> aleth: http://log.bezut.info/instantbird/today#m63 preffing off LIST is about the network traffic, not the UI performance.
10:41:33 <aleth> Oh, OK. That's a protocol-specific concern.
10:41:45 <aleth> (not what was being discussed yesterday)
10:42:09 <flo-retina> that's a "you are fetching tons of data without the user explicitly requesting it"
10:42:32 <aleth> Is that really an issue?
10:43:01 <aleth> The IRC concern (which we don't have data on yet) was the possibility of being kicked from a server for doing it
10:44:37 <aleth> https://bugzilla.instantbird.org/show_bug.cgi?id=2066#c44
10:44:43 <instantbot> Bug 2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
10:48:15 <flo-retina> aleth: yeah, that too
10:48:44 <flo-retina> I think the real reason for the pref is "there are possibilities of this going wrong, for reasons that aren't completely clear"
10:49:41 --> nhnt11 has joined #instantbird
10:49:46 <aleth> Whether a pref is the best way to deal with that is something we will find out after landing. Afaik we are hoping ISUPPORT will be enough
10:50:22 <aleth> I don't mind adding a pref as long as it is clear there is still work to be done there.
10:52:44 * nhnt11 wants to try out the enumerator but has his quiz in an hour
11:33:40 <-- nhnt11 has quit (Ping timeout)
11:34:33 --> nhnt11 has joined #instantbird
11:34:56 * flo-retina prepares an enumerator quiz :-P
11:35:23 <aleth> You have to call yield to get the next question ;)
11:35:26 <nhnt11> ^^'
11:35:39 <flo-retina> aleth: isn't that for generators? :-P
11:35:51 <aleth> Damn, failed already :P
11:36:55 <flo-retina> :-D
11:45:10 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
11:57:47 --> clokep_ has joined #instantbird
11:59:31 <clokep_> flo-retina: I think including a way to disable it is a good idea (per account or globally?)
11:59:51 <flo-retina> I would do globally so that it appears in about:config
12:00:13 <flo-retina> but per account may hypothetically be useful
12:00:34 <flo-retina> (assuming the reason for disabling isn't that the user doesn't want it, but that it's broken with one server)
12:00:36 <aleth> Per account is probably more useful in the long run
12:02:05 <clokep_> globally probably makes sense from a "pref off" capability, and IF people DO need to pref it off...we should probably then add it per account.
12:02:28 <aleth> We'll really have failed if anyone wants to globally pref it off ;)
12:11:13 <clokep_> People on really unstable (or capped) internet connections might.
12:17:15 <flo-retina> aleth: we don't want people to preff it off. We can to have the safety valve of being able to tell people to preff it off if for some reason it's broken for some people in a few nightlies until we fix it.
12:21:10 <flo-retina> aleth, clokep_: so, Even hasn't touched the VM. The successful nightly this night is an happy accident.
12:44:28 * aleth wonders how a happy accident is compatible with the "64 bit VM needed" explanation of the problem
12:45:25 <flo-retina> aleth: I don't think anything is deterministic in the Windows build process
12:45:46 <flo-retina> if we are at a few kB of the address space limit, we could go either way
12:45:57 <flo-retina> I had already noticed that the error message wasn't exactly the same on all failures
13:10:42 --> jb has joined #instantbird
13:17:01 <-- jb has quit (Ping timeout)
13:21:37 <instantbot> aleth@instantbird.org cancelled review?(florian@instantbird .org) for attachment 2817 on bug 2142.
13:21:38 <instantbot> aleth@instantbird.org requested review from florian@instantbird .org for attachment 2824 on bug 2142.
13:21:39 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2142 enh, --, ---, aleth, ASSI, Allow tab completion of nicks which have left the room
13:28:25 <instantbot> aleth@instantbird.org cancelled review?(florian@instantbird .org) for attachment 2824 on bug 2142.
13:28:27 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2142 enh, --, ---, aleth, ASSI, Allow tab completion of nicks which have left the room
13:39:09 --> dew has joined #instantbird
13:39:54 <-- dew1 has quit (Ping timeout)
13:54:17 --> jb has joined #instantbird
13:54:32 --> mconley has joined #instantbird
13:56:19 --> nhnt11 has joined #instantbird
14:04:01 <-- nhnt11 has quit (Ping timeout)
14:05:04 --> nhnt11 has joined #instantbird
14:06:44 <-- nhnt11 has quit (Ping timeout)
14:12:41 <-- jb has quit (Ping timeout)
14:35:16 <instantbot> aleth@instantbird.org denied review for attachment 2823 on bug 2143.
14:35:18 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2143 enh, --, ---, nhnt11, NEW, Stats service should maintain statistical data for conversations and use it for sorting.
14:41:28 <flo-retina> aleth: what does " Please take account of legacy txt logs as we discussed." mean?
14:42:03 --> jb has joined #instantbird
14:42:23 <aleth> flo-retina: It means they should be counted with a nonzero value (no parsing required of course)
14:42:36 <flo-retina> hmm
14:42:55 <flo-retina> do we really care about these old logs at all?
14:43:03 <flo-retina> how long ago did we switch to JSON?
14:43:34 <aleth> We don't want to just pretend those logs don't exist I think.
14:43:36 * flo-retina would happily move txt log support to an add-on
14:43:57 * aleth does not want to do the work to move txt log support to an add-on ;)
14:44:03 <flo-retina> aleth: I think they are old, so irrelevant to decide who we talked to a lot recently
14:45:04 <flo-retina> aleth: btw, I think logger.js needs an almost complete rewrite.
14:45:15 <flo-retina> both reading and writing logs currently use sync disk I/O.
14:45:17 <aleth> flo-retina: Only a bit more than a year ago...
14:45:19 <flo-retina> we don't want that any more
14:45:20 <aleth> Right, it should be async
14:46:20 <flo-retina> and the problem nhnt11 noticed when passing his large array of stuff through xpconnect also happens there. When displaying a large conversation log in the log viewer (supposedly asynchronous), what freezes the UI is passing the array of messages of the conversations from the logger to the log viewer.
14:47:16 <flo-retina> not sure if what wastes plenty of time is creating the wrappers, or the logviewer side causing calls to the classinfo implementation to flatten the interfaces. (They are likely both expensive.)
14:48:31 <aleth> flo-retina: The reason I didn't want to ignore txt logs altogether here and give them minimal support is that if we devs switched to json 15 months ago, the last user to switch due to an update might be not so long ago at all. And it just requires an extra line or two of code.
14:48:55 <flo-retina> which release had json logs first?
14:48:58 <aleth> flo-retina: I didn't realise that doesn't use an enumerator
14:49:34 <flo-retina> aleth: remember when I showed a completely red profiler chart the other day?
14:49:39 <flo-retina> the first red part was this.
14:49:48 <aleth> Aha.
14:50:16 <aleth> I do hope to find time to work on dynamically adding messages soon.
14:50:46 <flo-retina> aleth: http://lxr.instantbird.org/instantbird/source/instantbird/content/viewlog.js#139 is the problem
14:50:53 <flo-retina> the getMessages() call is super expensive
14:50:55 <aleth> It's not directly related, but when we have that a lot of the passing around of messages should be irrelevant
14:51:34 <flo-retina> and the second part of the red chart is that even though we display messages in chunks, we first loop over the whole list of messages to set colors (this is stupid...)
14:51:42 <aleth> Yeah :(
14:51:53 <flo-retina> I wanted to start rewriting that immediately when I saw it
14:51:58 <flo-retina> but it's non-trivial
14:52:10 <flo-retina> would likely take me a few hours
14:52:27 <aleth> It doesn't seem straightforward at all.
14:55:33 <flo-retina> if I could have pretended backward compatibility didn't exist, it would have been easier
14:56:09 <aleth> As ever... the main problem with infinite scroll is the way message styles are structured...
14:56:14 <flo-retina> (I would like to change convbrowser to take messages that need to be displayed from a generator (or even an nsISimpleEnumerator) instead of an array, so that we can compute the color on demand)
14:56:45 <flo-retina> but I guess if I don't want to hack Tb's UI at the same, I need to keep appendMessage working.
14:57:26 <flo-retina> the way we handle colors is also pretty awful :(
14:57:43 <aleth> It's too spread out across the code.
14:57:49 <flo-retina> yeah
14:58:01 <flo-retina> + generating a CSS string that Bubble's JS will then parse... :-S
14:58:15 <aleth> That annoys me every time I see it :-S
14:58:17 <flo-retina> and usually we have a cache, but viewlog.js doesn't, so the same colors will be recomputer over and over again
14:58:48 <flo-retina> aleth: all these style= in Bubbles actually cost us a significant amount of memory (at least that's the way I understand about:memory)
15:00:13 <aleth> I used to hope CSS attr() would get implemented for colors but it doesn't seem likely
15:13:06 --> nhnt11 has joined #instantbird
15:13:51 <-- jb has quit (Ping timeout)
15:15:07 <aleth> nhnt11: Btw JSON.stringify(Map) gives "" ;)
15:15:28 <nhnt11> Yeah I figured it wouldn't work, so I made it an object
15:15:32 * nhnt11 is reading the log
15:16:09 * aleth hopes 2066 can land tonight
15:16:28 <aleth> So please add the pref flo suggested...
15:16:53 <nhnt11> I'll give that priority tonight
15:17:16 --> jb has joined #instantbird
15:18:05 <flo-retina> aleth: I'll need to test it
15:18:10 <flo-retina> but I also hope it can land
15:18:24 <flo-retina> aleth: I don't have high hopes of having a Windows nightly tomorrow though.
15:18:27 <nhnt11> aleth: "Add a comment explaining what the c.source != "chat" test is for." - I thought it was obvious since that method is removing chats for an account :-/
15:18:40 <nhnt11> But I'll add the comment
15:19:01 * flo-retina also finds it obvious
15:19:12 <aleth> nhnt11: It's obvious to me, today. But I worried someone fresh to the code will wonder (remove chats only if source is not a chat... uh, what?)
15:19:14 <flo-retina> nhnt11: the previous version of that test wasn't straight forward though ;)
15:19:53 <nhnt11> aleth: It's filtering this._convs, so it's more like "remove _convs_ only if the source is not a chat"
15:19:53 <flo-retina> nhnt11: on the other hand, aleth is right that you did get this specific line wrong the first time, so it may not be completely obvious ;).
15:20:09 <instantbot> aleth@instantbird.org requested review from florian@instantbird .org for attachment 2825 on bug 2142.
15:20:12 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2142 enh, --, ---, aleth, ASSI, Allow tab completion of nicks which have left the room
15:20:12 <nhnt11> flo-retina: I got it wrong because I seem to have confused the way filter() works :P
15:20:32 <nhnt11> (I used logic for what /shouldn't/ stay in the array rather than what should)
15:20:45 <flo-retina> nhnt11: like aleth just did (possibly on purpose) when saying "(remove chats only if source is not a chat... uh, what?)"
15:21:05 <-- clokep_ has quit (Quit: http://www.mibbit.com ajax IRC Client)
15:21:09 <nhnt11> Ah I see now
15:21:50 <nhnt11> But that would mean explaining how filter() works, which I would expect someone to look up :P
15:21:55 <nhnt11> But I'll add the comment
15:22:00 <aleth> flo-retina: Right, it seemed a possible source of confusion ;)
15:22:27 <aleth> nhnt11: You don't have to explain filter, just say what is being kept and why
15:22:35 <nhnt11> ok
15:23:44 <nhnt11> aleth: When the preferredBuddy changes, the contact is re-added and so the constructor is called again with the new preferredBuddy
15:23:47 <nhnt11> I'll add a comment
15:24:23 <nhnt11> Actually that's a bad choice of id for contacts
15:24:47 <nhnt11> In the next patch, I'll have separate id's for contacts and store the total stats of its linked buddies separately
15:24:59 <nhnt11> (and recompute when its buddies change)
15:25:13 <nhnt11> That may want to wait for optimization though...
15:25:40 <aleth> Since what's in a contact can change, you probably don't want to do too much precomputing there
15:25:48 --> clokep_ has joined #instantbird
15:26:21 <nhnt11> aleth: I don't think the linked buddies would change often, so it would be a good optimization to store the summed stats separately imo.
15:26:29 <nhnt11> Rather than compute all that at sort time
15:26:41 <nhnt11> This isn't really important right now I guess
15:26:54 <aleth> Not really.
15:27:08 <aleth> Leave it for now ;)
15:27:35 <nhnt11> aleth, flo-retina: So I'm just going to keep addressing your review comments until bug 2143 is ready, and not make any more enhancements on this bug at least
15:27:39 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2143 enh, --, ---, nhnt11, NEW, Stats service should maintain statistical data for conversations and use it for sorting.
15:28:23 <flo-retina> aleth: for (...); is really confusing
15:28:56 * clokep_ would prefer keeping support for txt loggers currently.
15:29:19 <flo-retina> aleth: I would put a line break before the ; and indent it alone on a line.
15:29:37 <-- Gizmokid2005 has quit (Client exited)
15:29:40 <flo-retina> but in this specific case, I think using a while loop, and defining the variable outside of it with let instead of var would be less magical
15:29:41 <aleth> flo-retina: Doesn't that also look wrong?
15:29:48 <aleth> How about {} on a line of its own?
15:30:40 <flo-retina> nah, use while
15:30:41 <aleth> ugh, that looks wrong too.
15:30:50 <flo-retina> and j++ -> ++j
15:32:31 <flo-retina> nhnt11: I'm pretty sure there's a much nicer way to do Services.dirsvc.get("ProfD", Ci.nsIFile); file.append("logs"); this._logsPath = file.path; with OS.File
15:32:54 <nhnt11> I'll look it up
15:33:09 <aleth> flo-retina: Yup, while looks better there.
15:34:39 --> Gizmokid2005 has joined #instantbird
15:37:00 <-- jb has quit (Ping timeout)
15:39:58 <nhnt11> flo-retina, aleth: Should I bother with the enumerator before landing 2066 or file a followup?
15:40:05 * nhnt11 guesses followup
15:40:10 <aleth> nhnt11: Followup
15:40:19 * nhnt11 nods
15:40:27 <aleth> It's part of your optimization and improved search...
15:40:38 <flo-retina> was this question part of your enumerator quiz? :-P
15:40:51 <nhnt11> It may be an optimization that should get high priority though
15:41:01 <flo-retina> nhnt11: how are you likely to be around tonight?
15:41:04 * nhnt11 has a feeling nightly users who connect to freenode will be pissed
15:41:04 <aleth> nhnt11: Great :)
15:41:36 <nhnt11> flo-retina: I plan to go to bed around midnight, I'm a bit tired.
15:41:36 <flo-retina> I'll try the 2066 patch tonight. If there are details that need improvements before landing and they are trivial; would be nice to get them fixed quickly :)
15:41:37 <aleth> nhnt11: It seems like it could be a small discrete patch.
15:41:42 <nhnt11> That's.. ~3 hours from now
15:41:48 <nhnt11> aleth: Yeah.
15:42:09 <flo-retina> nhnt11: 2 hours from now is the earliest I could try
15:42:49 <nhnt11> flo-retina: I can likely stay longer if it means landing it tonight
15:42:53 <instantbot> aleth@instantbird.org cancelled review?(florian@instantbird .org) for attachment 2825 on bug 2142.
15:42:54 <instantbot> aleth@instantbird.org requested review from florian@instantbird .org for attachment 2826 on bug 2142.
15:42:57 <nhnt11> I have only one class tomorrow which is cancelled ;)
15:42:57 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2142 enh, --, ---, aleth, ASSI, Allow tab completion of nicks which have left the room
15:43:45 <nhnt11> brb
15:45:08 --> jb has joined #instantbird
15:50:08 --> Mic has joined #instantbird
15:50:08 * ChanServ sets mode +h Mic 
15:50:12 <nhnt11> re
15:51:25 <instantbot> florian@instantbird.org granted review for attachment 2826 on bug 2142.
15:51:27 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2142 enh, --, ---, aleth, ASSI, Allow tab completion of nicks which have left the room
15:54:19 <aleth> Of course, what that bug /really/ wants is some kind of formatting in the editbox...
15:56:31 <flo-retina> yeah...
15:56:36 <flo-retina> non trivial to do though ;)
15:56:40 <aleth> No :(
15:57:31 <aleth> As nontrivial as a little dropdown with all the completion alternatives...
15:58:52 <clokep_> I think it's actually more non-trivial. ;)
15:58:57 <aleth> Maybe using rich text editing would allow that kind of thing.
15:59:52 <aleth> At least in principle...
15:59:58 <clokep_> We could poke Mook about how Komodo does that stuff.
16:00:07 <aleth> That's a good idea :)
16:00:32 <flo-retina> "using rich text editing" do you guys know that we used to have that? :)
16:01:01 <aleth> Really?
16:01:42 <clokep_> I knew that. :)
16:01:50 <clokep_> I used some of the old code to make my really old WIP for that.
16:04:46 <nhnt11> I'll be back in ~30 minutes or so
16:13:57 <flo-retina> aleth: yeah, we had rich text editing before tabs. And when we introduced tabs, for some reason the rich text editor started failing in all sorts of ways I wasn't able to debug at the time (I think it caused plenty of assertions). I (we? well... I was the only developer at the time :-S) decided tabs were more important, and kept the rich text editing code commented out to "figure it out later".
16:15:24 <-- dionisos has quit (Ping timeout)
16:17:38 <clokep_> I played with trying to get it to work again, but did not really get it working...
16:21:33 <qheaden> Hello everyone.
16:24:44 <aleth> flo-retina: In TB is there only ever one rich text editor per window?
16:25:29 <flo-retina> that's likely, yes
16:36:40 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
16:40:59 <clokep_> Hello qheaden.
16:41:25 --> dionisos has joined #instantbird
16:41:29 <-- qlum has quit (Ping timeout)
16:41:30 <instantbot> qheaden@phaseshiftsoftware.com requested review from clokep@gmail.com for attachment 2827 on bug 2089.
16:41:32 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2089 nor, --, ---, qheaden, ASSI, Debug logs are binary only
16:41:51 --> qlum has joined #instantbird
16:47:21 --> Mook_as has joined #instantbird
16:47:33 <-- aleth has quit (Quit: Ciao)
16:51:22 <instantbot> clokep@gmail.com granted review for attachment 2827 on bug 2089.
16:51:24 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2089 nor, --, ---, qheaden, ASSI, Debug logs are binary only
16:55:20 <nhnt11> re
16:55:37 <qheaden> clokep_: Thanks for the review. I'm sure aleth will be happy about this one. :)
16:58:04 <-- dionisos has quit (Ping timeout)
16:58:37 --> dionisos has joined #instantbird
17:00:17 <-- dionisos has quit (Ping timeout)
17:00:26 --> dionisos has joined #instantbird
17:04:02 <qheaden> Time for class. Bye. :)
17:04:48 <nhnt11> Timezones :S
17:05:55 <nhnt11> clokep_: Is "statsservice.requestChatRooms" ok as the name of the pref?
17:06:05 <nhnt11> For preff'ing on/off requesting chat rooms
17:06:33 <-- nhnt11 has quit (Input/output error)
17:06:34 --> nhnt12 has joined #instantbird
17:06:47 <clokep_> nhnt11: statsService definitely.
17:07:12 <nhnt12> Right
17:07:14 <clokep_> But I'm unsure of this would be in that code or the IRC code.
17:07:52 <nhnt12> clokep_: I personally think it's better to be able to pref it off per account actually
17:08:29 <nhnt12> Hmm but you're probably right
17:08:45 <nhnt12> If it's a global pref it's most likely better off in the IRC code...
17:10:17 <nhnt12> clokep_: "chat.irc.requestChatRoomsEnabled"?
17:10:39 <nhnt12> With a comment, "If this is false, requestChatRooms will throw NS_ERROR_NOT_IMPLEMENTED"
17:12:17 <nhnt12> Er, I mean requestRoomInfo everywhere I said requestChatRooms
17:13:08 <clokep_> nhnt12: "If it's a global pref it's most likely better off in the IRC code..." Why do you say that?
17:13:30 <clokep_> I don't think it being global has anything to do w/ whether it should be in IRC or not.
17:13:45 <nhnt12> clokep_: I meant if it's not per account
17:14:13 * nhnt12 isn't really sure
17:14:17 * nhnt12 is now known as nhnt11
17:14:43 <nhnt11> I was going to say the stats service is less at fault than the IRC prpl if someone wants to pref it off
17:14:49 <nhnt11> but that isn't necessarily true
17:15:03 <nhnt11> (I'm referring to the enumerator stuff)
17:15:50 <nhnt11> However, the stats service is more hidden from users than IRC, so it would be easier to find in about:config if it was chat.irc (maybe? this is a lame argument but yeah)
17:19:42 <clokep_> 1. I'm suggesting it be in the IRC code, so please don't try to convince me that it SHOULD be in the IRC code.
17:19:48 <clokep_> Do we still need to continue discussing this? :P
17:21:00 <nhnt11> Lol
17:21:16 <nhnt11> I'm not really trying to convince you, just voicing my thoughts.
17:21:45 <-- gerard-majax has quit (Ping timeout)
17:28:48 <clokep_> OK. I just think we're trying to say the same thing. :P
17:29:23 * nhnt11 just got an email from Carol about the final evaluation
17:34:16 <Mic> Yep, there's also been one for mentors.
17:42:48 --> flo-retina has joined #instantbird
17:42:49 * ChanServ sets mode +qo flo-retina flo-retina 
17:44:19 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
17:44:47 <-- dionisos has quit (Ping timeout)
17:44:56 --> dionisos has joined #instantbird
17:45:29 <flo-retina> the weather is too good to stay indoor (I've already been in the office all day long).
17:45:53 * flo-retina is using a computer from the table in his garden for the first time :)
17:48:14 * clokep_ frequently sits on his balcony on his computer.
17:48:14 <flo-retina> I find "We require that students stop all coding on 23 September. " poorly phrased. I hope they are pretty happy if students continue contributing after GSoC ;)
17:48:17 <clokep_> It's a weird feeling. :P
17:48:24 <clokep_> flo-retina: I found that weird too.
17:48:51 <nhnt11> Someone already asked about it on the students list
17:48:57 <flo-retina> heh
17:49:04 <nhnt11> Carol's reply: "Of course. This is open source, you're *supposed* to want to continue
17:49:04 <nhnt11> to work on your project after GSoC is over. :-)"
17:49:52 <flo-retina> the code submission thing is also strange
17:50:11 <flo-retina> "what portion of their code to submit if they made changes to an existing code base or their code interacts a lot with a system they didn't write. The answer is: use your best discretion."
17:50:22 <flo-retina> I read this as "send whatever" :-P
17:52:15 <flo-retina> nhnt11: so should I try the patch currently in the bug asap, or wait for you to submit another one first?
17:52:47 <nhnt11> flo-retina: I'm about to submit one that includes the pref
17:54:16 <flo-retina> ok
17:54:25 * flo-retina will look at the checkin-needed queue instead then
17:57:19 <nhnt11> flo-retina: It's uploaded.
17:58:26 <-- jb has quit (Quit: jb)
17:58:56 <clokep_> nhnt11: Doesn't that need an r? on it?
17:59:21 --> gerard-majax has joined #instantbird
17:59:33 <instantbot> nhnt11@gmail.com requested review from clokep@gmail.com for attachment 2828 on bug 2066.
17:59:37 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
17:59:57 <nhnt11> clokep_: Heh, yeah
18:00:41 <flo-retina> nhnt11: the r? would likely be faster if you pastebined an interdiff with the latest r+'ed version ;)
18:01:37 <nhnt11> clokep_, flo-retina: Interdiff: http://pastebin.instantbird.com/320247
18:02:02 <flo-retina> nhnt11: r-
18:02:14 <nhnt11> oh no, a comma
18:02:15 <flo-retina> nhnt11: the irc prefs in all-instantbird.js should stay together
18:02:22 <flo-retina> ah, that too!
18:03:21 * nhnt11 wonders how he manages such epic fails
18:03:41 <flo-retina> you haven't tried the patch before attaching it, have you? ;)
18:03:49 <clokep_> nhnt11: If this is IRC specific I'd prefer something like "allowList" not requestRoomInfoEnabled
18:04:00 <nhnt11> flo-retina: I tried it when the pref was checked by the stats service rather than the IRC account
18:04:22 <flo-retina> nhnt11: that means "no" ;)
18:04:32 <nhnt11> yeah
18:04:38 <nhnt11> -_-'
18:04:53 <clokep_> r-!
18:05:37 <flo-retina> clokep_: well, /list is still enabled
18:05:45 <flo-retina> clokep_: I see your point though :).
18:07:25 <clokep_> Terminology...
18:13:27 <-- dionisos has quit (Ping timeout)
18:13:37 --> dionisos has joined #instantbird
18:15:46 <flo-retina> nhnt11: so when is the new IRC patch coming?
18:15:52 <nhnt11> Er, in a minute sorry
18:17:42 <instantbot> nhnt11@gmail.com cancelled review?(clokep@gmail.com) for attachment 2828 on bug 2066.
18:17:43 <instantbot> nhnt11@gmail.com requested review from clokep@gmail.com for attachment 2829 on bug 2066.
18:17:46 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
18:18:08 <nhnt11> clokep_: Interdiff: http://pastebin.instantbird.com/320258
18:18:30 <nhnt11> bad patch again
18:18:35 * nhnt11 cries
18:18:59 <clokep_> nhnt11: Can you give an interdiff to the patch I already r+d?
18:19:03 <nhnt11> clokep_: Will do
18:22:29 <flo-retina> nhnt11: btw, the comment in the pref file doesn't make the name less confusing, as people looking at about:config (or maybe I should say "/about config" now? :)) won't see the comment
18:23:24 <nhnt11> flo-retina: I'm not good with names :(
18:24:57 <flo-retina> clokep_: how about automaticList?
18:25:32 <clokep_> flo-retina: Fine w/ me.
18:25:36 <clokep_> nhnt11: You didn't update the name in irc.js.
18:25:46 <nhnt11> clokep_: That's why I said bad patch
18:25:55 <flo-retina> clokep_: that's why he's crying ;)
18:25:56 <nhnt11> I'm uploading a new one
18:25:58 <nhnt11> that works :P
18:26:11 <flo-retina> really? Does it have tests? :-P
18:26:26 <nhnt11> -_-'
18:27:00 <flo-retina> clokep_, aleth: oh btw, getting a serious plan to increase our test coverage could be an interesting activity for the summit
18:27:02 * clokep_ is currently writing tests.
18:27:15 <clokep_> flo-retina: Do we have money for interns? :P
18:27:31 <flo-retina> do you have test interns? :-o
18:29:28 <instantbot> nhnt11@gmail.com cancelled review?(clokep@gmail.com) for attachment 2829 on bug 2066.
18:29:29 <instantbot> nhnt11@gmail.com requested review from clokep@gmail.com for attachment 2830 on bug 2066.
18:29:31 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
18:29:45 <nhnt11> clokep_: Interdiff: http://pastebin.instantbird.com/320259
18:42:28 <clokep_> flo-retina: I wish. :(
18:42:36 <clokep_> They tend to not understand unit tests. :-/
18:42:50 <flo-retina> nhnt11: http://pastebin.instantbird.com/320290
18:43:11 <nhnt11> :O
18:43:12 <flo-retina> looks like nhnt11 will continue to cry :-P
18:43:24 <instantbot> clokep@gmail.com granted review for attachment 2830 on bug 2066.
18:43:28 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
18:43:59 <nhnt11> flo-retina: It applies cleanly on my tree
18:44:13 <flo-retina> what does hg parent show?
18:44:40 <flo-retina> the latest revision I have is "c85722337c29:     Bug 2032 - Include the patch from bug 865976 to fix linux bustage, r=bustage-fix."
18:44:44 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2032 nor, --, 1.5, clokep, RESO FIXED, Update to Mozilla 23
18:44:52 <nhnt11> with no patches applied, bug 2032 - include the patch from bug 865976
18:45:19 * nhnt11 investigates
18:46:14 <nhnt11> Ah
18:46:23 <nhnt11> I had a patch for bug 2042 in my queue
18:46:27 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2042 nor, --, ---, nhnt11, ASSI, Starting conversations on unrelated keyboard- or mouse-events
18:46:30 <nhnt11> I guess I figured that would be checked in before 2066
18:46:39 <nhnt11> but it hasn't been reviewed yet because Mic was away :(
18:46:41 * nhnt11 forgot about it
18:48:09 <nhnt11> flo-retina: Sorry, I'm fixing it
18:51:53 <instantbot> nhnt11@gmail.com cancelled review?(florian@instantbird .org) for attachment 2818 on bug 2066.
18:51:54 <instantbot> nhnt11@gmail.com requested review from florian@instantbird .org for attachment 2831 on bug 2066.
18:51:56 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
18:52:17 <nhnt11> flo-retina: I clicked submit by mistake before adding a comment that I fixed the conflicts
18:58:17 <flo-retina> alright, rebuilding with these patches
18:58:37 <flo-retina> errr, attempting to rebuild
18:58:46 <flo-retina> RuntimeError: File "multiUserIcon.png" not found in /Users/florian/buildhg/hg.instantbird.org/instantbird/themes, /Users/florian/buildhg/obj-instantbird-dbg/instantbird/themes
18:58:55 <flo-retina> nhnt11: ^^^
18:59:06 <flo-retina> oh sorry
18:59:12 <flo-retina> I used patch instead of hg import :(
19:00:12 <nhnt11> flo-retina: I can guess some of your comments on this patch :P The MUC icon needs to be designed by a designer, the way it displays the participant count is totally wrong, among other things :P
19:00:19 <flo-retina> $ hg import --no-commit attachment.cgi\?id\=2031 -f
19:00:19 <flo-retina> applying attachment.cgi?id=2031
19:00:19 <flo-retina> abort: error: No such file or directory
19:00:20 <flo-retina> hmm
19:00:48 <flo-retina> nhnt11: I'm still trying to _apply_ it :(
19:01:00 <nhnt11> flo-retina: I think you need 2831?
19:01:09 <flo-retina> instantbot: bug 2831
19:01:12 <instantbot> Bug 2831 was not found.
19:01:19 <nhnt11> No, attachment 2831
19:01:26 <flo-retina> uh
19:01:27 <flo-retina> sorry
19:01:54 <flo-retina> yeah, that works much better :)
19:02:44 --> florian has joined #instantbird
19:05:51 <florian> it's really strange that the awesometab disappears, the previous tab gets selected, and a second later the new channel opens in another tab
19:06:08 <nhnt11> florian: That's what I've been talking about
19:06:37 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
19:07:00 <flo-retina> I'm going to try again, with the profiler this time :-P
19:07:14 --> florian has joined #instantbird
19:07:15 <nhnt11> flo-retina: Have fun :D
19:07:21 * nhnt11 is going to eat something
19:07:24 <nhnt11> bbl
19:11:16 <flo-retina> looks like the snapiness could be improved: http://i5.minus.com/ii78d8f62EDCy.png :-P
19:12:57 <flo-retina> 5.5% of the same spent in logDebugMessage :(
19:14:26 <clokep_> :-/
19:18:30 <flo-retina> 2.5% of the freeze is in GenericAccountPrototype.getChatRoomDefaultFieldValues()
19:20:50 <flo-retina> http://lxr.instantbird.org/instantbird/source/chat/modules/jsProtoHelper.jsm#183 looks like it could be optimized a bit
19:21:09 <flo-retina> but I still don't see why we need to call it plenty of times. Sounds like something should be lazier somewhere
19:21:33 <flo-retina> (I don't think any code should care about the chat room fields until we decided we want to join this room)
19:25:15 <-- qlum has quit (Ping timeout)
19:27:19 <flo-retina> ah, it's the code in https://bugzilla.instantbird.org/attachment.cgi?id=2830 that does the getChatRoomDefaultFieldValues call
19:27:48 <flo-retina> clokep_: is it intended that we display all the channels in the server tab when the LIST has been caused by the awesometab?
19:32:01 --> qlum has joined #instantbird
19:32:09 --> jb has joined #instantbird
19:32:15 <flo-retina> we actually spend 10% of the time logging debug messages during LIST
19:32:45 <flo-retina> (some of it in onDataReceived on the socket, and some of it in _handleMessage in ircHandler.jsm)
19:35:07 <flo-retina> 18% of the time is spent doing QueryInterface calls
19:35:29 <flo-retina> that would likely go away with the enumerator
19:35:52 <clokep_> flo-retina: I don't know if we need to display them all or not.
19:37:12 <flo-retina> I just tried connecting a freenode account
19:37:18 <flo-retina> closing and reopening the awesometab
19:37:27 <flo-retina> my debug ib is now frozen at 100% of the CPU
19:37:36 <-- florian has quit (Ping timeout)
19:37:37 <flo-retina> and has been for a minute already
19:37:48 <flo-retina> heh, apprently it doesn't even reply to pings any more ;)
19:39:43 <flo-retina> and it's still processing
19:40:40 --> florian has joined #instantbird
19:41:31 <clokep_> :-/
19:41:39 * clokep_ wishes we could somehow handle PINGs immediately.
19:43:22 --> wnayes has joined #instantbird
19:44:28 <flo-retina> "Closing Link: 81-67-225-166.rev.numericable.fr (Ping timeout: 248 seconds)"
19:44:45 <-- jb has quit (Ping timeout)
19:45:11 <flo-retina> so it looks like opening a new tab with a connected freenode account put the CPU at 100% for at least 4 minutes.
19:45:17 <flo-retina> (with the UI completely frozen
19:46:01 <flo-retina> this is a debug build, so it's much slower than a normal one
19:46:09 <flo-retina> but still, that seems a bit concerning ;)
19:48:26 <-- wnayes has quit (Quit: wnayes)
19:48:31 --> wnayes has joined #instantbird
19:52:32 * clokep_ agrees.
19:53:25 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
19:54:28 --> chrisccoulson has joined #instantbird
20:02:38 <flo-retina> clokep_: do you think we should r- until it's usable, or land it preff'ed off?
20:03:11 <nhnt11> re
20:03:15 <flo-retina> (I'm leaning toward the latter but could be convinced otherwise)
20:03:37 <nhnt11> Yeah it's bad :/
20:03:52 <nhnt11> I think I should do at least the enumerator stuff before landing
20:04:19 <flo-retina> hmm, ok.
20:04:21 <flo-retina> ETA?
20:04:31 <nhnt11> I'll work on it now
20:04:31 * flo-retina has no idea of how much work that is
20:04:36 <nhnt11> Nor do I
20:04:50 <clokep_> flo-retina: preff'ed off
20:08:36 * nhnt11 doesn't know how to create an nsISimpleEnumerator from a js array
20:09:06 <flo-retina> nhnt11: http://lxr.instantbird.org/instantbird/source/chat/components/src/imAccounts.js#990
20:09:31 <nhnt11> That's easier than I expected, thanks
20:09:48 <flo-retina> that assumes you imported imXPCOMUtils, but I suspect you already use it
20:09:51 <nhnt11> yeah
20:09:56 <nhnt11> :)
20:14:15 <nhnt11> flo-retina: nsIArray would work too right?
20:14:48 <nhnt11> An enumerator would be usable only once
20:15:10 <flo-retina> do you use it more than once?
20:15:11 <nhnt11> So I would rather return and nsIArray and call .enumerate() on that in the newtab binding
20:15:13 <nhnt11> Yes
20:15:29 <nhnt11> When scrolling
20:15:32 <nhnt11> It's reused
20:15:43 <nhnt11> Hmm, but then I could just continue the enumeration
20:15:48 <flo-retina> isn't an enumerator exactly what you want when scrolling?
20:15:56 <nhnt11> yeah 
20:16:10 <nhnt11> Let me look through this code and make sure it's not being reused
20:19:59 <clokep_> What if you scroll up? ;)
20:20:33 <flo-retina> clokep_: we don't remove DOM nodes when scrolling further down
20:21:42 <clokep_> Yeah, that was a joke. :(
20:27:08 --> FireFly_TB has joined #instantbird
20:28:37 <-- qlum has quit (Quit: Getting the <censored> out.)
20:33:56 <-- Suiseiseki has quit (Ping timeout)
20:37:22 <nhnt11> Hmm, modifying finishImport to work with this is proving tricky
20:38:15 --> Suiseiseki has joined #instantbird
20:39:14 --> qlum has joined #instantbird
20:41:45 <-- qlum has quit (Ping timeout)
20:41:52 --> EionRobb has joined #instantbird
20:46:47 <-- mconley has quit (Input/output error)
20:50:36 <nhnt11> :(
20:50:42 <nhnt11> Something isn't right...
20:50:59 <nhnt11> When I do getNext() on the enumerator it appears all its properties are undefined
20:52:49 <flo-retina> want to pastebin an interdiff?
20:53:02 <nhnt11> In a minute, doing some basic debugging
20:57:21 <nhnt11> When I run Object.keys() on the object returned by getNext() I see only QueryInterface
20:57:38 <flo-retina> you need to call it
20:57:48 <nhnt11> Ah
20:58:46 <flo-retina> when you pass and array in xpconnect and declare the type of the elements of the array, xpconnect will call QueryInterface on each element for you (and it's that part that is super slow and that we want to avoid)
20:58:53 <nhnt11> Right
20:58:59 <nhnt11> So that applies the interface to the object
20:59:04 <nhnt11> and gives me access to the properties I want
20:59:44 <nhnt11> It works \o/
20:59:44 <nhnt11> :)
20:59:50 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
20:59:56 --> nhnt11 has joined #instantbird
21:00:24 <-- FireFly_TB has quit (Quit: FireFly_TB)
21:01:00 <nhnt11> thanks
21:02:51 <nhnt11> It's fast :)
21:29:08 <-- clokep_ has quit (Quit: http://www.mibbit.com ajax IRC Client)
21:34:42 <flo-retina> nhnt11: so where is the fast patch?
21:34:53 <nhnt11> flo-retina: Well it wasn't very fast but I think it's nearly ready
21:44:58 <nhnt11> Bah, bugs :(
21:45:19 <nhnt11> The first new tab I open works great, but the next tab doesn't show anything
21:45:22 <nhnt11> no errors either :/
21:45:46 <nhnt11> Hmm, the next one shows what I need if I resize
21:45:50 <nhnt11> which means init() isn't working properly
21:47:21 <nhnt11> Ah
21:47:35 <nhnt11> Ok, it works 
21:47:36 <nhnt11> :)
21:55:06 <nhnt11> flo-retina: Patch coming up
21:55:30 <nhnt11> flo-retina: Would you like to look at an interdiff before I upload?
21:57:21 <flo-retina> sure
21:57:59 * nhnt11 is quickly fixing a reference error
21:59:12 <nhnt11> http://pastebin.instantbird.com/320507
21:59:14 <nhnt11> flo-retina: ^
22:01:02 <-- EionRobb has quit (Ping timeout)
22:01:21 <nhnt11> Hmm, that doesn't seem to include ibConvStatsService.js
22:01:34 <nhnt11> All that changed there is I now return nsSimpleEnumerator(filteredConvs)
22:01:44 <nhnt11> And the appropriate changes have been made in the idl file of course
22:02:15 <flo-retina> around lines 78-80 I don't think you need the conv variable
22:02:36 <flo-retina> you can do return blah.getNext().QueryInterface(foo); (likely on 2 lines)
22:02:54 <nhnt11> QueryInterface returns the object?
22:02:54 <nhnt11> ok
22:03:18 --> EionRobb has joined #instantbird
22:03:45 <flo-retina> yes
22:05:15 <nhnt11> flo-retina: Here's a full interdiff: http://pastebin.instantbird.com/320509
22:07:21 <flo-retina> nhnt11: it's not clear why you have the loop on while (this.listItems.length < this.numberOfItemsToDisplay) and then another loop
22:07:49 <flo-retina> the "remove excess items" part is especially strange
22:08:03 <nhnt11> Hmm
22:08:12 <nhnt11> It's because we reuse the DOM elements
22:08:40 <nhnt11> Not sure how to put it in a comment
22:08:42 <flo-retina> it looks like in the new for loop you you could just do the i < this.listItems.length test with an if and push a list item if needed
22:09:41 <flo-retina> hmm, you probably still need the loop at the end to remove excess items
22:09:58 <flo-retina> it's the loop doing pushListItem that you can get rid of
22:10:01 <nhnt11> flo-retina: Wait what
22:10:10 <nhnt11> listItems is a list containing the current dom elements
22:10:34 <nhnt11> So the alternative I see is getting rid of the first while loop, and changing the condition of the for loop
22:10:45 <nhnt11> the new condition would be something like.... (1 second)
22:10:46 <flo-retina> that's what I'm suggesting
22:10:53 <flo-retina> it will avoid creating dom element that you may not need
22:11:21 <nhnt11> i < this.numberOfItemsToDisplay && this.hasMoreConversations
22:11:34 <flo-retina> yeah
22:11:43 <nhnt11> And then in the loop, add an if (!listItems[i]) this.pushListItem()
22:11:46 <nhnt11> ok
22:12:07 <flo-retina> use this.listItems.length in the if
22:12:14 <nhnt11> right
22:15:44 <nhnt11> flo-retina: Are those all your comments?
22:16:14 <flo-retina> I looked only at the first pastebin
22:16:27 <nhnt11> I think the rest of it is ok
22:16:34 <nhnt11> Time to upload a patch
22:18:37 <flo-retina> nhnt11: yes, that's all I had
22:19:47 <instantbot> nhnt11@gmail.com cancelled review?(florian@instantbird .org) for attachment 2831 on bug 2066.
22:19:48 <instantbot> nhnt11@gmail.com requested review from florian@instantbird .org for attachment 2832 on bug 2066.
22:19:51 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
22:21:39 <flo-retina> "if (i + 1 > this.listItems.length)"
22:21:50 <flo-retina> did you mean "if (i == this.listItems.length)" ?
22:22:58 <nhnt11> :]
22:23:26 * nhnt11 is on a roll today
22:23:51 <-- florian has quit (Input/output error)
22:24:24 --> florian has joined #instantbird
22:24:44 <-- EionRobb has quit (Ping timeout)
22:25:32 --> EionRobb has joined #instantbird
22:26:13 * flo-retina would like the 'swipe 3 fingers up' gesture to scroll to the top of the richlistbox
22:27:57 <flo-retina> nhnt11: have you tried this on freenode?
22:28:01 <nhnt11> flo-retina: Do you think a similar optimization could be made in the room info callback api?
22:28:04 <nhnt11> flo-retina: yes.
22:28:21 <nhnt11> s/could/should
22:28:27 <flo-retina> I suspect florian will ping timeout again soon
22:28:38 <flo-retina> (my debug build is frozen again)
22:28:39 <nhnt11> :(
22:28:41 <-- florian has quit (Ping timeout)
22:28:54 <flo-retina> basically I see no improvement with the new patch
22:29:04 <flo-retina> well, no, that's not completely true
22:29:17 <flo-retina> I suspect you fixed the freeze that happened when opening the second awesometab
22:29:27 <nhnt11> Yeah, it's snappy now
22:29:30 <flo-retina> but what disconnects me is the freeze that happens when receiving and processing the LIST results
22:29:41 <nhnt11> i suspect the ui freeze you're getting is because of the debug loggin
22:29:43 <nhnt11> logging*
22:29:52 <flo-retina> I don't think my terminal is that slow
22:30:17 <nhnt11> Could it be because of returning 250 wrapped objects at a time?
22:30:27 <flo-retina> the only way I know it's still doing something is seeing "prpl-irc: This message doesn't seem to be UTF-8 encoded: :adams.freenode.net 322 testib #swedroid-dev 9 :http://www.swedroid.se | #swedroid för vad du än känner för (inkl. android)" messages in my terminal
22:30:35 <flo-retina> maybe
22:30:37 <nhnt11> flo-retina: By the way, try doing a /list
22:30:39 <flo-retina> why are we doing that again?
22:30:45 <nhnt11> I'm pretty sure it will freeze.
22:30:51 <nhnt11> (even without this patch applied)
22:30:51 --> florian has joined #instantbird
22:31:26 * flo-retina opens the profiler
22:31:53 <flo-retina> nhnt11: it's quite possible that /list would freeze even without the patch
22:31:59 <flo-retina> but I wasn't using it before.
22:32:07 <flo-retina> I'll now user it each time I press Command+t
22:32:35 <nhnt11> fair enough
22:33:56 <flo-retina> looks like I captured only the last 4s of the freeze
22:35:48 <flo-retina> nhnt11: ConvStatsService.prototype._addChat takes 39% of the time during the freeze on my profile
22:36:24 <flo-retina> err, no. (39+36)%
22:36:40 <nhnt11> That's because we're sorting chats
22:36:58 <nhnt11> (This is why I kept asking if we really wanted to sort chats)
22:37:29 <flo-retina> ah, I wanted to ask if you were going to sort them
22:37:42 <flo-retina> we discussed how they should be sorted by participant count
22:37:49 <flo-retina> and I saw near the top plenty of completely irrelevant channels
22:38:31 <nhnt11> Hmm
22:39:34 <flo-retina> _getPositionToInsert looks like ~12% of the time
22:39:39 <flo-retina> that's the sort, right?
22:39:46 <nhnt11> yeah
22:40:01 <flo-retina> so no, it's not responsible for the freeze ;)
22:40:34 <nhnt11> flo-retina: Let me do some timing
22:41:37 * flo-retina shouldn't do profiling on a debug build :(
22:45:02 * nhnt11 should use the profiler
22:46:18 <flo-retina> do you know how to use it? Here is the profile I'm currently looking at: http://people.mozilla.com/~bgirard/cleopatra/#report=b1122a54a82bc80ceaec08ed2c61f7cb11a41f57
22:46:47 <flo-retina> I'm interested only in the read part at the beginning
22:47:50 <nhnt11> Looks like the PossibleChat constructor is expensive
22:49:50 <nhnt11> flo-retina: The constructor accesses the imAccount from the accounts service. I wonder if this could be significant
22:50:39 <flo-retina> it doesn't seem to do much though :-
22:50:40 <flo-retina> s
22:51:12 <nhnt11> It's transferring a wrapped object :P
22:51:45 --> clokep has joined #instantbird
22:51:45 * ChanServ sets mode +o clokep 
22:52:14 <flo-retina> nhnt11: it accesses the account
22:52:44 <flo-retina> that shouldn't happen, infoText should be a getter or something
22:53:08 <nhnt11> yeah I just changed it
22:53:59 <flo-retina> you probably just removed 5% of the total time ;)
22:57:29 <flo-retina> I don't really understand how the time in _addChat is spent (for the parts that aren't in the PossibleChat constructor)
22:58:20 <flo-retina> clokep: good evening :)
22:58:22 <nhnt11> I wonder if the Map is expensive
22:58:33 * clokep pokes flo-retina
22:58:35 <clokep> Hello.
22:59:21 <nhnt11> The splice may be expensive too
22:59:25 <flo-retina> nhnt11: you mean compared to an object?
22:59:30 <nhnt11> flo-retina: Yeah
22:59:48 <nhnt11> don't see why it would be though
22:59:55 <flo-retina> the indexof could be expensive
23:01:21 <nhnt11> flo-retina: I wonder if that could be optimized with a binary search, since they're sorted
23:01:43 <flo-retina> maybe
23:02:00 <flo-retina> would you like me to rerun with the changes you just made?
23:02:59 <nhnt11> sure
23:03:09 <nhnt11> I only changed the infotext thigns
23:03:10 <nhnt11> thing*
23:04:38 <flo-retina> I would also like us to stop pointlessly calling getChatRoomDefaultFieldValues all the time
23:05:35 <nhnt11> ok
23:05:45 <nhnt11> flo-retina: How long will you be online?
23:06:03 <flo-retina> I started sleeping an hour ago :-P
23:06:42 <flo-retina> and I thought you were tired too
23:06:59 <flo-retina> so maybe we should stop the optimization game, and decide what our _real_ plan is ;)
23:07:09 <nhnt11> :P
23:07:34 <nhnt11> flo-retina: Btw, fwiw I don't think the indexOf is a big deal since none of these chats are already on the list
23:07:37 <flo-retina> there's no doubt that this won't fly, even if we optimize away half of the wasted CPU time
23:08:44 <flo-retina> nhnt11: I don't understand what you mean. indexOf has to check all the stuff that's already in the array to decide what you are looking for isn't there. But you may be right as indexOf isn't showing up in the profile.
23:09:03 <nhnt11> flo-retina: It checks if the chat is in the Map first
23:09:05 <nhnt11> that's fast
23:09:25 <flo-retina> ah, ok
23:09:55 <flo-retina> I would like to optimize the queryInterface implementation in imXPCOMUtils some day
23:10:19 <flo-retina> but again, that will speed things up, but not enough for us to not have an issue any more
23:10:50 <nhnt11> flo-retina: What do you recommend we do?
23:11:03 <flo-retina> do you have ideas?
23:11:04 <nhnt11> Scrap LIST for now, and only display chats we've joined before?
23:11:24 <flo-retina> would making much smaller batches help?
23:12:12 <nhnt11> Hmm, perhaps
23:13:06 <nhnt11> me tries
23:13:29 <flo-retina> how long is the freenode freeze for you? (you aren't on a debug build, right?)
23:13:36 <nhnt11> flo-retina: no freeze
23:13:41 <flo-retina> really?
23:13:42 <nhnt11> freezes only on debug builds
23:13:43 <nhnt11> yeah
23:14:22 <nhnt11> flo-retina: I wouldn't have considered submitting this patch at all if it caused a complete UI freeze while LIST was going on :P
23:14:29 <flo-retina> I wonder if it's really possible that stuff gets frozen for me for several minutes, and not at all for you
23:14:58 <nhnt11> flo-retina: It freezes for you on a non-debug build? O_o
23:15:08 <flo-retina> I don't have one around
23:15:13 <nhnt11> ah
23:15:35 <flo-retina> well, I have some, but they weren't on moz23, so I can as well rm -rf them...
23:15:35 * nhnt11 keeps both handy
23:16:17 <nhnt11> flo-retina: I just did a make -f client.mk build on a slightly old debug build, it took ~5 minutes tops
23:16:23 <nhnt11> And it worked fine...
23:16:27 <flo-retina> nhnt11: well, I have plenty of builds around (Firefox, Thunderbird, Instantbird; with various options: debug, profiling, dmd, ...)
23:16:51 <flo-retina> nhnt11: changing the version of mozilla means I need to rebuild from scratch ;)
23:17:02 <flo-retina> so it would take 20 minutes
23:17:04 <nhnt11> really?
23:17:13 <nhnt11> I'm pretty sure my debug build was pre moz23
23:17:18 <nhnt11> which means it's a useless build now :P
23:17:39 <flo-retina> ah, so maybe all the slowness comes from moz23 :-P
23:17:50 <nhnt11> Nah, it's slow here too
23:17:50 <nhnt11> :P
23:18:01 <flo-retina> O_o
23:18:12 <nhnt11> What?
23:19:08 <flo-retina> you said it doesn't freeze, and now you say it's slow
23:19:15 * clokep spots a liar.
23:19:19 <nhnt11> it's slow on the debug build
23:19:24 <nhnt11> it does not freeze on a normal build
23:19:35 <flo-retina> clokep: would be more useful if you could spot a way forward ;)
23:20:01 <clokep> If we're very concerned about it, check it in already preff'd off and let a bunch of us try it on our machines on non-debug builds.
23:20:24 <nhnt11> In fact, it's perfectly fine on my non-debug build except for a bit of choppiness while scrolling through the list
23:20:51 * flo-retina reads that as "it's perfectly fine except it freezes"
23:21:14 <flo-retina> nhnt11: the awesometab opens and displays fine _before_ the freeze. I notice the freeze because I can't scroll.
23:21:39 <nhnt11> I can scroll fine, it's just a teeny bit choppy, like with the opacity thing
23:21:56 <nhnt11> maybe a bit more than the opacity thing...meh
23:22:45 --> nhnt11-testing has joined #instantbird
23:23:49 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:24:44 <nhnt11> flo-retina: The choppiness is even less noticable when I change the "update" notification delay back to 1000
23:25:26 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:26:19 --> florian has joined #instantbird
23:27:16 <flo-retina> nhnt11: so what happened to the idea of sorting channels by participant count?
23:27:18 <nhnt11> Ok, I have new patches ready - changed the update notification delay back to 1000ms and changed the IRC channelsPerBatch constant to 25
23:27:51 <nhnt11> flo-retina: If you want that to land with 2066, I'll work on it now or when I wake up tomorrow
23:28:11 <flo-retina> a follow up is fine
23:28:17 <nhnt11> cool
23:28:24 <flo-retina> I'm just surprised that we discussed it, seemed to agree, and it doesn't seem anywhere
23:28:43 <nhnt11> I figured it would be a followup, and didn't have any other questions on it
23:28:47 <nhnt11> (it seemed straightforward)
23:28:55 <flo-retina> ok
23:29:23 <flo-retina> "changed the IRC channelsPerBatch constant to 25" I was testing with 25 right now :-D
23:29:35 <nhnt11> flo-retina: Was it any better?
23:29:39 <nhnt11> I'm about to try on a debug build
23:29:42 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:30:03 <flo-retina> well, got annoyed that the scrolling was 'choppy' even on moznet
23:30:08 <flo-retina> didn't even try connecting freenode
23:30:21 --> florian has joined #instantbird
23:31:17 <nhnt11> ugh, it's bad
23:31:46 <flo-retina> I guess I tested that only because you mentioned it though
23:32:18 <clokep> flo-retina: You're taking care of checkin-needed?
23:32:49 <flo-retina> http://people.mozilla.com/~bgirard/cleopatra/#report=1b20cc54c10052c97caf1512b4a66bdf59592dd6 this is moznet
23:33:18 <flo-retina> clokep: I'm still trying to decide if I want to checkin 2066 first
23:33:31 <clokep> Roger.
23:33:32 <nhnt11> I see QueryInterface at the top there :(
23:35:33 <flo-retina> nhnt11: sending an update notification every 1000ms doesn't do us any good if we start working on preparing the next notification immediately after without letting the UI handle events
23:35:41 <flo-retina> so we likely need some executeSoon calls somewhere
23:35:57 <nhnt11> flo-retina: That's already taken care of
23:36:05 <flo-retina> where?
23:36:07 <nhnt11> The update notification does an executeSoon(refresh)
23:36:23 <flo-retina> you can notice that the partners have changed a lot; it now takes less than 200ms to handle each batch
23:36:49 <flo-retina> nhnt11: isn't that on the newtab.xml side?
23:36:53 <nhnt11> yeah..
23:37:09 <nhnt11> You want to executeSoon(observe("updated"))?
23:38:09 <flo-retina> not sure
23:38:15 <flo-retina> maybe it's on the IRC side that there's a problem :-S
23:38:54 <nhnt11> flo-retina: Want me to write a test? :)
23:39:04 <nhnt11> (With a fake account that would return fake chatrooms)
23:39:25 <flo-retina> I don't know. Too tired to think correctly.
23:39:31 <nhnt11> Fair enough
23:39:40 <nhnt11> We should get to bed
23:39:44 <flo-retina> I'm pretty sure there's something we can easily fix in the stats service to make this stuff asynchronous
23:39:59 <flo-retina> but it's not easy now.
23:40:08 <nhnt11> Isn't it already async?
23:40:10 <flo-retina> I started my day with a meeting at 9am. And it's almost 2am...
23:40:14 <flo-retina> nhnt11: no it's not.
23:40:38 <nhnt11> flo-retina: Let's continue this tomorrow
23:40:45 <flo-retina> so, are we landing preff'ed off?
23:41:00 <nhnt11> I don't mind anything
23:41:01 <flo-retina> (or not landing at all)
23:41:06 <nhnt11> It's not useful to me until we have stats
23:41:15 <nhnt11> Because I don't really care about channel discovery
23:41:30 <flo-retina> I think we should land to avoid bitrot, and handle each issue in a separate less confusing follow up
23:41:43 <nhnt11> Ok
23:42:18 <flo-retina> let's keep the 100ms value.
23:42:44 <flo-retina> batches of 25 channels are likely reasonable
23:42:44 <nhnt11> flo-retina: I didn't submit a patch with i + 1 > this.listItems.length changed to i == blabla
23:42:51 <nhnt11> ok
23:43:04 <flo-retina> yeah, you had that thing to change. And you optimized some stuff
23:43:06 <flo-retina> don't remember what
23:43:12 <nhnt11> I'll upload new patches for both in a second
23:43:16 <flo-retina> ah, yeah, not getting the account in the constructor
23:44:08 <flo-retina> and tomorrow I think we will want to: 1. Optimize some more (to waste less CPU). 2. Make it async to not freeze the UI.
23:44:22 <flo-retina> and I'll build a non debug profiling build
23:44:31 <nhnt11> cool
23:45:39 * flo-retina is disappointed we couldn't fix this tonight :(
23:46:11 <nhnt11> http://pastebin.instantbird.com/320592
23:46:17 <nhnt11> flo-retina: That's an interdiff of the api patch
23:46:58 <flo-retina> pref off!
23:47:12 <nhnt11> That should go in the irc patch
23:47:16 <instantbot> nhnt11@gmail.com cancelled review?(florian@instantbird .org) for attachment 2832 on bug 2066.
23:47:17 <instantbot> nhnt11@gmail.com requested review from florian@instantbird .org for attachment 2833 on bug 2066.
23:47:21 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
23:47:25 <flo-retina> ah right
23:47:55 * flo-retina wonders if he'll find a volunteer to implement room discovery on XMPP :-P
23:48:47 <nhnt11> flo-retina: Interdiff of IRC patch: http://pastebin.instantbird.com/320603
23:48:51 <nhnt11> clokep: ^
23:49:16 <clokep> nhnt11: Looks good.
23:49:26 <flo-retina> clokep, nhnt11: I suspect we also need to optimize some stuff related to IRC and LIST
23:49:43 <flo-retina> in the latest profile I uploaded, Socket.resetPingTimer is 4.2% of the total time!
23:49:45 <clokep> flo-retina: Not surprising, I'd like aleth to be involved.
23:49:59 <clokep> That doesn't /totally/ surprise me.
23:50:00 <clokep> Just mostly. :)
23:50:11 <instantbot> nhnt11@gmail.com requested review from clokep@gmail.com for attachment 2834 on bug 2066.
23:50:14 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2066 enh, --, ---, nhnt11, NEW, New conversation tab should suggest chat rooms
23:50:42 <flo-retina> clokep: well, given that we mess with timers in there, it's not surprising. But it's 'surprising' in the sense that it's not what we would expect to be spending time on
23:51:59 <flo-retina> clokep: I think we should do that in an executeSoon, or something like that
23:52:02 <instantbot> clokep@gmail.com granted review for attachment 2834 on bug 2066.
23:52:09 <flo-retina> so that we do it only once if there's plenty of incoming data
23:52:15 * nhnt11 is glad he doesn't have any classes today
23:52:58 <clokep> flo-retina: Reasonable. :)
23:53:54 <flo-retina> clokep: what are the ircWATCH.isEnabled() and ircMONITOR.isEnabled() calls I see?
23:54:29 <clokep> Whether the server supports WATCH or MONITOR.
23:54:30 <flo-retina> (they are 0.5 and 0.4% of the time respectively)
23:54:49 <flo-retina> my question is: why is it relevant while receiving LIST results?
23:55:21 <clokep> We check to see if we should run certain sets of commands most likely.
23:55:52 <clokep> E.g. http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/ircWatchMonitor.jsm#130
23:58:21 * nhnt11 goes to bed
23:58:23 <nhnt11> good night
23:58:35 <flo-retina> what is the this.hasOwnProperty("watchEnabled") for?
23:58:50 <flo-retina> nhnt11: good night. Sorry to have kept you awake so long for so little results :(
23:59:19 <nhnt11> flo-retina: Not a problem at all
23:59:25 <clokep> flo-retina: It checks to see if the account has that property set to true.