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.