All times are UTC.
01:23:23 <clokep> flo-retina: If it helped, I wonder if we could do that dynamically? 01:24:16 <-- arlolra has quit (Quit: arlolra) 02:25:21 <-- mconley has quit (Input/output error) 03:18:55 --> mconley has joined #instantbird 03:49:41 <instant-buildbot> build #2326 of macosx-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2326 03:51:19 <instant-buildbot> build #1144 of linux-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/1144 04:11:07 <-- mconley has quit (Input/output error) 04:11:57 <instant-buildbot> build #1500 of win32-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1500 04:29:31 <instant-buildbot> build #39 of linux64-nightly-default is complete: Failure [4failed compile] Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/39 06:58:27 --> nhnt11 has joined #instantbird 07:47:29 * Fallen|away is now known as Fallen 08:10:40 --> aleth has joined #instantbird 08:10:40 * ChanServ sets mode +o aleth 08:11:05 <aleth> I'm not sure I believe those Functions are all closures 08:11:26 <aleth> The match between Function and XPC_WN_... is also far too consistent to be coincidence 08:11:55 <aleth> flo-retina: Could we strip out empty text nodes in imThemes? 08:12:31 <aleth> I might try that later 08:19:05 --> hadi has joined #instantbird 08:24:25 --> Bollebib has joined #instantbird 08:29:33 --> redDragon has joined #instantbird 08:30:04 --> Tonnes has joined #instantbird 08:31:02 <-- clokep has quit (Ping timeout) 08:32:06 --> clokep has joined #instantbird 08:32:06 * ChanServ sets mode +o clokep 08:33:35 <aleth> clokep: |mach build <subdir>| works fine again now for IB 08:34:25 <aleth> TB doesn't have its dependencies listed, that's why it doesn't work well there. 08:37:12 <aleth> I'm not sure what discussion you were referring to on #maildev 08:37:57 <-- aleth has quit (Quit: exit stage left) 08:38:00 --> aleth has joined #instantbird 08:38:00 * ChanServ sets mode +o aleth 08:38:57 <Fallen> aleth: does anything special have to be done to list those dependencies? 08:39:14 <aleth> Fallen: You have to add them to dumbmake-depedencies 08:39:47 <-- mali has quit (Ping timeout) 08:39:50 <aleth> Unfortunately dumbmake is a bit limited, so this is not a perfect solution of course 08:40:17 <aleth> I've heard there are plans to replace it, but they didn't seem to come with an ETA 08:40:48 <aleth> Fallen: http://mxr.mozilla.org/comm-central/find?text=&string=dumbmake-dependenc 08:41:12 <Fallen> aleth: cool thanks. might be a good idea for Lightning 08:41:27 <aleth> Fallen: It's extremely convenient when working on JS code 08:41:35 <Fallen> Although I've always had trouble with mach, my builds use make -f client.mk :) 08:41:50 <aleth> The important thing is that im/app (or mail/app I guess) also gets rebuilt 08:42:04 <aleth> Are you on Windows? 08:42:08 <Fallen> mac 08:42:24 <aleth> Huh, I'm on OSX too and haven't had any trouble. 08:43:00 <Fallen> the build itself generally works, but at some stage something goes wrong which takes some time to figure out and then I just rebuild without. Its been a while since I tried though, maybe its better now 08:43:29 <aleth> I haven't tried, but I suspect pseudo-rework may have improved the number of things that work in mach ;) 08:44:01 <aleth> Indeed, |mach run| seems to work now 08:50:27 <hadi> Is there a way to activate my AMD graphic card? Currently i think Manjaro is using the integrated intel hd4000 09:14:46 <flo-retina> aleth: "Could we strip out empty text nodes in imThemes?" I thought about this too, but whitespace can be significant in HTML :( 09:15:28 <aleth> :( 09:16:27 <flo-retina> aleth: eg. <span>foo</span> <span>bar</span> 09:16:35 <flo-retina> we shouldn't remove the space between the 2 spans 09:16:45 <aleth> right. 09:16:46 <flo-retina> even if that space is actually a linebreak in the HTML source. 09:17:37 <aleth> I suppose it's too hard to tell which ones to keep 09:18:14 <flo-retina> it's probably not worth the complexity 09:20:57 <flo-retina> aleth: "I'm not sure I believe those Functions are all. The match between Function and XPC_WN_... is also far too consistent to be coincidence" In the specific case I showed in Footer.html, that could match my idea of XPC_WN_ appearing when we use a function for something that has an interface and where xpconnect needs to create a wrapper. In this case, it's an nsIDOMEventListener 09:21:42 <flo-retina> + "closures" in my quote :-S 09:28:12 <aleth> Why would that example need a wrapper? It doesn't seem to refer to anything outside content 09:28:39 <flo-retina> to generate the handleEvent method that the C++ code will call on the object. 09:28:40 * instantbot mumbles something about c++ being evil 09:29:28 <flo-retina> We have: p.addEventListener("click", function (event) event.target.parentNode.classList.toggle("hide-children")); 09:31:24 <flo-retina> I'm saying "Function" could be "function (event) event.target.parentNode.classList.toggle("hide-children")" and XPC_WN_NoMods_NoCall_Proto_JSClass could be {handleEvent: func, QueryInterface: iid => if (iid == nsISupports || iid == nsIDOMEventListener) return this; throw Cr.NS_ERROR_NOT_IMPLEMENTED; } (automatically generated by xpconnect) 09:31:57 <aleth> Interesting. 09:32:20 <flo-retina> I'm not saying that wrapper is implemented with JS code of course. 09:32:29 <flo-retina> but that wrapper needs to exist somewhere, and probably takes some memory. 09:33:32 <aleth> The nice thing about this idea is that it's easy to test 09:33:55 <flo-retina> it would be easier to test if we had an easily reproducible test case 09:34:15 <flo-retina> I guess showing a log file could do, but that's still suboptimal, as that requires quite a bit of manual clicking around 09:34:39 <aleth> I totally agree with your wish for memory usage tests 09:35:02 <flo-retina> maybe we should just go ahead and do them 09:35:22 <flo-retina> if we had a way to force a convbrowser to open for a specific log file without loading anything else, we should have less noise 09:35:47 <aleth> Seems possible, viewlog.xul is its own window 09:35:48 <flo-retina> then we could export the about:memory output as JSON (there's a method to do that 09:36:02 <flo-retina> and about:memory (the webpage) has a "load and diff" feature that could let us see the results of our experiments 09:36:12 <aleth> After all nhnt11's patches land, you can pass it a log set containing a single log 09:36:28 <aleth> Well, you can do it now too, but it will bitrot 09:39:37 <flo-retina> aleth: well, after all of nhnt11's patches land, we should remove old messages automatically, so memory usage of Bubbles shouldn't be a real concern anymore ;) 09:40:30 <aleth> heh, I meant only the more or less finished patches ;) 09:41:48 <flo-retina> same for imConversations.js btw 09:44:40 <aleth> I can't see anything like it in the stats service, but it may not be obvious 09:45:23 <flo-retina> any addEventListener or addObserver call? 09:45:35 <flo-retina> or executeSoon? (that creates an nsIRunnable, right?) 09:46:52 <aleth> Hmm 09:47:11 <flo-retina> we've got executeSoon AND .bind on several lines 09:47:15 <aleth> There are some, but in that case it would be a leak 09:47:36 <aleth> Replacing the bind didn't make any difference. But executeSoon is a good point 09:47:37 <flo-retina> that's possible 09:48:21 <aleth> It's also possible arrow functions don't actually help for this 09:48:37 <flo-retina> arrow functions are also closures, I don't expect them to help 09:49:11 <aleth> but there was some post somewhere about the lexical scope being implemented differently 09:49:19 --> sherief has joined #instantbird 09:49:40 <flo-retina> was that post about saving memory or about faster execution? 09:49:57 <aleth> I can't remember, that's why I can't say if it helps 09:50:16 <flo-retina> I also see setTimeout(this._foo.bind(this), ...) 09:50:45 <flo-retina> aleth: even if it helps with memory usage, that should divide the total amount of Function by some constant, not eliminate it 09:50:57 <flo-retina> as we would still be creating as many closures 09:51:00 <aleth> Yes, that's all I was expecting to see 09:51:08 <aleth> But it didn't make any difference. 10:02:42 <-- aleth has quit (Ping timeout) 10:14:29 --> Armada has joined #instantbird 10:23:36 --> mpmc has joined #instantbird 11:01:12 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 11:12:58 --> aleth has joined #instantbird 11:12:58 * ChanServ sets mode +o aleth 11:17:47 --> mali has joined #instantbird 11:33:25 <-- aleth has quit (Ping timeout) 11:40:37 --> sonny has joined #instantbird 12:01:34 <-- sonny has quit (Ping timeout) 12:07:42 <clokep> flo-retina, aleth: There's a way to "normalize" HTML in Gecko IIRC. 12:07:50 <clokep> That should remove "useless" textnodes. 12:08:58 <flo-retina> clokep: I thought that only merged adjacent text nodes. Worth checking. :) 12:09:32 <clokep> flo-retina: I'm unsure, I thought it also removed not useful ones, but maybe that was a dream (or an enhancement request) 12:09:45 <flo-retina> MDN says "Puts the specified node and all of its subtree into a "normalized" form. In a normalized subtree, no text nodes in the subtree are empty and there are no adjacent text nodes." 12:10:10 <flo-retina> so the problem is: will that remove a text node containing only \n, in a place where that information isn't relevant? 12:10:27 <flo-retina> (eg. between 2 <div> elements) 12:10:44 <flo-retina> My guess is it won't, because <div style="display: inline"> would make it relevant 12:11:02 <clokep> Yes, it probably won't. 12:21:59 <-- nhnt11 has quit (Ping timeout) 12:25:13 --> nhnt11 has joined #instantbird 12:36:45 --> Rym has joined #instantbird 12:39:41 <-- nhnt11 has quit (Ping timeout) 12:40:50 --> nhnt11 has joined #instantbird 12:56:19 --> aleth has joined #instantbird 12:56:20 * ChanServ sets mode +o aleth 12:56:49 <aleth> Made some changes to the stats service which seem to save quite a bit of memory :-) 12:58:13 <-- aleth has quit (Quit: exit stage left) 13:09:09 --> sabbir_alam_ufo has joined #instantbird 13:15:34 <-- nhnt11 has quit (Ping timeout) 13:16:03 --> nhnt11 has joined #instantbird 13:17:11 <-- sabbir_alam_ufo has quit (Quit: Leaving) 13:26:32 --> mpmc has joined #instantbird 13:38:32 <clokep> Oh? Anything worth sharing 13:42:33 <flo-retina> probably, but it looks like we'll need to wait for him to have a more stable connection :( 14:04:40 * clokep just went to port the changes from "Simple Tb Build" to "Simple Ib build" and found aleth had already done it! 14:20:39 <-- BWMerlin has quit (Quit: BWMerlin) 14:43:47 <-- sherief has quit (Ping timeout) 14:44:38 <flo-retina> :) 15:35:02 <-- EionRobb has quit (Connection reset by peer) 15:36:05 --> EionRobb has joined #instantbird 15:58:16 <-- Bollebib has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 16:01:34 <-- EionRobb has quit (Ping timeout) 16:02:29 --> EionRobb has joined #instantbird 16:19:55 <-- EionRobb has quit (Connection reset by peer) 16:20:41 --> EionRobb has joined #instantbird 16:39:12 <-- hadi has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 16:40:01 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 16:40:45 <-- flo-retina has quit (Ping timeout) 18:33:44 --> clokep_work has joined #instantbird 18:33:44 * ChanServ sets mode +o clokep_work 18:35:29 <-- clokep_work has quit (Ping timeout) 18:44:20 <-- nhnt11 has quit (Ping timeout) 18:45:13 --> nhnt11 has joined #instantbird 18:45:54 --> gerard-majax__ has joined #instantbird 18:47:49 <-- nhnt11 has quit (Ping timeout) 18:48:44 --> nhnt11 has joined #instantbird 18:50:31 <-- nhnt11 has quit (Ping timeout) 18:51:55 --> nhnt11 has joined #instantbird 18:56:12 --> flo-retina has joined #instantbird 18:56:13 * ChanServ sets mode +qo flo-retina flo-retina 19:08:57 --> unghost has joined #instantbird 19:10:07 <-- redDragon has quit (Quit: redDragon) 19:16:08 --> arlolra has joined #instantbird 20:15:31 --> jb has joined #instantbird 20:43:35 <-- jb has quit (Ping timeout) 20:56:08 <-- Mook has quit (Quit: Mook) 21:24:32 --> clokep_work has joined #instantbird 21:24:32 * ChanServ sets mode +o clokep_work 22:08:41 <-- arlolra has quit (Quit: arlolra) 22:41:20 <-- clokep_work has quit (Ping timeout) 22:44:26 <-- Rym has quit (Ping timeout) 22:45:03 --> Rym has joined #instantbird 22:47:07 --> BWMerlin has joined #instantbird 22:51:50 --> clokep_work has joined #instantbird 22:51:51 * ChanServ sets mode +o clokep_work 23:42:26 <-- clokep_work has quit (Ping timeout) 23:45:35 <-- clokep has quit (Ping timeout) 23:50:04 <-- Rym has quit (Ping timeout) 23:51:16 --> Rym has joined #instantbird 23:56:55 <-- Rym has quit (Ping timeout)