All times are UTC.
01:38:05 --> mconley has joined #instantbird 01:53:36 <-- mconley has quit (Ping timeout) 02:59:01 --> mconley has joined #instantbird 03:14:37 <-- mconley has quit (Input/output error) 03:37:10 <-- wnayes has quit (Quit: wnayes) 03:49:17 <instant-buildbot> build #963 of linux-nightly-default is complete: Success [build successful] Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/963 03:58:59 --> mconley has joined #instantbird 04:06:22 <instant-buildbot> build #985 of macosx-nightly-default is complete: Success [build successful] Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/985 04:36:41 <-- mconley has quit (Input/output error) 05:37:11 --> mconley has joined #instantbird 05:41:24 <-- mconley has quit (Ping timeout) 06:50:40 <instant-buildbot> build #1064 of win32-nightly-default is complete: Failure [failed compile] Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1064 07:55:52 --> Mic has joined #instantbird 07:55:52 * ChanServ sets mode +h Mic 08:04:22 <-- Even has quit (Input/output error) 08:15:13 --> qlum has joined #instantbird 08:30:30 --> dionisos has joined #instantbird 08:52:10 <-- dionisos has quit (Ping timeout) 09:06:05 <-- qlum has quit (Ping timeout) 09:16:51 <-- Mic has quit (Ping timeout) 10:25:24 <-- chrisccoulson has quit (Ping timeout) 11:28:26 --> qlum has joined #instantbird 11:32:15 --> aleth has joined #instantbird 11:32:15 * ChanServ sets mode +h aleth 11:43:06 <aleth> flo-retina: I didn't know you'd packaged the profiler as an add-on! :) 11:43:55 <aleth> Afaik the gsoc project includes writing an add-on that allows one to operate the profiler, debugger, scratchpad etc remotely from FX 11:44:31 <aleth> That's what I was referring to. I'm not sure it'll make any difference now you've already written an add-on for IB... 12:01:50 --> Even has joined #instantbird 12:01:50 * ChanServ sets mode +o Even 12:07:41 <-- Even has quit (Ping timeout) 12:14:15 <flo-retina> aleth: I have it as an add-on, but it doesn't work in nightly builds unfortunately :( 12:15:35 <flo-retina> aleth: well, I've not "written an add-on". The Gecko Profiler is by default an add-on. What I've done was just to tweak a few lines to get it to accept Instantbird (the add-on sdk has this stupid idea of hardcoding the list of existing XUL application :'() and to add Ib-specific code to add /start /stop and /profiler commands. 12:16:42 <flo-retina> my previous attempt to have a UI similar to what Tb does with buttons in the status bar (I was targeting the blist's status bar) didn't work, and I haven't been able to figure out why (actually, it worked only if the add-on was enabled after Ib was already started, so to use it I had to go to the add-on manager and disable/reenable it after each restart) 12:16:52 <flo-retina> I like the version with commands better ^^ 12:17:43 <aleth> flo-retina: Btw while I wasn't following those patches, afaik qheaden was looking at using a nsITimer for yahoo pings or keepalives. Maybe using a regular interval (after x sec, check a boolean to see if there was a message in the interval) rather than constantly clearing and resetting the timeout would solve the performance problem you spotted. 12:17:49 <aleth> flo-retina: Commands sounds perfect for IB 12:18:48 <flo-retina> aleth: the problem with commands is that you need a conversation window, which usually means you need to have a connected account. That makes profiling account connections difficult 12:19:06 <flo-retina> for it's good enough to profile the UI, which is where I think most of our current performance issues are 12:19:31 <flo-retina> s/for/but/ 12:19:36 <aleth> flo-retina: But you could probably trigger the command via code? 12:19:53 <flo-retina> or find something better; or whatever 12:20:11 <flo-retina> I didn't spend a huge amount of time on this; I was more focused on trying to _use_ it ;) 12:20:50 --> Even has joined #instantbird 12:20:50 * ChanServ sets mode +o Even 12:21:19 <aleth> Right, the main interest is for the UI. And to avoid stabbing around in the semi-dark like nhnt11 at times yesterday ;) Though admittedly half the problem there was that he had to use a debug build to reproduce the issue and that's not typical anyway. 12:22:47 <aleth> I'm not convinced he should spend time on things like queueing at the socket right now if the existing patch is enough for pref'd on nightlies. 12:23:14 <flo-retina> aleth: I'm quite confused by what the next steps are 12:23:26 <-- qlum has quit (Ping timeout) 12:23:49 --> qlum has joined #instantbird 12:23:50 <aleth> I'd say review bug 2160 and the other simple followups, and get ranking landed. 12:23:53 <flo-retina> my problem is: on my debug build, things freeze for 5 minutes. On my optimize profiling build, stuff is mostly smooth and occasionally freezes for a second or two (not reliably reproducible though :-/). 12:23:59 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2160 nor, --, ---, nobody, NEW, UI lags while stats service is receiving chat rooms 12:24:35 <flo-retina> aleth: I also wonder if the bandwidth of the internet connection could make a significant difference here 12:25:01 <flo-retina> I have 24Mbps at home (where I tested Thursday night) and about 3 here (at my parents') where I tested yesterday night. 12:25:15 <aleth> I experienced a freeze during freenode due to having an error console open without noticing it. The patch in bug 2153 should fix that. Without an error console, it's a near freeze, but not for long 12:25:20 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2153 nor, --, ---, aleth, ASSI, Don't log UTF-8 conversion warnings during LIST 12:25:26 <instantbot> clokep@gmail.com granted review for attachment 2840 on bug 2150. 12:25:29 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2150 maj, --, ---, qheaden, ASSI, Conference invites don't work 12:25:30 <flo-retina> we freeze until the whole LIST has been processed is receiving the data from the server is faster than we can process it. 12:25:42 <aleth> flo-retina: I would have expected less bandwith to cause less problems as we have more time to handle things 12:25:52 <flo-retina> if we process the data fast enough to keep up with the rate at which it arrives, there's no freeze at all. 12:26:05 <aleth> Right, exactly. 12:26:21 <flo-retina> aleth: yeah, it may be the reason why yesterday on my optimized build things were smooth. I was also testing with a much (almost 10 times) slower connection 12:26:29 <instantbot> clokep@gmail.com granted review for attachment 2841 on bug 2093. 12:26:32 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2093 nor, --, ---, qheaden, ASSI, "Adding chat buddy twice" error when inviting someone to a chatroom 12:26:42 <flo-retina> so the problem is; we are changing too many variables at once, and I don't have confidence in any of the measurement we made. 12:27:17 <aleth> I am concerned about relying on debug builds for figuring out what needs optimizing. 12:27:31 <flo-retina> I'm not relying on them 12:27:50 <flo-retina> I just used one thursday because I didn't have an optimized build around 12:28:04 <aleth> The question I have is whether on low-spec machines, doing /list (no awesometab involved) freezes the UI 12:28:30 <flo-retina> aleth: on the other hand, I don't think it's acceptable to freeze for more than a few seconds even on a debug build. Thursday it was literally frozen for 5 minutes 12:28:41 <flo-retina> aleth: that seems likely 12:28:42 <aleth> That would mean we do need to do some throttling at the socket level, to avoid being overloaded with incoming messages faster than we can handle them 12:29:01 <flo-retina> aleth: and there's another can of worms we haven't opened yet: what happens if the server tab is enabled and one opens the awesometab 12:29:52 <aleth> flo-retina: Hmm yes. Never tried that. 12:30:12 <flo-retina> aleth: I wonder if we shouldn't somehow add a global service to handle throttling of long JS operations. 12:30:27 <instantbot> clokep@gmail.com denied review for attachment 2843 on bug 2153. 12:30:28 <flo-retina> we can't replicate the current hack everywhere; it won't work several times at once. 12:30:29 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2153 nor, --, ---, aleth, ASSI, Don't log UTF-8 conversion warnings during LIST 12:31:17 <aleth> flo-retina: Interesting idea! That may be the cleanest way to do it 12:31:50 <aleth> Poor man's threading... 12:31:58 <flo-retina> aleth: another optimization I would like to try today is to get rid of nsIClassInfo on the RoomInfo object, and implement QueryInterface directly in the RoomInfo prototype, rather than through several levels of prototype inheritance. The time we spend in QueryInterface and getInterfaces calls in our profiles is IMHO very excessive. 12:32:11 * aleth tries opening the awesometab on freenode with a servertab 12:32:21 <flo-retina> good bye aleth :-P 12:32:49 <aleth> Actually it does not freeze 12:32:54 <aleth> Only a severe stutter :D 12:33:25 <aleth> However, the servertab is still adding messages (progress bar) :P 12:33:31 <flo-retina> ahah! 12:33:33 --> clokep_wp8 has joined #instantbird 12:33:42 <flo-retina> good thing we have a progress bar there :-P 12:33:48 <flo-retina> clokep_wp8: Good morning :) 12:34:01 <aleth> So I don't think we need worry about the servertab :) 12:34:29 <clokep_wp8> Fyi, i don't understand this "queueing at the socket" that seems VERY wrong to me. 12:35:07 <clokep_wp8> Hello flo-retina. :-) My friends sleep late, figured I'd do reviews! 12:35:24 <flo-retina> heh :) 12:35:46 <aleth> flo-retina: I don't know enough about interfaces to know how to optimize the QueryInterface/getInterfaces calls. 12:35:49 <flo-retina> clokep_wp8: I'm pretty sure it makes some sense. But it seems wrong to me to do it without any profiling before to check that it's actually the culprit ;). 12:36:17 <clokep_wp8> Handling thinga fri 12:36:22 <aleth> Right, we should profile /list without a servertab on freenode.\ 12:36:34 <flo-retina> optimizing random stuff that isn't causing the actually performance issues is very close to code obfuscation IMHO ;) 12:36:48 <clokep_wp8> Handling things from a socket seems like a perfect place to use threads. :'( 12:36:50 <aleth> clokep_wp8: Good morning :) 12:37:47 <flo-retina> clokep_wp8: the stuff we actually want is a way for JS code to execute for a while and be able to stop automatically if it's about to cause UI unresponsiveness 12:37:59 <flo-retina> I'm pretty sure gloda has a significant amount of confusing code to handle that 12:38:30 <clokep_wp8> :-) Can we steal it? :-P 12:38:35 <flo-retina> no :-P 12:39:00 <flo-retina> I abuses generators everywhere, and during the 'short' experience I had with it, that made debugging very painful 12:39:18 <flo-retina> I would like us to do something a little bit less magical, but way easier to understand 12:41:08 <flo-retina> s/I abuses/It abuses/ 12:41:12 <flo-retina> typing is hard these days :( 12:44:20 <-- clokep_wp8 has quit (Connection reset by peer) 12:47:28 <instantbot> aleth@instantbird.org requested review from clokep@gmail.com for attachment 2845 on bug 2153. 12:47:31 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2153 nor, --, ---, aleth, ASSI, Don't log UTF-8 conversion warnings during LIST 12:51:50 <aleth> I'm unsure about that last change... 12:52:43 <aleth> I think I would prefer one DEBUG per correctly handled message. 12:57:25 <flo-retina> ah, we log the raw message after the unicode convert already? 12:57:37 <aleth> Yes. 13:04:03 <flo-retina> that seems suboptimal indeed 13:06:53 * aleth thinks he's going to provide an alternative patch 13:07:27 <flo-retina> extra lols ftw :-P 13:07:50 <aleth> I like to provide a choice of lols :) 13:15:20 --> Mic has joined #instantbird 13:15:20 * ChanServ sets mode +h Mic 13:35:39 <Mic> Hi 13:36:39 <aleth> Hi :) 13:36:50 --> nhnt11 has joined #instantbird 13:37:37 <nhnt11> Good evening 13:39:06 --> dew has joined #instantbird 13:40:18 <-- dew1 has quit (Ping timeout) 13:40:22 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com) 13:40:46 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 13:40:50 --> nhnt11 has joined #instantbird 13:40:58 --> Mic has joined #instantbird 13:40:58 * ChanServ sets mode +h Mic 13:42:26 <nhnt11> flo-retina: http://log.bezut.info/instantbird/today/#m73 I wanted to make the /list command use the room info callback API too, so that the server tab isn't spammed by the awesometab 13:42:30 * nhnt11 should file a bug 13:42:47 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com) 13:43:42 --> Mic has joined #instantbird 13:43:42 * ChanServ sets mode +h Mic 13:43:43 <nhnt11> http://log.bezut.info/instantbird/today/#m75 I was wondering about this during the discussion about two conversations loading at the same time, but I didn't know it would be feasible enough that flo-retina would wonder about it too :P 13:44:14 <aleth> nhnt11: Or just disable writing to the servertab if it's an automatic LIST 13:44:30 * nhnt11 realizes he doesn't have Not Today installed anymore 13:44:36 <nhnt11> Is it still broken? 13:44:42 <nhnt11> aleth: How would we know if it was automatic? 13:44:51 <Mic> nhnt11: I haven't fixed it yet :( 13:45:26 <Mic> I have a new development add-on though, maybe it will be useful for some of you: 13:45:27 <Mic> https://addons.instantbird.org/en-US/instantbird/addon/355/ 13:45:27 <aleth> nhnt11: List of callbacks isn't empty? 13:46:02 <nhnt11> What if a /list is done while the callbacks list isn't empty? :P 13:46:03 <Mic> It clears the cache as soon as an add-on is disabled. That means you can just disable/enable an add-on in development to load the latest version. 13:46:09 <nhnt11> edge case though I guess 13:46:37 <nhnt11> Mic: Cool, checking it ou 13:46:38 <nhnt11> out* 13:46:57 <Mic> It's only useful if you're using proxy files. 13:47:02 <aleth> Nice! 13:47:06 <nhnt11> Yeah I figured 13:47:31 <Mic> Thanks clokep, for the clear cache code snippet that you posted not long ago! :) 13:48:58 <Mic> It's extremely simple :) 13:49:05 <Mic> http://pastebin.instantbird.com/323792 13:50:59 <nhnt11> :) 13:51:29 * nhnt11 isn't sure what he should/is expected to work on next 13:52:17 <aleth> Are you blocked by reviews? 13:53:01 <nhnt11> aleth: Nope. I was wondering if there's any optimization stuff I should keep looking at, or start addressing your review comments on bug 2143 13:53:05 <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. 13:53:45 <aleth> Up to you... maybe there are some straightforward followups you could fix if you prefer 13:53:55 <-- qlum has quit (Ping timeout) 13:54:19 --> qlum has joined #instantbird 13:54:32 <aleth> The stats patch didn't seem far from being ready though :) 13:54:34 <flo-retina> nhnt11: finding a way to not display automatic LIST in the server tab sounds useful (as a thing to work on soonish) 13:54:34 <nhnt11> right, I should do the get default chat room field values i guess 13:54:44 <nhnt11> ok 13:54:49 <flo-retina> ah yes, that one too! 13:55:41 <nhnt11> brb 14:02:47 * nhnt11 has to leave in half an hour and challenges himself to get patches uploaded for both things 14:14:58 <nhnt11> aleth: At LISTEND, if there are no callbacks, we still return true right? Since technically, we "handled" it by not doing anything 14:15:45 <aleth> Yes, otherwise you will get an unhandled IRC message warning. 14:16:52 <nhnt11> aleth: I really think we should change the /list command to use the api, because by bypassing the api it doesn't set this._pendingList and so on (i.e. causes problems) 14:17:07 <nhnt11> So if someone does a /list and opens an awesometab, the results likely won't be pretty 14:17:21 <aleth> nhnt11: Using the API sounds cleaner anyway. 14:17:26 <nhnt11> Yeah 14:18:56 --> aleth_dev has joined #instantbird 14:19:41 <-- aleth_dev has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 14:19:59 <-- dew has quit (Ping timeout) 14:20:20 --> mconley has joined #instantbird 14:23:39 <instantbot> aleth@instantbird.org requested review from clokep@gmail.com for attachment 2846 on bug 2153. 14:23:45 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2153 nor, --, ---, aleth, ASSI, Make UTF-8 conversion warnings less noisy 14:27:27 <nhnt11> Bah, I have to go 14:27:36 <nhnt11> I'll be back in ~3 hours I guess. 14:27:39 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 14:47:08 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com) 15:31:46 <instantbot> aleth@instantbird.org denied review for attachment 2844 on bug 2160. 15:31:49 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2160 nor, --, ---, nobody, NEW, UI lags while stats service is receiving chat rooms 15:38:18 --> nhnt11_phone has joined #instantbird 15:40:44 <nhnt11_phone> aleth: I didnt include the enumerator in that patch because when I profiled, it saw more red /with/ the enumerator code than without it 15:41:04 <nhnt11_phone> This was very surprising, so i figured i should do more testing before including it in the patch 15:41:17 <aleth> nhnt11_phone: OK, that /is/ surprising. 15:41:27 <nhnt11_phone> Theoretically the results i got werr totally wrong. 15:41:46 <aleth> Leave it as it is for now then, but it would be great to understand what is going on there. 15:41:59 <nhnt11_phone> So I think i was doing something wrong and therefore excluded it for now 15:42:01 <nhnt11_phone> Yeah 15:43:14 <-- nhnt11_phone has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 16:07:50 <-- mconley has quit (Input/output error) 16:09:50 <instantbot> florian@instantbird.org denied review for attachment 2844 on bug 2160. 16:09:53 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2160 nor, --, ---, nobody, NEW, UI lags while stats service is receiving chat rooms 16:33:06 --> wnayes has joined #instantbird 16:57:39 --> dew has joined #instantbird 17:14:00 --> nhnt11 has joined #instantbird 17:15:25 --> mconley has joined #instantbird 17:16:27 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 17:17:26 <nhnt11> flo-retina: With 25 channels per batch, all 25 were processed in 40ms so there was kinda no point in the queuing. Changing 250 to 25 in the first place was like a workaround to the problem that queuing fixes. 17:17:58 <-- mconley has quit (Ping timeout) 17:17:59 <flo-retina> nhnt11: the batching itself feels like a workaround 17:18:14 <flo-retina> if stuff was fast enough on the other side, we could potentially send each channel individually 17:18:39 <aleth> The batching in combination with an enumerator should save us a lot of wrappers. I thought that was the motivation for keeping it. 17:18:57 <flo-retina> (well, the ideal thing to do would be to send a batch that corresponds to all the data we have already received on the socket; so maybe that means an executeSoon in the irc code, and sending everything available after that) 17:19:09 <flo-retina> aleth: the enumerator doesn't save us any wrapper 17:19:21 <flo-retina> aleth: it just creates them lazily 17:19:37 <aleth> flo-retina: Ah, thanks. I misunderstood that then. 17:20:11 <nhnt11> As I understand, the enumerator prevents all the wrappers being created while returning the array 17:20:12 <aleth> I was under the impression you only needed one and getnext transferred data through it. 17:20:19 <flo-retina> nhnt11: this is correct. 17:20:42 <flo-retina> it lets the wrappers be created when we actually use the object, rather than when we pass the array around 17:20:54 <nhnt11> right 17:21:53 <flo-retina> nhnt11: "all 25 were processed in 40ms so there was kinda no point in the queuing." you make this sound like a bug. Queuing is not a goal, it's a workaround. If you don't need it on your fast machine, that's great; not something negative. 17:22:36 <nhnt11> Good point 17:22:38 <aleth> flo-retina, nhnt11: In that case it seems to me we can do without the enumerator and go back to batches of 25 (or possibly less) 17:23:09 * flo-retina doesn't know what is being discussed / what problem we are trying to fix. 17:23:37 <nhnt11> Basically I think we all agree that the patch is fine as it is, if I change 250 back to 25 and address your comments 17:23:50 <flo-retina> ok 17:24:00 * flo-retina trying to look at the QueryInterface thing nowish 17:24:04 <aleth> (I asked in my review comment why the enumerator was gone, that's what I was referring to) 17:24:20 <flo-retina> I'll first do 2-3 profiles without changes, to see if things look relatively reproducible or not 17:24:31 <nhnt11> Right so thinking about it, it's not surprising that the enumerator didn't help in my profiles 17:24:49 <nhnt11> I guess creating the enumerator was just useless overhead 17:24:51 <aleth> nhnt11: yup. 17:25:08 <flo-retina> nhnt11: if you didn't push the enumerator to the queue and pushed instead its element; it was just overhead 17:26:19 <flo-retina> int main(void) {while(1);return 0;} 17:26:24 <nhnt11> :) 17:26:26 <flo-retina> let's see if this changes my profiles ;) 17:26:31 <aleth> :D 17:26:37 * nhnt11 used that too 17:27:52 <nhnt11> flo-retina: It didn't push my cpu's to a full 100% though. I wonder if putting in some basic arithmetic in the loop would help 17:28:40 <aleth> Calculate some logarithms of random numbers ;) 17:29:09 <flo-retina> nhnt11: how many times did you start it? 17:29:14 <nhnt11> 8 times 17:30:05 <flo-retina> these don't take 100% CPU because the OS takes some CPU 17:30:20 * aleth wonders how that while loop can't take all the CPU the OS will allow it 17:30:21 <flo-retina> top shows 0% idle CPU 17:30:58 <nhnt11> I would expect one or two instances to be at 97% because of the OS, but not all... 17:30:59 <nhnt11> whatever 17:32:00 <-- flo-retina has quit (Ping timeout) 17:32:01 <nhnt11> |int main(void) {while(1) 1+1; return 0;}| takes 100% ;) 17:33:03 <nhnt11> All my cores are above 99% now 17:33:07 --> florian has joined #instantbird 17:33:36 <-- qlum has quit (Ping timeout) 17:34:04 --> qlum has joined #instantbird 17:34:50 --> flo-retina has joined #instantbird 17:34:50 * ChanServ sets mode +qo flo-retina flo-retina 17:34:56 <-- florian has quit (Ping timeout) 17:36:20 --> florian has joined #instantbird 17:36:38 <-- flo-retina has quit (Ping timeout) 17:37:52 <-- florian has quit (Connection reset by peer) 17:45:45 --> florian has joined #instantbird 17:46:00 --> flo has joined #instantbird 17:46:01 * ChanServ sets mode +qo flo flo 17:47:12 <flo> the wifi stopped usefully working on my retina macbook. I wonder if this is related to heating the 8 cores, but that makes profiling anything quite difficult ;). 17:47:25 --> flo-retina has joined #instantbird 17:47:25 * ChanServ sets mode +qo flo-retina flo-retina 17:47:32 <flo> ah :) 17:50:19 <flo> Instantbird receiving LIST results doesn't take more than 13% of the CPU 17:50:27 <flo> results likely arrive way too slowly :( 17:53:54 --> mconley has joined #instantbird 17:53:54 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 17:54:32 <-- mconley has quit (Input/output error) 17:54:50 --> florian has joined #instantbird 18:00:39 <flo-retina> I can't do any useful LIST profiling, so I'm profiling the display of a large log instead 18:02:25 <flo-retina> Bubbles seems to do an insane amount of clearTimeout/setTimeout 18:04:17 <flo-retina> and that seems quite pointless! 18:04:36 <flo-retina> I'm looking at the code in updateLastInsertTime 18:04:49 <flo-retina> what's the point of cancelling a pending timeout to create another timeout of 0ms? 18:05:32 <flo-retina> ah, that's in case the existing timeout was for a non-0 time 18:05:46 <flo-retina> ok, plenty of room for optimization here 18:06:49 <nhnt11> Optimize all the things! :) 18:15:16 <-- aleth has quit (Quit: Ciao) 18:15:22 --> aleth has joined #instantbird 18:15:22 * ChanServ sets mode +h aleth 18:16:36 <-- aleth has quit (Quit: Ciao) 18:16:39 --> aleth has joined #instantbird 18:16:39 * ChanServ sets mode +h aleth 18:20:20 <-- aleth has quit (Quit: Ciao) 18:20:23 --> aleth has joined #instantbird 18:20:24 * ChanServ sets mode +h aleth 18:21:28 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 18:21:49 --> florian has joined #instantbird 18:22:52 <-- aleth has quit (Quit: Ciao) 18:22:55 --> aleth has joined #instantbird 18:22:55 * ChanServ sets mode +h aleth 18:26:27 --> chrisccoulson has joined #instantbird 18:29:01 <instantbot> New Instantbird (UI) bug 2161 filed by florian@instantbird.org. 18:29:02 <instantbot> florian@instantbird.org requested review from aleth@instantbird.o rg for attachment 2847 on bug 2161. 18:29:04 <flo-retina> not a huge win, but easy wins are still worth doing 18:29:07 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2161 tri, --, ---, nobody, NEW, Bubbles' updateLastInsertTime function wastes a lot of time setting and clearing timeouts 18:29:16 <flo-retina> even if it takes only 2% off the total conversation display time 18:31:57 <-- dew has quit (Ping timeout) 18:40:52 <instantbot> aleth@instantbird.org granted review for attachment 2847 on bug 2161. 18:40:55 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2161 tri, --, ---, nobody, NEW, Bubbles' updateLastInsertTime function wastes a lot of time setting and clearing timeouts 18:46:26 <-- aleth has quit (Quit: Ciao) 19:14:57 --> mconley has joined #instantbird 19:33:18 <-- Suiseiseki has quit (Ping timeout) 19:34:33 --> Suiseiseki has joined #instantbird 19:38:01 <-- mconley has quit (Input/output error) 19:57:29 <-- qlum has quit (Ping timeout) 19:57:51 --> qlum has joined #instantbird 20:09:10 --> mconley has joined #instantbird 20:13:13 <-- florian has quit (Ping timeout) 20:14:20 <-- flo-retina has quit (Ping timeout) 20:15:54 <flo> the wifi stopped working _again_ :( 20:16:57 --> florian has joined #instantbird 20:17:08 --> flo-retina has joined #instantbird 20:17:08 * ChanServ sets mode +qo flo-retina flo-retina 20:19:35 <nhnt11> flo-retina: Even without loading the CPUs? :( 20:19:42 <flo-retina> yeah 20:20:14 <flo-retina> maybe something somewhere in the house moved and made the signal awful between the modem/router and my desk 20:20:28 * nhnt11 is having problems 20:20:32 * flo-retina used to have RJ45 wires all other the house 20:20:44 <nhnt11> I thought making the list command use the api would be simple 20:20:59 <nhnt11> But I keep getting "callback.onRoomInfoAvailable is not a function" 20:21:00 <nhnt11> :( 20:21:08 * nhnt11 will pastebin a diff soon 20:22:09 <nhnt11> I have a feeling I'm not using the correct "account" object... 20:22:44 <nhnt11> But then how would the list be happening at all... 20:22:46 * nhnt11 is confused 20:23:52 <nhnt11> http://pastebin.instantbird.com/324227 20:23:55 <nhnt11> flo-retina: ^ 20:24:02 <nhnt11> Is there something obviously wrong in that? :-/ 20:24:44 <nhnt11> Oh 20:24:53 * nhnt11 feels a bit foolish 20:25:19 <nhnt11> Wait but that doesn't explain the TypeError.. 20:25:33 <nhnt11> I'm using the wrong conversation object 20:25:50 <nhnt11> (I need to get the servertab conversation and use that) 20:27:03 <flo-retina> nhnt11: the account you are using here is the JS object of the ircAccount, without xpconnect wrapper. 20:27:21 <flo-retina> so xpconnect can't do any magic with the function keyword on the callback interface 20:27:30 <nhnt11> Oh 20:27:33 <flo-retina> and you can't pass a function as a parameter to requestRoomInfo 20:27:46 <flo-retina> you need to add {onRoomInfoAvailable: ... } 20:28:10 <nhnt11> So should I be using an object or trying to get it with the xpconnect wrapper? 20:28:13 * nhnt11 guesses object 20:28:14 <nhnt11> ok 20:28:28 <flo-retina> I think I replied before you asked ;) 20:28:31 <nhnt11> yeah 20:28:36 <flo-retina> (unless the wifi delayed my messages very significantly :-S) 20:28:49 <nhnt11> nah 20:29:04 <nhnt11> I had already typed most of the message so I finished 20:29:05 <nhnt11> it 20:29:44 * nhnt11 should've guessed what was happening considering it says aConv.wrappedJSObject right there. 20:31:23 <nhnt11> flo-retina: Should I display a message saying "please enable the server tab" or whatever if the server tab is disabled? 20:32:48 <flo-retina> nhnt11: maybe even if it's enabled 20:33:00 <flo-retina> as it's "surprising" that the results of the command don't appear where the command was typed 20:33:14 <flo-retina> nhnt11: but maybe if the server tab isn't enabled the command should just fail 20:33:22 <flo-retina> (hmm, or open the server tab automatically?) 20:33:37 <nhnt11> I think the server tab should be force opened 20:34:16 <flo-retina> that makes some sense 20:39:53 <nhnt11> Hmm, so it's working but they're not showing up as system messages 20:40:08 <flo-retina> how are they displayed? 20:41:35 <nhnt11> flo-retina: http://puu.sh/4lxKC.png 20:44:14 <nhnt11> flo-retina: Do we care about optimization for this right now? It's slow as hell. 20:44:21 <flo-retina> nhnt11: btw, displaying as system messages may not be actually wanted 20:44:35 <flo-retina> nhnt11: but if you don't display them as system messages, you should display them as regular messages 20:44:35 <nhnt11> True, they're greyed out. I had the same thought. 20:44:49 <nhnt11> But considering that I specified "system", I would have expected them to be system messages here 20:44:54 <flo-retina> depends what you mean by "optimization" ;) 20:45:11 <nhnt11> flo-retina: Making it so that I can scroll and.. stuff. 20:45:23 <flo-retina> stuff? :-P 20:45:33 <-- Even has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 20:47:34 <nhnt11> Yeah. You know, like have conversations and talk to people and.. stuff 20:47:35 <nhnt11> :P 20:47:46 <nhnt11> have conversations and talk to people are the same thing, meh 20:48:08 <flo-retina> and that's not included in "stuff", as you needed to add it again :-P 20:48:36 <nhnt11> flo-retina: Don't tell me that having conversations is all Instantbird lets you do :P 20:48:53 <flo-retina> it also lets me spend my nights optimizing stuff :-P 20:49:13 <nhnt11> And dragging around windows just because you can since it doesn't lag... oh wait. 20:49:27 --> Even has joined #instantbird 20:49:27 * ChanServ sets mode +o Even 20:49:35 * nhnt11 gets back to work 20:49:35 <flo-retina> dragging windows even of frozen applications doesn't lag on OS X :-P 20:49:55 * nhnt11 shrugs. 20:50:04 <nhnt11> Let's go back to the scrolling thing.. :P 20:50:15 <nhnt11> ok ok 20:52:40 <flo-retina> if anybody's curious, this is the stuff I'm currently poking at: http://pastebin.instantbird.com/324240 20:59:22 * nhnt11 thinks Instantbird 1.5 will be pretty cool 20:59:29 <nhnt11> a pretty cool update* 21:00:36 <flo-retina> yeah : 21:00:37 <flo-retina> ) 21:00:58 <flo-retina> and it will be even better (or shinier) if we manage to use webrtc ;) 21:11:30 --> dew has joined #instantbird 21:16:28 <-- mconley has quit (Input/output error) 21:45:48 <-- florian has quit (Input/output error) 21:46:06 --> florian has joined #instantbird 21:46:54 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 21:47:26 --> florian has joined #instantbird 21:47:33 <-- Even has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 21:48:13 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 21:48:29 --> florian has joined #instantbird 21:48:59 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 21:52:12 --> florian has joined #instantbird 21:53:36 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 21:53:58 --> florian has joined #instantbird 21:55:10 <flo-retina> alright, my instantbird is now able to display messages again :) 21:55:31 * flo-retina is tinkering in convbrowser.xml and had broken a few things before 22:02:39 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:02:57 --> florian has joined #instantbird 22:03:56 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:04:08 --> florian has joined #instantbird 22:07:16 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:07:30 --> florian has joined #instantbird 22:09:18 <nhnt11> flo-retina: By the way, not making LIST results system messages has the effect of giving them a decent score with the current state of the stats patch 22:10:11 <flo-retina> you mean give the server tab a decent score? 22:10:18 <nhnt11> Yeah 22:10:25 <flo-retina> maybe we should exclude it? 22:10:33 <nhnt11> I guess that's something to do in the stats patch though 22:10:33 <nhnt11> yeah 22:10:36 <flo-retina> my patch _almost_ works 22:10:44 <flo-retina> the freeze when opening a large log is gone 22:10:53 <nhnt11> Excellent! :) 22:10:54 <flo-retina> but the progressbar doesn't disappear when the log is fully displayed 22:11:02 <flo-retina> and I've got a JS error in the console 22:11:03 <nhnt11> Ah 22:11:06 <flo-retina> (and I'm puzzled by it) 22:16:53 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:17:13 --> florian has joined #instantbird 22:18:54 <flo-retina> uh, actually the progress bar sometimes gets hidden 22:18:57 <flo-retina> that's strange :-S 22:19:03 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:19:54 --> florian has joined #instantbird 22:21:06 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:21:26 --> florian has joined #instantbird 22:23:58 <instantbot> New Core - IRC bug 2162 filed by nhnt11@gmail.com. 22:24:00 <instantbot> nhnt11@gmail.com requested review from aleth@instantbird.o rg for attachment 2848 on bug 2162. 22:24:05 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2162 nor, --, ---, nobody, NEW, IRC's /list command should use the requestRoomInfo API 22:25:15 --> jb has joined #instantbird 22:29:26 --> nhnt11-testing has joined #instantbird 22:29:28 <-- nhnt11-testing has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:30:06 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 22:30:55 <instantbot> nhnt11@gmail.com requested review from aleth@instantbird.o rg for attachment 2849 on bug 2157. 22:30:58 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2157 nor, --, ---, nhnt11, NEW, Call getChatRoomDefaultFieldValues lazily for awesometab roomInfos 22:31:00 --> florian has joined #instantbird 22:32:19 <flo-retina> heh, poking at this with a debug build revealed with a JS warning that I had a silly typo. I removed 2 characters and now everything works :). 22:32:33 <nhnt11> :) 22:33:00 * flo-retina fires the profiler again 22:34:23 <flo-retina> ahah, the part that used to freeze before the beginning of the display of the conv now takes only 0.6% of the total time 22:34:30 <flo-retina> (we still have the sync disk I/O :() 22:34:42 <nhnt11> :) :( 22:35:13 <nhnt11> OS.File is pretty neat 22:35:31 <nhnt11> (in that it wasn't at all a pain to use as I expected) 22:35:33 <-- jb has quit (Ping timeout) 22:35:57 <flo-retina> nhnt11: :) 22:36:19 --> mconley has joined #instantbird 22:36:25 <flo-retina> nhnt11: the issue here will be that the code expects a value to be returned synchronously ;) 22:36:56 <nhnt11> Yeah, OS.File may not be a pain but converting sync stuff to async /is/. 22:40:02 <flo-retina> apart from QueryInterface, and making the I/O async, I don't see anything that can obviously be optimized in the log display profile 22:40:10 <flo-retina> so I'll decide it's time to file a bug, attach a patch, and go to bed :) 22:40:12 * nhnt11 doesn't know how to show a Warning in the error console 22:42:24 <flo-retina> WARN? 22:43:06 <nhnt11> flo-retina: Is that always available to use? 22:43:22 <-- qlum has quit (Quit: Getting the <censored> out.) 22:43:28 <nhnt11> I couldn't find where that function is defined :/ 22:45:42 <nhnt11> flo-retina: Should I be using initLogModule in imXPCOMUtils? 22:47:07 <instantbot> New Instantbird (UI) bug 2163 filed by florian@instantbird.org. 22:47:08 <flo-retina> possibly 22:47:08 <instantbot> florian@instantbird.org requested review from aleth@instantbird.o rg for attachment 2850 on bug 2163. 22:47:09 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2163 min, --, ---, florian, NEW, Displaying a large conversation log freezes the UI for a while before the first messages get display 22:47:20 <flo-retina> from where do you want to put a warning in the console? 22:47:31 <nhnt11> Stats service log sweeper 22:47:55 <flo-retina> you likely need initLogModule, yes 22:48:11 * flo-retina hopes that patch looks reasonable 22:51:21 <-- mconley has quit (Input/output error) 22:52:06 <flo-retina> nhnt11: I think I would also r? clokep on bug 2162 22:52:10 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2162 nor, --, ---, nobody, NEW, IRC's /list command should use the requestRoomInfo API 22:52:37 <nhnt11> Ah yeah ok 22:53:24 <instantbot> nhnt11@gmail.com requested review from clokep@gmail.com for attachment 2848 on bug 2162. 22:53:43 <flo-retina> and bug 2157 is likely f- from me. 22:53:47 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2157 nor, --, ---, nhnt11, NEW, Call getChatRoomDefaultFieldValues lazily for awesometab roomInfos 22:54:46 <flo-retina> that patch seems to make the assumption that the prplIChatRoomFieldValues object can be created from the room's name. 22:55:38 <nhnt11> flo-retina: That's how getChatRoomDefaultFieldValues works... 22:55:51 <nhnt11> hmm 22:56:02 <nhnt11> are you saying aDefaultChatName needn't be the name in the RoomInfo? 22:56:05 <flo-retina> *default* in that name means "what you have in the structure before the data has been filed" 22:56:36 <nhnt11> So I need to have another defaultChatName attribute in prplIRoomInfo 22:56:51 <flo-retina> no 22:57:01 <flo-retina> you need prplIChatRoomFieldValues 22:57:14 <flo-retina> and it should be implemented as a lazy getter by the IRC code 23:00:09 <nhnt11> I don't get it 23:00:10 <flo-retina> (btw, I'm not surprised that you misunderstood this API; it's awful, so don't feel bad about it :)) 23:00:36 <nhnt11> If prplIRoomInfo still needs a prplIChatRoomFieldValues attribute, how can it be gotten lazily? 23:06:07 <flo-retina> nhnt11: something like this: http://pastebin.instantbird.com/324405 23:07:24 <flo-retina> nhnt11: and you also need to ensure the stats service doesn't call the getter before we actually call createConversation 23:08:32 <nhnt11> flo-retina: I'm confused by line 18 23:08:45 <nhnt11> Is that supposed to be there? 23:09:09 <nhnt11> (other than that, I get it now, thanks) 23:10:03 <flo-retina> no, it's not! :) 23:10:03 <flo-retina> sorry 23:10:49 <flo-retina> "this.getChatRoomDefaultFieldValues" at line 22 wouldn't work either. You need the account instead of "this" 23:11:04 <flo-retina> this wasn't a real patch; just a way to explain what I had in mind faster than with plenty of words 23:11:04 <nhnt11> Yeah 23:11:16 <nhnt11> No worries, I understand the concept 23:11:46 <nhnt11> I'm trying to figure out the best way to make sure we don't call the lazy getter until necessary 23:11:59 <flo-retina> just put a dump in it 23:12:03 <flo-retina> and check if you are calling it ;) 23:12:32 <nhnt11> What? Aren't we sure to be calling it if we store it somehow? 23:12:46 <flo-retina> you don't want to "store it" 23:13:12 <nhnt11> Either I need to store the RoomInfo object, or find another way to keep the getter without calling it 23:13:14 <flo-retina> you likely want to store the RoomInfo object in your PossibleConversation object 23:13:28 <nhnt11> Yeah 23:13:34 <flo-retina> and have the attribute of the PossibleConversation just forward to the RoomInfo getters 23:13:40 <flo-retina> (other attributes may also be getters) 23:13:41 <nhnt11> Yep 23:15:39 <flo-retina> Good night 23:15:44 <nhnt11> Good night 23:17:02 --> mconley has joined #instantbird 23:19:41 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com) 23:38:53 <-- nhnt11 has quit (Ping timeout) 23:38:57 --> nhnt11 has joined #instantbird 23:39:27 <-- mconley has quit (Input/output error)