#instantbird log on 06 05 2014

All times are UTC.

00:03:21 <-- mayanktg has quit (Client exited)
00:06:32 <clokep> nhnt11: Sounds like you're making progress!
00:32:17 <-- Mook_as has quit (Quit: Mook_as)
01:33:44 <-- spiffytech has quit (Ping timeout)
01:34:08 --> spiffytech has joined #instantbird
02:06:10 <-- spiffytech has quit (Ping timeout)
02:06:16 --> spiffytech has joined #instantbird
02:19:29 <-- clokep has quit (Ping timeout)
03:01:04 <-- sonny has quit (Ping timeout)
03:03:58 --> mconley has joined #instantbird
03:22:18 --> Mook has joined #instantbird
03:22:34 <-- mconley has quit (Connection timed out)
03:23:20 --> mconley has joined #instantbird
03:46:29 <-- mconley has quit (Connection timed out)
03:47:00 --> mconley has joined #instantbird
04:05:35 <-- mconley has quit (Input/output error)
04:45:59 <-- Rym has quit (Ping timeout)
04:47:58 --> Rym has joined #instantbird
05:06:10 --> mconley has joined #instantbird
05:11:29 <-- mconley has quit (Ping timeout)
05:58:22 --> kramolnik has joined #instantbird
06:08:46 <-- EionRobb has quit (Quit: Leaving.)
06:15:41 --> gerard-majax_ has joined #instantbird
06:19:34 <-- gerard-majax_ has quit (Ping timeout)
06:28:07 --> gerard-majax_ has joined #instantbird
06:31:23 --> jb has joined #instantbird
06:33:48 <-- gerard-majax_ has quit (Ping timeout)
06:40:01 --> gerard-majax_ has joined #instantbird
06:47:16 <-- gerard-majax_ has quit (Ping timeout)
07:03:40 <-- Mook has quit (Quit: Mook)
07:07:40 <-- jb has quit (Ping timeout)
07:14:28 --> jb has joined #instantbird
07:38:39 <-- jb has quit (Ping timeout)
07:49:42 <sawrubh> flo-retina: what sounds like a good preference? 'messenger.filelink.enabled'?
07:50:06 --> mayanktg has joined #instantbird
07:53:29 <sawrubh> flo-retina: also do you there is any other method to pref it off besides adding a handler for ondrag{over, end}, ondrop which check this pref and then either call preventDefault and do what needs to be done, otherwise if the pref is not set then do nothing?
07:56:10 <sawrubh> the other way might be to use ifdef's but I'm not sure how to get the value of the pref flag in it
08:03:52 --> gerard-majax_ has joined #instantbird
08:09:20 <flo-retina> sawrubh: you could check the pref once before adding the event listeners
08:09:59 --> Armada has joined #instantbird
08:10:02 <sawrubh> ah, got it, by using addEventListener instead of like i'm adding to the nodes directly right now
08:25:48 <mayanktg> flo-retina: I'm trying to extract the text "audio" and "video" from from the offer string. But I'm getting "m=audio" and "m=video". the \K regex isn't supported in JS. What could be an alternative? http://regex101.com/r/wH2fE7
08:26:20 <flo-retina> what are you actually trying to do when you say "extract the text "audio" and "video"" ?
08:27:05 <mayanktg> I've to put the value in <content media="audio">
08:28:16 <flo-retina> not sure if it helps, but something I've done before to 'parse' SDP strings was .split("m=") and then with .startsWith("audio") you can know if the part you are looking at is about audio or video
08:28:19 <flo-retina> (or a datachannel)
08:29:12 <mayanktg> Ok. Understood :)
08:41:16 --> jb has joined #instantbird
08:42:39 <sawrubh> flo-retina: I didn't understand your comment https://bugzilla.mozilla.org/show_bug.cgi?id=1014644#c5
08:42:43 <instantbot> Bug 1014644 nor, --, ---, saurabhanandiit, NEW, Make FileLink work in Instantbird
08:42:55 <sawrubh> if the files are in chat/ shouldn't we add them in the jar.mn in chat/ also
08:44:13 <-- kramolnik has quit (Ping timeout)
08:45:17 <-- jb has quit (Ping timeout)
08:49:01 <-- Rym has quit (Ping timeout)
08:57:16 <flo-retina> sawrubh: the content messenger %content/messenger/ line is related to the mail/ stuff
08:57:20 <flo-retina> it currently exists in mail/
08:57:28 <flo-retina> if you add it in chat/, it will be duplicated for Thunderbird
08:58:30 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:08:37 --> EionRobb has joined #instantbird
09:24:23 <-- EionRobb has quit (Connection reset by peer)
09:24:29 --> EionRobb has joined #instantbird
09:30:16 --> flo-retina has joined #instantbird
09:30:16 * ChanServ sets mode +qo flo-retina flo-retina 
09:30:57 <flo-retina> oooh, fixed throbbers! :)
09:30:57 <flo-retina> nhnt11++ :)
09:33:14 --> jb has joined #instantbird
09:41:29 --> BWMerlin has joined #instantbird
09:42:47 <-- mayanktg has quit (Client exited)
09:48:11 <-- flo-retina has quit (Ping timeout)
09:48:24 --> flo-retina has joined #instantbird
09:48:24 * ChanServ sets mode +qo flo-retina flo-retina 
09:49:40 <sawrubh> flo-retina: so this is what I understand, chat is shared with TB, now aleth asked me refer to files in chat/ by "chrome://chat" instead of "chrome://messenger"
09:50:04 <flo-retina> then aleth missed some of our previous discussion
09:50:14 <sawrubh> why should that be required, since TB code already refers to cloudfile as chrome://messenger
09:50:30 <flo-retina> "that" = ?
09:50:52 <sawrubh> "that" is the change of chrome urls to chrome://chat
09:51:06 <flo-retina> that's just a cleanup
09:51:18 <flo-retina> messenger is typically used for stuff in mail/ (like "instantbird" is used for stuff in im/)
09:51:38 <flo-retina> the problem with changing messenger -> chat, is that you would also need to do it in the Thunderbird UI
09:51:59 <flo-retina> so clokep, you and I agreed that we would do that later, once we have filelink working and almost ready to land
09:52:13 <sawrubh> so it's almost ready to land
09:52:19 <flo-retina> really?
09:52:26 <flo-retina> is it r+'ed yet?
09:52:55 <sawrubh> no, but there aren't a lot of things which should stop it
09:53:17 * flo-retina hasn't looked at that bug/patch specifically
09:53:35 <flo-retina> I was under the assumption that clokep was following closely and would ping me if something needed my attention there
09:53:36 <sawrubh> is ensuring all these changes work in TB required for r+ right?
09:53:49 <flo-retina> you can't land something that will break TB
09:54:00 <sawrubh> so I'll have to change the chrome urls right now
09:54:05 <flo-retina> why?
09:54:17 <sawrubh> in order to test I don't break TB before I ask for r+
09:54:28 <flo-retina> you have them in chrome://messenger, don't you?
09:54:37 <sawrubh> yes
09:54:46 <flo-retina> so there's no reason for TB to be broken
09:55:27 * sawrubh wonders if he should trigger a try-run just to ensure it
09:55:46 <flo-retina> if you feel it's useful you can
10:03:05 --> clokep has joined #instantbird
10:03:06 * ChanServ sets mode +o clokep 
10:11:51 <clokep> sawrubh: At some point you will have to do a compile w/ TB, whether that's local or a try run, IDK.
10:12:32 <clokep> And yes, flo-retina, my plan was to ping you when I had questions. ;) And probably have you rs/sr once I give an r+.
10:13:02 <flo-retina> :)
10:13:35 <flo-retina> clokep: good morning :)
10:14:21 <clokep> Morning, yes. Not sure about the "good" part yet. ;)
10:17:35 <-- Armada has quit (Connection reset by peer)
10:17:55 --> Armada has joined #instantbird
10:33:07 --> sonny has joined #instantbird
10:37:22 <-- clokep has quit (Ping timeout)
10:42:36 --> mayanktg has joined #instantbird
10:48:00 <sawrubh> flo-retina: I've had to do this addition http://pastebin.instantbird.com/729450 in the patch that I have which copies the cloudfile/ to chat/. so that [if(!this._accountType)] was required because in some cases this._accountType was coming up as null (because accountTypeSelected
10:48:00 <sawrubh> (http://mxr.mozilla.org/comm-central/source/mail/components/cloudfile/content/addAccountDialog.xul#36), was called before onInit (http://mxr.mozilla.org/comm-central/source/mail/components/cloudfile/content/addAccountDialog.xul#21))
10:48:36 <sawrubh> now I'm not able to understand/explain why this happenning (onInit being called later leading to null variable)
10:49:09 <sawrubh> I've been asked to explain here : https://bugzilla.mozilla.org/show_bug.cgi?id=1014644#c10
10:49:12 <instantbot> Bug 1014644 nor, --, ---, saurabhanandiit, NEW, Make FileLink work in Instantbird
10:50:46 <flo-retina> I don't know this code at all
10:51:11 <sawrubh> :/
10:52:36 <flo-retina> what's calling onInit?
10:52:52 <flo-retina> ah, the onload handler
11:02:46 --> mpmc has joined #instantbird
11:04:30 <-- EionRobb has quit (Quit: Leaving.)
11:04:45 <sawrubh> flo-retina: fwiw, so getting this error however doesn't seem to affect anything, things work as usual. Like STR are that I don't have any FileLink account setup and I drag and drop a file on the conv window, so the addAccountDialog pops up
11:05:22 <sawrubh> and I see this error 'TypeError: this._accountType is null', however everything seems to work
11:10:08 <sawrubh> flo-retina: another interesting thing, I only get this error when I don't have any FileLink account setup and I drop a file on the conv window and am prompted to add a FileLink account, when I don't have any FileLink account setup and try and add one via the 'Add' button in the preference pane that I've added to IB Preferences, I don't see this error
11:10:31 <sawrubh> wait, I think I know how to fix this!
11:11:10 --> mconley has joined #instantbird
11:12:52 <-- mconley has quit (Ping timeout)
11:14:08 <-- nhnt11 has quit (Ping timeout)
11:15:45 --> nhnt11 has joined #instantbird
11:20:02 <sawrubh> hrm, it didn't work. I thought of trying to replace the custom call to addAccountDialog on L152 of my patch (http://pastebin.instantbird.com/729461) with cloudFileAccounts.addAccountDialog() since that's what the 'Add' button in the preference pane seems to use (and it doesn't show any errors)
11:20:11 <sawrubh> but I'm still getting that error, meh
11:20:16 * mayanktg seems some magic RegEx is required to add the <candidate/> elements :-/
11:21:44 <flo-retina> why?
11:26:07 <mayanktg> There are two sets of candidate elements. One set for each media device type. I'll have to first slip them --> create <candidate/> elements for each <content> . Don't worry I'll figure this out :)
11:26:50 <-- jb has quit (Quit: jb)
11:27:22 <flo-retina> I don't see any regexp in that
11:27:30 <flo-retina> just a .split("m=")
11:27:51 <mayanktg> Also... regarding sending some of the const which doesn't change, I'm sure we have to use http://xmpp.org/extensions/inbox/jingle-sdp.html for sending them.
11:27:52 <flo-retina> and then the same function is called twice, once for the audio stuff, once for the video stuff
11:28:23 <flo-retina> if they are constants that don't change, why would you want to send them?
11:29:35 <mayanktg> I meant to say values like "o=Mozilla-SIPUA-1.6a1pre 27638 0 IN IP4" . We will have to send these values too.
11:30:42 <flo-retina> I see no value in "Mozilla-SIPUA-1.6a1pre"
11:35:17 <mayanktg> ok.
11:35:17 <mayanktg> We are trying to send the complete offer in form of xml-stanza and then again retrieve it back to its original form. Isn't it?
11:36:38 <mayanktg> Let me try creating a <session/> and send the values along with it. If I'm unable to get that, I'll do as you said.
11:40:23 <nhnt11> Hi
11:42:57 <flo-retina> mayanktg: yes, we are converting the whole thing to Jingle XML, and then back to SDP on the other side
11:43:10 --> jb has joined #instantbird
11:43:49 * nhnt11 wonders why Ib is downloading a full sized update
11:51:33 --> aleth_web has joined #instantbird
11:52:37 <sawrubh> aleth_web: hey
11:52:48 <aleth_web> hello
11:53:51 <sawrubh> aleth_web: http://log.bezut.info/instantbird/140605/#m108 onwards, any ideas?
11:56:06 <nhnt11> aleth_web: pathA != pathB was my bad, both of those should just be queueOrderPath :(
11:57:17 <nhnt11> aleth_web: yield logWriter.logMessage(message) because otherwise we have pending Promises and no real way to track whether they're done or not (this is what caused the JSON is not defined error)
11:57:58 <aleth_web> I don't buy that. Isn't part of the point of the test to check writing and reading from the same queue?
11:58:15 <aleth_web> If you yield, that means waiting where you wouldn't in production code.
11:58:28 <nhnt11> aleth_web: Well at the very least we'd need to yield on the last one
11:58:32 <flo-retina> aleth_web: the dev-platform discussion sounds like Assert.equal may change soon to "is" ;)
11:59:03 <aleth_web> flo-retina: oh dear...
11:59:35 <nhnt11> aleth_web, flo-retina: Maybe I want to keep do_check_* for the time being then..
11:59:43 <nhnt11> (and file a followup to change everything once stuff is stable)
12:00:50 <aleth_web> It doesn't really matter if you'll have to search and replace anyway.
12:00:53 <nhnt11> aleth_web: How about not yielding there, and yielding on gFilePromises.get(path) then?
12:01:14 <aleth_web> Why do you have to yield anywhere until the very end?
12:01:28 <aleth_web> What am I missing?
12:01:28 <nhnt11> aleth_web: Why would we want to read a file that hasn't been written to yet?
12:01:33 <nhnt11> Oh, that operation will be queued anyway
12:01:37 <aleth_web> Right!
12:01:44 <nhnt11> garh
12:01:48 <aleth_web> That's part of what you're testing.
12:01:58 <aleth_web> If it doesn't work in the test, it certainly won't in the log viewer ;)
12:02:30 <nhnt11> Well, "How about not yielding there, and yielding on gFilePromises.get(path) then?" still works except we yield at the end
12:03:00 <aleth_web> I don't quite know what that means, but I'm sure a pastebin will clarify it...
12:03:37 * aleth_web very much hopes the "is" doesn't happen.
12:04:02 <aleth_web> but never mind.
12:04:12 <nhnt11> aleth_web: We need to yield on the read operation right?
12:04:24 <nhnt11> (but yes, a pastebin is in order
12:04:25 <nhnt11> )
12:07:57 <-- BWMerlin has quit (Quit: BWMerlin)
12:09:16 * nhnt11 wonders about "Would it work to close the file only when you are about to open it for reading?"
12:09:38 <nhnt11> It would work, but would likely involve another map (of OS.File instances), another helper function to ensure these get closed/reopened, etc...
12:10:06 <aleth_web> nhnt11: It seems your explanatory comment about your discussions on #perf weren't complete enough to convince flo yet ;)
12:11:12 <aleth_web> sawrubh: I haven't caught up with the logs yet. Good to see you figured out the drag/drop handlers. If you think mdn is wrong/confusing please improve it (it's a wiki!)
12:11:58 <sawrubh> aleth_web: I don't have the explanation for why it worked with the textbox, so can't question it yet
12:12:13 <nhnt11> And I thought |function foo(bar) *{*| was what we followed and thought I was being helpful changing the position of the brace to the same line, sorry.
12:12:17 <aleth_web> sawrubh: My guess: because the textbox has no children
12:12:46 <aleth_web> nhnt11: I actually like that change
12:13:23 <aleth_web> It seems to me so much of that file is being touched that the usual argument of "don't change the style of the existing file" doesn't hold here anyway.
12:16:21 <sawrubh> aleth_web: well the browser doesn't have any children too(none that I can see atleast)
12:16:51 <nhnt11> flo-retina: I changed the comment style because it was a much longer comment, I'll change it to // now though
12:17:25 <aleth_web> sawrubh: When you drop on the browser, you're actually dropping onto say a DIV representing a message bubble in the content.
12:17:40 <aleth_web> Then the event bubbles up.
12:17:59 <aleth_web> Didn't I mention at the beginning you'd have to worry about capturing bubbling events?
12:18:24 <sawrubh> if you had, I must have missed it
12:18:44 <aleth_web> Take a look at the browser in DOM explorer and you'll see the entire content is underneath
12:19:09 <aleth_web> s/explorer/inspector
12:21:18 <-- mayanktg has quit (Client exited)
12:21:52 <sawrubh> aleth_web: one final (hopefully) help I need is that I've still not been able to figure out that error regarding gApplicationsPane being undefined, can you help me with that?
12:22:16 <sawrubh> I'll share a diff that'll make it more clear what I'm trying to say
12:24:46 <-- nhnt11 has quit (Ping timeout)
12:26:38 --> nhnt11 has joined #instantbird
12:28:30 <-- nhnt11 has quit (Ping timeout)
12:29:46 --> nhnt11 has joined #instantbird
12:32:28 <-- nhnt11 has quit (Ping timeout)
12:34:25 --> clokep_work has joined #instantbird
12:35:55 <sawrubh> aleth_web: http://pastebin.instantbird.com/729529, http://pastebin.instantbird.com/729540 are the relavant changes. http://pastebin.instantbird.com/729526 is the error I get when I click on any of the FileLink providers in the provider list in the preference pane
12:38:09 <aleth_web> nhnt11: http://log.bezut.info/instantbird/140604/#m703 Can't this be simplified by having the constructor also use the queue for the path? i.e. queue the whole initialization Task.
12:40:44 <sawrubh> aleth_web: so the 'Applications' tab currently in IB preferences has something defined as gApplicationsPane(http://mxr.mozilla.org/comm-central/source/im/content/preferences/applications.js), now the file I have copied as filetransfers.js (/mail/components/preferences/applications.js) had a similar gApplicationsPane defined which I removed since it wasn't
12:40:45 <sawrubh> necessary anymore for the IB preferences and anyway it would conflict with 
12:41:21 <aleth_web> Can you show me handlers.xml
12:41:57 <sawrubh> the gApplicationsPane already defined in im/content/preferences/applications.js
12:42:29 <sawrubh> aleth_web: http://mxr.mozilla.org/comm-central/source/im/content/preferences/handlers.xml
12:43:38 <sawrubh> I have no clue why gApplicationsPane even comes into picture for the 'File Transfers' pane :/
12:44:19 <aleth_web> Because the file transfer pane in TB was in applications.xul and called gApplicationsPane?
12:44:30 --> nhnt11 has joined #instantbird
12:45:04 <aleth_web> The error you are seeing is thrown in handlers.xml, so it looks like your changes broke the existing applications pane.
12:45:38 <aleth_web> So have a look at your changes to the files that already existed in IB.
12:45:48 <sawrubh> aleth_web: no, so the existing IB's applications pane works fine, it's just that my 'file transfers' pane throws this error in the console when I click on the providers
12:46:19 <-- nhnt11 has quit (Ping timeout)
12:46:23 <sawrubh> I have not touched any IB preference files except preferences.xul and that too was just to tell it I've added another pane
12:46:26 <aleth_web> OK. So that means somewhere in your file transfers pane there is still something referencing the applications pane somehow...
12:46:45 <sawrubh> exactly which I can't find after weeding through it for a long time
12:47:47 <sawrubh> "Because the file transfer pane in TB was in applications.xul and called gApplicationsPane?" so TB has two tabs in the attachments pane, one quite similar to our applications pane (telling about what are the handlers for various types called incoming
12:47:49 <aleth_web> Does your new pane use any handler bindings?
12:48:15 --> nhnt11 has joined #instantbird
12:48:33 <aleth_web> sawrubh: You should really use IB for IRC, then you wouldn't have to worry about sending only half your message :P
12:48:36 <sawrubh> and the other called outgoing which handles FileLink, the gApplicationsPane defined in TB's application.js did things for that incoming tab (which handled application handlers etc) and had nothing to do with the FileLink pane
12:50:04 <-- nhnt11 has quit (Ping timeout)
12:50:57 <aleth_web> sawrubh: Are all these changes in your latest patch in the bug too?
12:51:26 --> nhnt11 has joined #instantbird
12:51:55 <sawrubh> no, they aren't, they are with me, however if you want them I can upload on the bug since this error is all that's stopping me and I am anyway going to upload to BZ
12:52:30 <sawrubh> (because pastebin sucks with the size of patch I have (~3000 lines))
12:52:42 <flo-retina> nhnt11: I would use do_check_* for now, yes. That will at least be consistent with our other existing tests
12:53:54 <-- jb has quit (Ping timeout)
12:55:01 --> jb has joined #instantbird
12:55:57 <-- nhnt11 has quit (Ping timeout)
12:56:52 * sawrubh goes to attach it to the bug then
12:58:06 --> nhnt11 has joined #instantbird
12:58:30 <aleth_web> sawrubh: If all else fails, add some Cu.reportErrors around your code which will show you more precisely at which point that error happens.
12:58:31 <aleth_web> i.e. what in your file transfer pane is constructing something from handlers.xml
12:59:44 <clokep_work> aleth_web: If onInit isn't getting called, there's a bug somewhere that needs to be fixed.
12:59:52 <clokep_work> Oops, sawrubh , not aleth_web .
12:59:56 <-- nhnt11 has quit (Ping timeout)
13:00:09 <aleth_web> clokep_work: exactly
13:00:17 <aleth_web> ah, sorry
13:00:49 --> nhnt11 has joined #instantbird
13:00:59 <nhnt11> aleth_web: Yeah I guess we could put the whole Task in the queue
13:01:59 --> mayanktg has joined #instantbird
13:03:38 <-- nhnt11 has quit (Ping timeout)
13:03:38 <sawrubh> clokep_work: onInit is getting called, so when I press 'Add' button in Preference Pane, accountTypeSelected is called then onInit is called, when I drop on the conversation window (without having any accounts added), accountTypeSelected is called, this._accountType error comes, onInit is called
13:04:11 <aleth_web> But why in that order?
13:04:15 <sawrubh> so onInit is called after accountTypeSelected in both the cases, in one case error comes, in the other it doesn't, it works flawlessly in both cases (which again confuses me)
13:04:50 <sawrubh> aleth_web: I don't know why, technically it should be the other way round
13:04:53 --> nhnt11 has joined #instantbird
13:05:29 <aleth_web> Looks like that's what you need to figure out.
13:06:11 <aleth_web> I really think it might be useful to do something as brute-force as I suggested earlier (add lots of Cu.reportError and get a sense for the order in which things happen on execution)
13:06:39 <-- nhnt11 has quit (Ping timeout)
13:06:56 <mayanktg> aleth_web: I have parsed the offer into xml-stanza. Here's the xml-stanza I've sent http://pastebin.instantbird.com/729543 (received one is same too). And the diff of WIP http://pastebin.instantbird.com/729546 . I haven't created an offer yet by myself. 
13:07:37 <mayanktg> I'll convert this into a function, so that it can be used by the "answer" too
13:07:54 --> nhnt11 has joined #instantbird
13:07:58 <aleth_web> I was just going to suggest that.
13:08:20 <aleth_web> Make a sdp2xml function that you can test with xpcshell.
13:08:41 <mayanktg> Ok.
13:09:25 <mayanktg> Where in the code should I have to create the offer? conversation.xml?...sorry idk :-/
13:10:24 <aleth_web> No, you do that in the call command I think.
13:10:53 <aleth_web> conversation.xml is only involved for UI stuff, it shouldn't have to deal with this kind of thing.
13:11:33 <mayanktg> Ok. :)
13:11:47 <-- nhnt11 has quit (Ping timeout)
13:13:15 <sawrubh> aleth_web: I've downloaded the nightly from the website and run the instantbird binary and get this http://pastebin.instantbird.com/729547
13:13:55 <aleth_web> Are you on Linux? Then the nightlies are not much use to you at the moment unfortunately.
13:14:14 <sawrubh> yes, on Linux
13:14:15 --> nhnt11 has joined #instantbird
13:14:19 <aleth_web> (You get this error when the 32-bit nightlies are run on 64-bit Linux with missing libraries)
13:14:37 <aleth_web> We don't currently have nightlies for Linux or Windows :-S
13:15:11 <sawrubh> the other option is to compile trunk to a different objdir and use that for my daily use
13:15:25 <-- jb has quit (Ping timeout)
13:15:43 <nhnt11> sawrubh: Why a different objdir?
13:16:28 <nhnt11> Just schedule a |$hg qpop -a && mach build && cp <path to dist file> ~/wherever/you/want && hg qpush -a && mach build|?
13:16:31 <sawrubh> nhnt11: everytime I compile doesn't it remove the previous binary and replace it with a new one, so I can't have an instance running all the time?
13:17:05 <sawrubh> nhnt11: I mean for using as my irc client, I need a constant binary without my changes
13:17:40 <nhnt11> sawrubh: That's what the cp is for
13:18:05 <clokep_work> sawrubh: The latest Linux build is broken anywa, It hink.
13:18:26 <sawrubh> nhnt11: ah I missed that
13:18:33 <nhnt11> sawrubh: You could also have a separate dist dir for daily use, and rsync it
13:18:48 <nhnt11> Better than having two >2GB objdirs imo
13:19:35 <sawrubh> nhnt11: we just need the entire dist directory for running it standalone right?
13:19:38 <nhnt11> sawrubh: Why not just use the stable version btw?
13:19:44 <aleth_web> clokep_work: Not if he builds it himself, right?
13:19:44 <nhnt11> Yes.
13:20:10 <sawrubh> nhnt11: living on the edge feels good
13:20:16 <flo-retina> nhnt11: the stable version doesn't have throbbers ;)
13:20:36 <nhnt11> living on the edge is too much trouble when you don't have automated nightlies imo ;)
13:20:40 <aleth_web> Can't he just package his build?
13:20:52 <flo-retina> can we fix nightlies? :-]
13:20:53 <nhnt11> Yeah I was about to suggest that
13:21:03 <nhnt11> (that was re. aleth)
13:21:09 <sawrubh> aleth_web: how do I do that?
13:21:13 * sawrubh looks up
13:21:15 <flo-retina> nhnt11: you don't want to fix nightlies? :-o
13:21:24 <nhnt11> sawrubh: make package from an objdir
13:21:27 <flo-retina> sawrubh: |make package| in the objdir
13:21:30 <clokep_work> aleth_web: Yes. Just the NIGHTLY.
13:21:34 <nhnt11> flo-retina: No, I don't want to suggest something I don't have the competence to do myself
13:21:52 <flo-retina> sawrubh: and then use objdir/mozilla/dist/instantbird
13:22:00 <-- ivan has quit (Quit: ERC Version 5.3 (IRC client for Emacs))
13:22:10 * flo-retina is sure nhnt11 has the competence to install linux
13:22:53 <nhnt11> I have no idea how to fix nightlies, or what's wrong with them
13:23:17 <flo-retina> nhnt11: mozilla-central doesn't build on the current OS/compiler we have on the VM
13:23:18 <nhnt11> maybe I could figure it out, but... I really didn't mean "I don't want to fix nightlies"
13:23:31 * nhnt11 thinks flo-retina knows that though
13:23:36 <flo-retina> yeah :-P
13:23:57 --> jb has joined #instantbird
13:24:22 <aleth_web> clokep_work: Did you have any luck with pinging Callek about that? I tried asking on #it a while back and ran into the "I don't exactly know what's available to the community" problem
13:25:16 <flo-retina> aleth_web: dustin replied that if he was us, he would install a puppet master, and then build our slaves from that
13:25:57 <sawrubh> flo-retina: can we make him us for a day and then let him do it ;)
13:26:35 <flo-retina> I think he also said we need to have a second machine with 6TB of free disk space
13:27:13 <clokep_work> 6TB? That doesn't sound right.
13:27:18 <clokep_work> I thought he said like 2 GB.
13:27:19 <aleth_web> That's a /lot/.
13:27:30 * aleth_web suspects typo
13:27:45 <clokep_work> Ah, he said 6th whatever that means. ;)
13:27:51 <flo-retina> yeah
13:27:55 <clokep_work> aleth_web: Sorry, I didn't CC team. just Even and flo-retina .
13:28:04 <flo-retina> I just assumed "h" and "b" were close on a keyboard
13:28:13 <aleth_web> No worries! I'm glad to hear you got a more helpful reply!
13:28:22 --> ivan has joined #instantbird
13:29:20 <clokep_work> th and gb are a similar pattern. :)
13:29:39 <flo-retina> ah, yeah :)
13:29:48 <-- nhnt11 has quit (Ping timeout)
13:30:25 --> nhnt11 has joined #instantbird
13:31:11 <flo-retina> clokep_work: btw, we should probably reply... but I'm not sure what :-D
13:31:26 <flo-retina> I'm wondering if going the puppet way actually makes sense
13:31:37 <clokep_work> flo-retina: Yes, we should. I leave it in your capable hands.
13:31:40 <flo-retina> I'm tempted to just install a 'clean' centos 6.2
13:31:46 <flo-retina> on a VM
13:31:49 <clokep_work> Both of those sound reasonable.
13:31:52 <flo-retina> and see if I manager to install the moz compiler
13:32:31 <flo-retina> now if Even could fix the Windows issue... ;)
13:32:58 <aleth_web> sawrubh: Could this be your problem? http://mxr.mozilla.org/comm-central/source/im/content/preferences/handlers.css
13:34:12 <sawrubh> hrm
13:34:56 <aleth_web> Is there a richlistbox in your pane that gets these handlers applied as bindings?
13:35:20 <aleth_web> Quick way to check: DOM Inspector -> look at the listboxes -> look at the applied CSS rules
13:35:35 * sawrubh checks it the quick way
13:35:49 --> iamjayakumars has joined #instantbird
13:37:10 <flo-retina> dom inspector alsh has a way to inspect the XBL binding currently used
13:37:21 <-- nhnt11 has quit (Ping timeout)
13:38:31 --> nhnt11 has joined #instantbird
13:44:45 <-- nhnt11 has quit (Ping timeout)
13:45:33 --> nhnt11 has joined #instantbird
13:47:38 <sawrubh> yes! found that little bugger "-moz-binding: url("chrome://instantbird/content/preferences/handlers.xml#handler");"
13:48:28 <aleth_web> so those CSS rules need to be a little more specific ;)
13:49:56 * sawrubh reads up about moz-binding
13:54:15 <-- nhnt11 has quit (Ping timeout)
13:55:34 --> nhnt11 has joined #instantbird
14:00:09 <-- nhnt11 has quit (Ping timeout)
14:10:48 --> nhnt11 has joined #instantbird
14:13:31 <-- nhnt11 has quit (Ping timeout)
14:14:52 --> nhnt11 has joined #instantbird
14:15:29 <-- sonny has quit (Ping timeout)
14:17:02 --> sonny has joined #instantbird
14:17:16 <-- mayanktg has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
14:19:43 --> rosonline has joined #instantbird
14:21:22 <-- nhnt11 has quit (Ping timeout)
14:22:23 --> nhnt11 has joined #instantbird
14:37:50 <sawrubh> aleth_web: I can't seem to find css rules which work on all id's except a specific one? do you have any better way in mind than that to fix this
14:38:06 <-- nhnt11 has quit (Ping timeout)
14:38:28 <aleth_web> yes, make the rule work only on the ids you want them to work on ;)
14:39:00 <aleth_web> Or better, give all those elements a class and then make the rule specific to that.
14:41:13 <aleth_web> Of course, you should check first that the cloudfile pane doesn't actually *want* those rules to work.
14:41:47 <aleth_web> If it does require the handler bindings, then you need to fix the constructor instead.
14:42:28 <sawrubh> I don't think it's required
14:42:52 <aleth_web> What do the handler bindings do? Are they used in the cloudfile pane in TB?
14:43:55 <sawrubh> it's used on the incoming tab of the cloudfile pane in TB
14:46:17 --> mayanktg has joined #instantbird
14:46:18 <clokep_work> So we don't need it, right?
14:47:35 <sawrubh> yes
14:49:02 <sawrubh> ok, fixed :)
14:51:29 --> nhnt11 has joined #instantbird
14:55:33 <clokep_work> That mean I have a patch soon? :P
14:57:22 <sawrubh> yes
15:05:16 <clokep_work> :-D Yay
15:08:03 <sawrubh> btw I think we'll need to edit the sprite we use for preferences, going forward
15:09:00 <sawrubh> but that can probably be done later?
15:09:38 <sawrubh> we can do that just before we land or get flo to review it
15:10:13 <aleth_web> what's a sprite?
15:10:24 <clokep_work> LMGTFY? :P
15:10:36 <sawrubh> aleth_web: a collection of small images
15:10:46 <aleth_web> ok
15:10:47 <sawrubh> we use that for getting the images for the panes in our Preference Panel
15:10:48 <clokep_work> aleth_web: http://en.wikipedia.org/wiki/Sprite_%28computer_graphics%29#Sprites_by_CSS
15:11:09 <aleth_web> Thanks
15:11:57 <clokep_work> qheaden: Apparently https://etherpad.mozilla.org/ELTNA6O44F is still a tab open on this laptop. ;)
15:12:01 * aleth_web only knew of sprites as in layerable bitmap images
15:12:12 <-- nhnt11 has quit (Ping timeout)
15:12:42 <flo-retina> clokep_work: seems old :)
15:13:22 --> nhnt11 has joined #instantbird
15:14:55 <clokep_work> Yeah, amusing.
15:16:19 <flo-retina> do you have that many tabs? Maybe you need an add-on to close them automatically for you? ;)
15:17:38 <clokep_work> No.
15:19:04 <-- jb has quit (Ping timeout)
15:28:26 <mayanktg> aleth_web: While running a test we have to do | ./mozilla/mach xpcshell-test path/to/test | right? But when I try to run a test I get this error pastebin.instantbird.com/729679
15:30:07 <clokep_work> mayanktg: Can you include http:// in front of links please?
15:30:41 <clokep_work> mayanktg: Short answer: you can't use mach to run xpcshell-tests.
15:31:07 <mayanktg> sorry http://pastebin.instantbird.com/729679
15:31:07 <clokep_work> mayanktg: https://developer.mozilla.org/en-US/docs/MailNews_xpcshell-tests
15:31:20 <clokep_work> I copied and pasted, it was more of a "from now on" :)
15:31:31 <clokep_work> (I can't really see how you'd NOT have that anyway, unless you removed it)
15:34:52 <mayanktg> Ok. I would have accidentally removed it :-/
15:36:14 <-- nhnt11 has quit (Ping timeout)
15:36:53 <clokep_work> Not a big deal, just easier for all of us if it auto-links.
15:37:25 --> nhnt11 has joined #instantbird
15:38:08 --> mconley has joined #instantbird
15:49:01 --> jb has joined #instantbird
15:49:07 <flo-retina> clokep_work: thanks for replying!
15:49:32 <clokep_work> flo-retina: No problem. I figured for now just a "Thank you" was worth it. :)
15:49:40 <flo-retina> yeah
15:50:03 <sawrubh> aleth_web: so I was just checking with the DOMi, everything in the pane seems to getting styled the CSS I've put in im/themes/<OS-specific> except the management.xhtml's
15:50:19 <sawrubh> they don't seem to inherit the CSS rules included in preferences.xul
15:50:39 --> Rym has joined #instantbird
15:50:59 <sawrubh> I've tried removing the CSS being included in the xhtml's but still it doesn't work
15:51:14 <sawrubh> seems creating a new css and placing it in chat/themes is the only option
15:52:35 <sawrubh> clokep_work: do you know if that's a property that CSS rules defined for the XUL's aren't inherited by xhtml's or something (which seem to be iframes)
15:53:40 <sawrubh> clokep_work: https://bugzilla.mozilla.org/show_bug.cgi?id=1014644#c10 here it's said that it should get styled by the CSS included in the preferences.xul
15:53:42 <instantbot> Bug 1014644 nor, --, ---, saurabhanandiit, NEW, Make FileLink work in Instantbird
15:54:58 <clokep_work> sawrubh: Looks like you should ask aleth_web 
15:56:52 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
15:56:58 <aleth_web> sawrubh: oh, it's put in an iframe? The content of an iframe is a separate document, that's why it doesn't inherit the styles
15:56:58 --> nhnt11 has joined #instantbird
15:57:40 <aleth_web> sawrubh: Looks like you have to move that CSS into a file in chat/ and then include it whereever it is needed.
15:57:41 <sawrubh> aleth_web: for your reference btw http://mxr.mozilla.org/comm-central/source/mail/components/preferences/applications.js#719
15:58:10 <clokep_work> flo-retina: Seems we were both wrong, 600 GB!
15:58:45 <aleth_web> sawrubh: note you could have discovered this by looking at https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/iframe
15:59:12 <sawrubh> I discovered it by DOMi but it was a bit lengthy process :)
15:59:42 <aleth_web> Now you know :)
16:00:04 <sawrubh> but I've found DOMi to be pretty awesome
16:00:10 <sawrubh> whoever made it, good job
16:00:27 <flo-retina> clokep_work: I think we could never have guessed 600GB!
16:00:48 <flo-retina> Note that 6TB was only one order of magnitude wrong; 6GB was 2 ;).
16:00:52 <-- gerard-majax_ has quit (Ping timeout)
16:01:14 <aleth_web> clokep_work: heh, so it's lots, but not totally crazy ;)
16:02:04 <clokep_work> flo-retina: Yeah, yeah. I knew you were going to point that out. :P If it's 600 GB but then we do nothing...that's worth it IMO.
16:04:39 <aleth_web> It'd be interesting to know how it adds up to 600G
16:09:30 <-- mconley has quit (Input/output error)
16:12:03 <clokep_work> sawrubh: It clear what needs to be done? :)
16:12:17 <sawrubh> yes, I've done it, that's working
16:12:29 <sawrubh> I'm not debugging that onInit after something issue
16:12:32 <sawrubh> *now
16:12:46 --> mconley has joined #instantbird
16:13:02 * sawrubh will try to debug it otherwise go ask on #maildev in a while
16:13:03 <clokep_work> :) Cool.
16:13:08 <clokep_work> Seems like we're making progress.
16:13:20 <clokep_work> sawrubh: You can possibly ask mconley, he wrote that code originaly.
16:13:30 <sawrubh> mconley: hey
16:15:04 <mconley> sawrubh: hi!
16:15:38 <aleth_web> sawrubh: cool, so that's your last bug in this patch? :)
16:15:40 <flo-retina> clokep_work: I don't think we have more than 50GB on the Linux VM
16:16:23 <flo-retina> clokep_work: and if I create a new VM on the mac mini that's used for mac build (I was considering that), I think the whole machine has 1TB. So if I take 600GB just for puppet, that doesn't leave much for the Mac environment and the actual linux build VM.
16:17:00 <clokep_work> flo-retina: Dustin said we only need ~200 for just CentOS?
16:17:57 <flo-retina> one thing I don't understand is: how is it possible that we would have access to their stuff to build an identical puppet master... but not have access to any of their existing masters.
16:18:07 <flo-retina> but maybe that just shows that I know nothing about puppet :-D
16:18:55 <clokep_work> flo-retina: I also wondered taht.
16:19:00 <clokep_work> Sounds like a good question you should ask. ;)
16:19:11 * sawrubh gives up searching the logs
16:19:18 <flo-retina> I don't think I have the machine with enough disk space to try
16:19:32 <clokep_work> flo-retina: I meant ask them in an email?
16:19:55 <flo-retina> the only one that would possibly have enough disk space is my linux desktop machine that lives at my parents' place, where the connection is definitely too slow to download that much data (would take weeks!)
16:19:57 <clokep_work> Maybe they're willing to give us access to the master configuration, but not the master's data if we're off their networks?
16:20:15 <clokep_work> :-\
16:20:22 * clokep_work has 6 TB on his server.
16:20:33 <flo-retina> and I totally plan to relocate that machine to my house
16:20:45 <flo-retina> but that will be once my office upstairs is usable
16:20:48 <sawrubh> mconley: so I've cloned the FileLink code in IB (as you may know already), I wanted to ask why does accountTypeSelected(http://mxr.mozilla.org/comm-central/source/mail/components/cloudfile/content/addAccountDialog.xul#36) get called before onInit(http://mxr.mozilla.org/comm-central/source/mail/components/cloudfile/content/addAccountDialog.xul#21)
16:20:57 <flo-retina> (currently there's just dust. A lot of dust.)
16:21:16 <clokep_work> Sounds like a bad place for a computer. :-\
16:21:36 <mconley> sawrubh: I'll preface by saying it's been a loooooooooong time since I read this code
16:21:39 <flo-retina> that's a bad place for anything
16:21:44 <mconley> sawrubh: and that I only got it shipped, I didn't originally write it. :)
16:21:46 <sawrubh> mconley: :)
16:21:47 <mconley> but I'll try to answer. One second.
16:21:57 <flo-retina> I just need to finish that construction work
16:22:06 <flo-retina> apparently the roof will be changed late september/early October
16:22:48 <sawrubh> mconley: so when I press the 'Add' button in the FileLink pane in the preference panel and the addAccountDialog opens up, it seems that accountTypeSelected is called first event though onInit should've been
16:23:01 <mconley> sawrubh: are you sure accountTypeSelected is being called first? According to this, onInit should be called first since it's in the onload handler.
16:23:10 <mconley> interesting
16:23:16 <mconley> sawrubh: what's the stack?
16:23:16 <sawrubh> because of this in one case I'm getting a null error on this._accountType
16:23:44 <sawrubh> hrm, I'll have to check the stack
16:24:04 <sawrubh> not sure how I'd do that
16:24:08 * sawrubh looks up
16:25:33 <mconley> sawrubh: do you know if Instantbird has support for FF's devtools?
16:25:41 <mconley> TB added support last summer
16:25:44 <mconley> thanks to Fallen|away
16:25:54 <mconley> if not, you could dump a stack with
16:26:09 <mconley> dump("Stack: " + (new Error().stack) + "\n");
16:26:52 <clokep_work> I think it kind of works.
16:27:02 <clokep_work> But the new Error way is the easy way.
16:28:35 * sawrubh goes the easy way
16:29:09 <-- mconley has quit (Input/output error)
16:29:48 --> mconley has joined #instantbird
16:36:04 <sawrubh> http://pastebin.instantbird.com/729722 is the stack when I click on the Add button in the preference pane
16:36:21 <sawrubh> (fwiw dump doesn't work in there, I've used Cu.reportError())
16:37:00 <sawrubh> I've dumped the stack both in accountTypeSelected and onInit
16:46:42 --> Mook_as has joined #instantbird
16:49:05 <-- sonny has quit (Ping timeout)
16:49:43 <clokep_work> sawrubh: Is that expected or no?
16:52:14 <sawrubh> hmm, the stack doesn't really show me why one is getting called before the other, it shows me what calls led to accountTypeSelected and onInit being called
16:53:02 <sawrubh> so seems like addAccountDialog calls some functions from menulist.xml which lead to accountTypeSelected being called in the meantime onInit seems to be listening for the onload to trigger
16:54:37 <clokep_work> Right.
16:54:55 * sawrubh wonders if this is some race condition
16:55:04 <sawrubh> no, sorry doesn't make sense
16:55:08 <-- jb has quit (Ping timeout)
16:56:01 --> jb has joined #instantbird
16:56:27 <aleth_web> sawrubh: It's probably because the load event only gets sent after all the child elements like menulist are ready, and the menulist constructor sends a select event
16:56:41 <clokep_work> It's after the entire window is loaded, yes.
16:57:12 <mconley> what aleth_web just said is correct
16:57:15 <mconley> that's what's going on
16:57:42 <mconley> the menulist constructor is causing the onselect to be called
17:00:30 <sawrubh> but we don't want to delay the menulist constructor after the load, so adding a null check makes sense there?
17:00:37 <sawrubh> *construction
17:02:19 <aleth_web> sawrubh: That's a bad hack instead of a bugfix. The rest of the select handler will also assume onInit has already been called.
17:05:16 <aleth_web> How about returning early in the select handler if onInit hasn't been called yet, and calling the select handler explicitly at the end of onInit?
17:05:49 <sawrubh> so we should instead move the initialization to the event which gets called as soon as we start anything?
17:06:32 --> sonny has joined #instantbird
17:07:04 <aleth_web> You can't call onInit everytime someone selects a different item :P
17:08:09 <aleth_web> One way to do what I suggested is to remove the onselect from the XUL and instead add an event listener on the menulist in onInit
17:08:48 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
17:10:41 <clokep_work> Does TB not have this problem? :-S
17:10:48 <aleth_web> It probably does
17:12:55 <aleth_web> Wouldn't be too surprised if sawrubh uncovers some bugs in cloudfile during all this work...
17:13:52 <aleth_web> This one is at least easy to fix.
17:16:53 <clokep_work> :)
17:17:21 <mayanktg> aleth_web: In the test I should take a sample "offers" and check if the values are placed in correct elements?. What other conditions do I need to check? I have never written a xpcshell test before.
17:18:10 <aleth_web> mayanktg: Have you seen https://developer.mozilla.org/en-US/docs/Mozilla/QA/Writing_xpcshell-based_unit_tests ?
17:18:17 <clokep_work> mayanktg: So you have some input and some expected output, you want to ensure the input exactly generates the expected output from your function.
17:19:03 <aleth_web> A test will be something like do_check_eq(output of your function acting on test input, expected output)
17:19:29 <mayanktg> Yes, I'm referencing that link.. I've created a patch for the test http://pastebin.instantbird.com/729755.
17:19:56 <mayanktg> clokep_work: Ok. 
17:20:38 <aleth_web> Looks like a good start. It might be a good idea to put those new functions not in xmpp-commands but in a new file though (xmpp-jingle maybe?)
17:20:50 <-- sukhe has left #instantbird ()
17:21:32 <mayanktg> Ok. I'll do that. So all the functions related to webrtc would be included in that. 
17:22:25 <clokep_work> Or just xmpp.jsm, depending on how much code there is.
17:22:33 <clokep_work> mconley: Thank you for the help btw. :)
17:22:37 * aleth_web is surprised there aren't already xmpp tests :_/
17:22:47 <clokep_work> I'm not. :P
17:22:57 <aleth_web> Let's not put them in xmpp.jsm, I suspect this code will grow.
17:25:05 <mayanktg> ok. I'll create a new file then.
17:26:07 <aleth_web> Just like one day sawrubh will hopefully add a topic command to xmpp-commands ;)
17:31:09 * sawrubh hides behind a rock
17:37:34 <clokep_work> Hopefully soon. :)
17:37:43 <clokep_work> Between you guys and the recent changes I made, we're whipping the code to shape.
17:37:58 * sawrubh expects his code to be bitrotten now
17:40:18 <-- sonny has quit (Ping timeout)
17:41:23 <-- nhnt11 has quit (Ping timeout)
17:42:13 --> nhnt11 has joined #instantbird
17:55:29 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:00:31 <sawrubh> clokep_work: everything fixed now, preffing it off, then a self review
18:00:47 <sawrubh> my patch should be there for you review in 45 min hopefully
18:01:45 <-- nhnt11 has quit (Ping timeout)
18:06:00 --> nhnt11 has joined #instantbird
18:07:52 <-- jb has quit (Ping timeout)
18:10:16 <-- iamjayakumars has quit (Quit: )
18:20:00 <clokep_work> :)
18:22:30 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:30:30 <sawrubh> clokep_work: ideas how to pref off the prefpane addition in preferences.xul ?
18:30:57 <sawrubh> I know how to get the pref in JS and then do checks but using ifdef, I don't have much idea
18:31:11 <sawrubh> and the xul doesn't seem to be too JS friendly afaik
18:31:44 <clokep_work> sawrubh: An ifdef for a pref doesn't make any sense.
18:31:57 <clokep_work> sawrubh: My suggestion is to check the pref onload and hide UI elements.
18:32:08 --> gerard-majax_ has joined #instantbird
18:33:38 <aleth_web> Probably the only thing you have to hide is the pane element in preferences.xul
18:34:02 <sawrubh> onload of what?
18:34:22 <aleth_web> The pref window
18:35:49 <sawrubh> hrm, that's preference.xul right?
18:35:53 <aleth_web> yes
18:36:50 <mayanktg> aleth_web: :-/ I did a complete Ib build after adding xmpp-jingle.jsm in moz.build file. But I'm getting this error http://pastebin.instantbird.com/729803 . Here's the diff of the patch http://pastebin.instantbird.com/729802 Error is at Line 57 of the Pastebin. :-|
18:36:51 <-- nhnt11 has quit (Ping timeout)
18:37:46 --> nhnt11 has joined #instantbird
18:37:55 <-- mconley has quit (Input/output error)
18:38:34 <aleth_web> mayanktg: add an EXPORTED_SYMBOLS line to xmpp-jingle like you did for xmpp-commands, then it will be an array ;)
18:39:32 <mayanktg> aleth_web: Thanks :)
18:41:42 <mayanktg> aleth_web: Done :D
18:49:44 <-- nhnt11 has quit (Ping timeout)
18:56:35 --> nhnt11 has joined #instantbird
18:58:32 <clokep_work> sawrubh: Maybe we should kick off a try-build with this too once it's ready to upload?
18:58:44 <clokep_work> (For TB)
18:59:01 <nhnt11> I just encountered that bug where the window is focused but appears not to be
18:59:14 <nhnt11> Happens for all Ib windows until I focus a different application and refocus Ib
18:59:31 <nhnt11> No errors anywhere :-/
19:02:34 <nhnt11> Bah, bugs..
19:05:00 <clokep_work> You foudn it, you own it.
19:05:00 <clokep_work> :)
19:10:00 <nhnt11> The "bah, bugs..." was for a different bug btw
19:10:17 <nhnt11> "Show logs" isn't working from the blist with my async patch...
19:10:20 <nhnt11> the menu item never gets enabled
19:11:39 <sawrubh> clokep_work: sorry was afk
19:12:14 <sawrubh> yeah, makes sense, but I would like you to take a look first
19:14:31 <clokep_work> OK. :) After this review, let's do that?
19:14:36 <clokep_work> Deal?
19:14:45 <clokep_work> Probably first ensure TB even compiles.
19:14:49 <clokep_work> Then push it to try.
19:15:03 <sawrubh> deal :)
19:17:39 <nhnt11> clokep_work: What does try do other than ensure that it compiles?
19:18:02 <sawrubh> runs tests
19:18:27 <nhnt11> Tests aren't run when compiling normally? hmm....
19:18:42 <clokep_work> nhnt11: Runs tests and creates builds that I can make other people test on different OSes.
19:18:55 <nhnt11> Ah, that's useful.
19:19:01 <clokep_work> nhnt11: Not without running them manually.
19:19:43 <nhnt11> I have no idea why I assumed tests were run automatically, but I did.
19:20:08 <aleth_web> The buildbot runs them of course.
19:20:10 <nhnt11> There are possibly too many tests for that..
19:20:32 <clokep_work> nhnt11: Do you see test results when you run mach build? :P Why'd you assume?
19:20:50 <nhnt11> clokep_work: I've never really looked at mach build output :]
19:21:15 <nhnt11> I guess I never really thought about it, but yeah there's no way I would have my 14 minute builds if tests ran every time :]
19:21:37 <sawrubh> and mochitests require you to focus on a particular window and not click anywhere
19:21:45 --> unghost has joined #instantbird
19:21:46 <sawrubh> trust me you don't wanna run them ever manually
19:21:48 <aleth_web> Admittedly IB tests don't take long. TB however is noticeable...
19:21:51 <nhnt11> We should get Instantbird try builds working if they aren't already! :)
19:22:01 <sawrubh> atleast Firefox mochitests
19:22:18 * nhnt11 is a Jon Snow when it comes to tests.
19:22:41 <nhnt11> ("You know nothing, Jon Snow" if that wasn't clear)
19:23:29 <nhnt11> Mochitests are for UI?
19:23:32 <nhnt11> ew
19:26:20 <-- qheaden has quit (Input/output error)
19:27:29 --> mconley has joined #instantbird
19:27:39 <nhnt11> Hey, I should do a try build for that gloda patch
19:27:52 <nhnt11> :]
19:28:37 <nhnt11> Bah this is just weird. getLogArray is returning empty arrays :-/
19:29:22 <nhnt11> Working for getLogsForConversation, but not for getLogsForContact
19:30:17 * nhnt11 's palm and face make contact
19:30:29 <nhnt11> entries.concat does not mutate the original array :]
19:32:33 <nhnt11> Why does the answer come to me just as I decide to finally talk about the problem here :S
19:32:54 <-- mconley has quit (Input/output error)
19:33:03 <clokep_work> nhnt11: sawrubh try isn't really a replacement for NOT testing locally though!
19:33:20 <nhnt11> clokep_work: I test everything locally.
19:33:32 <clokep_work> I know, just saying. :)
19:33:50 <nhnt11> (haven't tested thunderbird stuff yet though, I've been procrastinating doing a Tb build...)
19:33:51 <sawrubh> and it costs $34 for every try push, just so you know ;)
19:34:02 <sawrubh> (to Mozilla, that is)
19:34:15 <nhnt11> sawrubh: That's based on power consumption and bandwidth?
19:34:24 <nhnt11> Wow.
19:34:27 <sawrubh> http://oduinn.com/blog/2013/11/20/the-financial-cost-of-a-checkin-part-1/
19:35:20 <mayanktg> sawrubh: That's amazing. :)
19:37:54 --> flo-retina has joined #instantbird
19:37:54 * ChanServ sets mode +qo flo-retina flo-retina 
19:39:38 <sawrubh> clokep_work, aleth_web: I don't know why http://pastebin.instantbird.com/729869 does work 
19:41:04 <nhnt11> aleth_web: So I'm trying to find a way to use your suggestion to just put the initialization task of a LogWriter in gFilePromises
19:41:21 <nhnt11> The problem I'm facing is that gFilePromises maps paths->promises
19:41:32 <nhnt11> And part of the initialization task to get that path
19:41:36 <sawrubh> clokep_work, aleth_web : err, I meant doesn't work
19:41:55 <nhnt11> It currently uses getLogFilePathForConversation, which is async because it can create the folder if it doesn't exist
19:42:21 <nhnt11> So to use gFilePromises I would need to synchronously get the path, and then call that again to asynchronously create it
19:42:28 * nhnt11 feels like this is way more complicated than it needs to be
19:42:53 <nhnt11> I want to just go with a |this._initialized| promise
19:43:35 * nhnt11 wishes his editor would spell check comments
19:44:08 <nhnt11> Ah wait
19:44:10 <nhnt11> This is all redundant
19:44:21 <nhnt11> Because queuedLogMessage throws if called before initialization anyway
19:44:38 * nhnt11 gets rid of _logMessagePromise altogether
19:48:36 <nhnt11> Bah, can't do that.
19:49:01 --> mconley has joined #instantbird
19:56:56 <clokep_work> sawrubh: First of all, imServices includes Services.
19:57:12 <clokep_work> That could actually be your issue.
19:57:34 * sawrubh tries
19:57:44 <clokep_work> Are you sure that file is included?
19:58:49 <sawrubh> http://mxr.mozilla.org/comm-central/source/im/content/preferences/preferences.xul#63
19:59:13 <clokep_work> Is that a "yes"?
19:59:36 <nhnt11> sawrubh: Just curious, what isn't working? Is that Cu.reportError on line 54 getting called?
19:59:54 <sawrubh> that's not getting called
20:01:05 <sawrubh> clokep_work: yes, utilities.js is included in preferences.xul
20:01:22 <-- nhnt11 has quit (Ping timeout)
20:02:38 --> nhnt11 has joined #instantbird
20:04:19 <nhnt11> sawrubh: Does it get called if you put it in onpaneload?
20:06:00 <nhnt11> sawrubh: Ah
20:06:01 <nhnt11> https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/prefpane#Using_multiple_prefpanes
20:07:37 <sawrubh> nhnt11: Cu.reportError doesn't work when I put it inside the onpaneload too fwiw
20:07:56 * sawrubh tries moving the script tag
20:08:36 <nhnt11> tbh I think if the script tag is the problem, it would've been broken before you started playing with it..
20:10:15 <sawrubh> yes and no one would have put it above, anyway so I tried putting different things in onpaneload and they all don't seem to be getting called
20:10:20 * sawrubh eyes onpaneload
20:14:27 <nhnt11> sawrubh: I think you may want to use a load event in main.xul
20:15:47 <nhnt11> sawrubh: Also try using onpaneload on the prefwindow itself
20:16:04 * nhnt11 should get back to his own patch...
20:19:29 <sawrubh> thanks
20:19:43 --> jb has joined #instantbird
20:20:38 <clokep_work> nhnt11: Helping each other is good. ;
20:20:41 <clokep_work> :)
20:21:08 <nhnt11> Sure :)
20:23:47 <-- mayanktg has quit (Ping timeout)
20:24:34 <nhnt11> flo-retina: So you didn't comment further on "clos[ing] the file only when you are about to open it for reading"
20:25:01 <nhnt11> (Or you did and I didn't see it, /me skims the logs really quick)
20:25:02 <flo-retina> nhnt11: you seemed to be sure of your benchmark
20:25:23 <nhnt11> Well yes.
20:25:49 <nhnt11> I certainly don't think the slight overhead is worth the added complexity of another queue/map.
20:26:03 <nhnt11> Just wanted to know if /you/ were convinced :)
20:26:44 --> mayanktg has joined #instantbird
20:29:14 --> mayanktg-ph has joined #instantbird
20:32:05 <-- clokep_work has quit (Quit: http://www.mibbit.com ajax IRC Client)
20:33:21 --> EionRobb has joined #instantbird
20:33:41 <-- mayanktg has quit (Ping timeout)
20:33:55 --> mayanktg has joined #instantbird
20:37:18 <flo-retina> nhnt11: I don't see how what I suggested requires adding another queue/map
20:37:49 <nhnt11> flo-retina: We'd have to store the OS.File instance.
20:37:58 <flo-retina> yield close(); yield open(); yield read(); yield close(); yield open()
20:38:07 <EionRobb> so many yields
20:38:21 <flo-retina> nhnt11: can't you put it in the logwriter object?
20:39:23 <flo-retina> nhnt11: anyway, I'm not really convinced (I haven't seen the benchmarks!), but not interested in opposing further resistance to what you already have ;).
20:39:51 <nhnt11> Okay.
20:40:56 <nhnt11> fwiw, to implement what you suggest, I'd have to revert to the logMessagePromise queue, and for every read, look up the log writer, queue the close/read/open on the writer's logMessagePromise
20:41:31 <nhnt11> (and then close the file after arbitrary periods of inactivity)
20:41:51 <flo-retina> I don't see how that relates to the logMessagePromise queue
20:42:26 <-- jb has quit (Ping timeout)
20:42:37 <flo-retina> "close the file after arbitrary periods of inactivity" yes you would need that (although we currently don't do it ;))
20:42:38 <nhnt11> If I want to keep the gFilePromise queue, I'd have to look up the promise for a path, which I would obtain by looking up the log writer.
20:43:23 <nhnt11> The logMessagePromise queue would be simpler (it would /replace/ the gFilePromise queue)
20:43:25 <flo-retina> isn't "look up the promise for a path" exactly what the gFilePromise queue is there for?
20:43:35 <nhnt11> Yes.
20:43:39 <nhnt11> I'm saying it's an unnecessary step
20:43:47 <sawrubh> nhnt11: any idea how can I get paneFileTransfers, which is preference.xul while I'm inside main.xul
20:43:49 <nhnt11> I could instead queue stuff on the log writer itself.
20:43:51 <flo-retina> isn't it an O(1) step?
20:44:07 <nhnt11> Oh, we're talking asymptotically?
20:44:08 <flo-retina> nhnt11: but you don't have a log writter if that's an old log, right?
20:44:28 <nhnt11> So if that log writer isn't available, I'd just go ahead with the read
20:45:04 <flo-retina> you are basically saying that you would make the global map map to the log writers, rather than to the promises
20:45:12 <nhnt11> No
20:45:18 <nhnt11> There's already a global map for writers
20:45:26 <nhnt11> I would do away with the extra one for promises
20:45:41 <flo-retina> uh, you have 2 global maps now?
20:45:49 <nhnt11> Hmm, but the current writers map is conv->writer
20:45:56 <nhnt11> I have 3
20:46:12 <nhnt11> conv->LogWriter, account->SystemLogWriter, paths->promises
20:46:13 <flo-retina> why do you need a conv->writer map?
20:46:37 <nhnt11> flo-retina: When a new text arrives, I look up the writer for a conv
20:46:41 <nhnt11> And call logMessage on it
20:46:44 <flo-retina> bah, system logs aren't interesting. Let's ignore them for now :)
20:47:09 <flo-retina> nhnt11: what was wrong with the existing system of having the writer observe the conv?
20:47:12 <nhnt11> There's a getLogWriter(aConv) function that either gets the log writer for the conv or creates it if it doesn't already exist
20:47:21 <nhnt11> flo-retina: This /is/ the existing system
20:47:41 <nhnt11> I only changed it form an object to a Map
20:47:44 * flo-retina opens mxr to check
20:47:58 <nhnt11> imILogger does the observing
20:48:07 <nhnt11> flo-retina: https://mxr.mozilla.org/comm-central/source/chat/components/src/logger.js#735
20:48:29 <flo-retina> yeah, looks like I was wrong
20:48:33 <flo-retina> that code is so crappy :(
20:49:19 <nhnt11> flo-retina: So can I keep the current open-write-close strategy please :]
20:49:36 <flo-retina> how many times do you need that question answered?
20:49:41 <nhnt11> Yeah sorry
20:49:56 <flo-retina> or are you asking until I say a definitive no? :-P
20:50:25 <sawrubh> nhnt11: any idea how can I get paneFileTransfers, which is preference.xul while I'm inside main.xul, I'm not sure if I can get the parent of the current document, can I?
20:51:09 <flo-retina> sawrubh: main.xul and preference.xul are in the same document, aren't they?
20:51:11 <nhnt11> sawrubh: Uh
20:52:44 <sawrubh> ah, nvm
20:53:03 * nhnt11 couldn't find a prefernece.xul
20:53:06 <sawrubh> I'm able to hide the content of the pane, but no the icon and the name of the pane in the Pereference Panel
20:53:07 <nhnt11> preference*
20:53:22 <sawrubh> nhnt11: it's in im/content/preferences/preference.xul
20:54:02 * sawrubh wonders if display: none would suffice for hiding the icon and title of the pane too
20:54:19 <nhnt11> sawrubh: preferences.xul?
20:54:32 <nhnt11> I see no paneFileTransfers there
20:54:34 <nhnt11> Oh you added it?
20:54:35 <sawrubh> yep
20:55:00 <sawrubh> nhnt11: yes, for now assume you need to hide paneThemes for example
20:55:21 <nhnt11> sawrubh: |let elt =  document.getElementById("paneFileTransfers"); elt.parentNode.remove(elt)| ?
20:56:35 <nhnt11> removeChild*
20:57:20 <nhnt11> sawrubh: I'm not sure if you could get the prefwindow element directly with document.getElementById btw
20:57:22 <nhnt11> Since it's a window..
20:57:25 <nhnt11> I suppose it should work.
20:58:41 <nhnt11> sawrubh: Tbh I think you should not have it in the XUL file and use addPane (https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/addPane) if it's pref'd on.
20:58:56 <nhnt11> (since addPane is a specific method to add a pane but there's no removePane)
20:59:02 <nhnt11> I'm not sure which would work better
20:59:07 <nhnt11> (try it :)
20:59:07 <nhnt11> )
20:59:09 <sawrubh> hrm, removing the child is catastrophic
20:59:34 <nhnt11> yeah probably use addPane
20:59:49 <sawrubh> quite a few errors come since a pane that was there just vanished, so preferences.xml just start crying
20:59:54 * sawrubh tries addPane
21:00:09 <nhnt11> sawrubh: Does onpaneload work on the prefwindow btw?
21:01:02 <sawrubh> onpaneload on the prefwindow of preferences.xul didn't work, however when I added something to main.js's init function, which is causes onpaneload of main.xul, it works
21:01:15 <sawrubh> that's where I've been adding all this child-removing code
21:01:24 <nhnt11> Ah okay
21:05:38 <nhnt11> flo-retina: So I don't know how to get a path from the database (are you talking about gloda here?) but how about just using OS.Path?
21:05:51 <nhnt11> (regarding https://bugzilla.mozilla.org/show_bug.cgi?id=955292#c43)
21:05:53 <instantbot> Bug 955292 enh, --, ---, nhnt11, ASSI, Read/write chat logs asynchronously
21:06:45 <nhnt11> That code is bad, getLogFromFile accepts a path now.
21:13:47 <-- nhnt11 has quit (Ping timeout)
21:18:34 --> nhnt11-phone has joined #instantbird
21:19:25 --> CaptainCalliope has joined #instantbird
21:20:22 <-- nhnt11-phone has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
21:22:41 <-- CaptainCalliope has quit (Quit: CaptainCalliope)
21:26:07 --> mconley_ has joined #instantbird
21:26:10 <-- mconley has quit (Connection reset by peer)
21:48:55 <-- aleth_web has quit (Quit: Connection closed for inactivity)
21:48:59 <flo-retina> nhnt11: You _have_ a path coming from the database, see the |let path = "logs/" + item.log.path;| line
21:50:45 * mconley_ is now known as mconley
21:52:08 <-- mayanktg-ph has quit (Connection reset by peer)
21:55:55 --> nhnt11-phone has joined #instantbird
21:56:26 <nhnt11-phone> flo-retina: ah, that's what you meant. Right, I'm already using os.path.join on that locally.
21:57:05 <nhnt11-phone> I'll be back in 2 mins btw.
21:57:07 <-- nhnt11-phone has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
21:57:08 <flo-retina> but you are creating an nsIFile
21:57:58 --> nhnt11 has joined #instantbird
21:58:30 <nhnt11> flo-retina: No, I've removed that line.
21:58:32 <nhnt11> (locally)
21:58:36 <nhnt11> It's not in the patch on bz
21:58:37 <flo-retina> ok
22:00:12 <nhnt11> flo-retina: Btw, is there any way to avoid importing osfile.jsm just for that one line?
22:00:12 <nhnt11> I'm using defineLazyModuleGetter at the moment
22:00:33 <nhnt11> (But that means I have to import xpcom utils)
22:00:45 <flo-retina> that's probably fine
22:00:53 <nhnt11> ok
22:01:00 <flo-retina> I'm not sure you really want os.path.join there
22:01:18 <nhnt11> flo-retina: I'm using OS.Path.join(OS.Constants.Path.profileDir, path)
22:01:20 <flo-retina> the paths in the database all have "/" rather than the native directory separator IIRC
22:01:35 <nhnt11> sorry, path.split("/") I meant
22:02:13 <nhnt11> flo-retina: https://pastebin.mozilla.org/5356733
22:02:29 <nhnt11> I need the proper path with native dir separators to pass to getLogFromFile anyway
22:05:58 <-- nhnt11 has quit (Ping timeout)
22:06:48 --> nhnt11 has joined #instantbird
22:14:03 <-- unghost has quit (Input/output error)
22:15:50 <nhnt11> flo-retina: So I'm storing functions in a Map, and it's ugly when I want to call them: |this._indexingJobCallbacks.get(aJob.conversation.id)();|
22:15:54 <nhnt11> Any ideas?
22:16:20 <nhnt11> (Maybe |let foo = map.get(bar); foo();|?)
22:16:35 <nhnt11> Extra line but much more readable I guess.
22:17:11 <nhnt11> I wonder if I can use invoke()
22:17:41 <flo-retina> I don't r- the .get(foo)(); line
22:18:10 <nhnt11> Really? I find it pretty unreadable and think it requires a comment in that case.
22:18:56 <flo-retina> that's gloda code...
22:19:03 <flo-retina> it's comparatively very readable ;)
22:19:11 <nhnt11> :]
22:19:35 <flo-retina> the stuff with workers that aren't worker is unreadable, isn't it?
22:19:56 <flo-retina> and the stuff that has jobs that yield every other line, but are neither tasks nor promises? ;)
22:20:20 * nhnt11 was confused by those yields.
22:23:18 <nhnt11> I have no idea how to properly test this code...
22:23:34 <flo-retina> do you mean automated tests, or just hand testing?
22:23:44 <nhnt11> Both
22:24:25 <nhnt11> Does it have automated tests, and if so, will this promise queue stuff break them?
22:24:31 <nhnt11> I can probably figure out hand testing somehow..
22:24:33 * nhnt11 fire a Tb build
22:25:05 <flo-retina> a try server build will tell you if some tests are broken
22:25:09 <nhnt11> Okay
22:25:15 <flo-retina> you'll likely push to try after getting r+ for all the tests
22:25:22 <flo-retina> especially as you are adding new tests in chat/
22:25:31 <flo-retina> and we wouldn't land them without at least one green try run
22:25:51 <nhnt11> Right.
22:27:09 * nhnt11 is modifying his mozconfig to do a Tb build if $THUNDERBIRD is set
22:35:51 <nhnt11> Bah, I messed up a comment
22:39:24 --> rosonline has joined #instantbird
22:41:29 <nhnt11> I wish there was a way I could review a diff before uploading on Bz :-/
22:45:24 <-- Armada has quit (Connection reset by peer)
22:47:00 <-- mayanktg has quit (Ping timeout)
22:53:52 <flo-retina> hg diff in your terminal ;)
22:55:22 <-- nhnt11 has quit (Ping timeout)
22:56:18 --> nhnt11 has joined #instantbird
22:57:05 * sawrubh goes to sleep
22:57:18 <flo-retina> exactly what I should do too!
22:57:55 * sawrubh hopes a sweet review would be waiting for him when he wakes up :)
23:00:41 <flo-retina> not from me!
23:00:43 <flo-retina> maybe from clokep
23:00:59 * sawrubh is expecting it from clokep only
23:01:17 * flo-retina got 3 review requests during that time
23:01:38 <nhnt11> 2 from me :]
23:08:46 * nhnt11 wonders why his ./mach build took 15 minutes even though he didn't clobber
23:10:09 <-- mconley has quit (Input/output error)
23:13:09 * nhnt11 forgot the s/foo() {/foo()\n{/ change :'(
23:27:38 --> nhnt11-tb has joined #instantbird
23:27:50 <nhnt11-tb> Wow
23:27:52 <nhnt11-tb> Fonts are huge
23:29:18 <nhnt11-tb>  The participants list scrollbar won't stop flickering :S
23:29:29 * nhnt11-tb is glad he tested
23:29:51 <nhnt11-tb> I missed a Services.logs.getLog*
23:32:47 <-- nhnt11-tb has quit (Client exited)
23:35:21 --> nhnt11-tb has joined #instantbird
23:35:35 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:37:49 --> nhnt11-tb has joined #instantbird
23:38:00 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:39:17 --> nhnt11-tb has joined #instantbird
23:39:46 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:41:49 --> nhnt11-tb has joined #instantbird
23:43:19 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:45:12 --> nhnt11-tb has joined #instantbird
23:46:27 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:48:22 --> nhnt11-tb has joined #instantbird
23:50:18 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:52:13 --> nhnt11-tb has joined #instantbird
23:53:00 <nhnt11-tb> Alright so indexing is definitely getting scheduled.
23:53:06 <nhnt11-tb> But it seems to never complete
23:53:14 <nhnt11-tb> So the next job is never scheduled because it waits on the promise forever
23:53:51 <nhnt11-tb> It's not a problem with the promises, I've added several Cu.reportErrors and they all fire correctly
23:54:18 <nhnt11-tb> To clarify my first statement: The /first/ job is scheduled
23:54:35 <nhnt11-tb> Also this participant list scrollbar flickering is really annoying :S
23:55:49 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
23:56:26 * nhnt11 finds an IRC bug
23:56:50 <nhnt11> I don't think it's expected that |/msg  foo| sends the message "foo" to a blank nick?
23:57:44 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
23:58:05 <nhnt11> And gives me |Error: ERR_NOTEXTTOSEND: No text to send for PRIVMSG| which makes me think that the protocol sees PRIVMSG<space><space>foo as a message *to* foo
23:58:20 <nhnt11> Btw |/msg  foo| is with two spaces
23:58:22 * nhnt11 files a bug