All times are UTC.
00:08:27 <clokep> mayanktg: Did you figure out your issues? 00:15:53 <-- Rym has quit (Ping timeout) 00:17:31 --> Rym has joined #instantbird 00:31:31 <-- rosonline has quit (Ping timeout) 00:32:17 --> rosonline has joined #instantbird 00:56:19 <-- Armada has quit (Connection reset by peer) 01:33:28 <-- Mook_as has quit (Quit: Mook_as) 01:50:13 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 01:59:11 <-- xangua has quit (Quit: Connection closed for inactivity) 02:11:13 <-- clokep has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 02:17:56 <-- Rym has quit (Ping timeout) 02:24:57 <-- arlolra has quit (Quit: arlolra) 02:29:54 --> mconley has joined #instantbird 02:45:15 --> Rym has joined #instantbird 02:48:37 <-- mconley has quit (Connection timed out) 02:49:16 --> mconley has joined #instantbird 03:00:00 --> xangua has joined #instantbird 03:21:23 <-- nhnt11 has quit (Ping timeout) 03:22:47 --> nhnt11 has joined #instantbird 03:25:35 <-- nhnt11 has quit (Ping timeout) 03:26:49 --> nhnt11 has joined #instantbird 03:28:39 <-- nhnt11 has quit (Ping timeout) 03:30:08 --> nhnt11 has joined #instantbird 03:36:22 <-- nhnt11 has quit (Ping timeout) 03:36:34 <-- mconley has quit (Input/output error) 03:36:54 --> mconley has joined #instantbird 03:37:51 --> nhnt11 has joined #instantbird 03:45:47 <-- nhnt11 has quit (Ping timeout) 03:46:59 --> nhnt11 has joined #instantbird 04:36:39 --> gerard-majax__ has joined #instantbird 04:39:40 <-- mconley has quit (Connection timed out) 04:40:12 --> mconley has joined #instantbird 04:42:37 <-- mconley has quit (Quit: NO CARRIER) 04:48:33 <-- gerard-majax__ has quit (Ping timeout) 05:32:31 --> Mook has joined #instantbird 06:04:09 <-- EionRobb has quit (Quit: Leaving.) 06:17:02 --> gerard-majax__ has joined #instantbird 06:24:38 <-- gerard-majax__ has quit (Ping timeout) 06:28:09 --> gerard-majax__ has joined #instantbird 06:30:14 <-- gerard-majax__ has quit (Ping timeout) 06:39:47 <-- Mook has quit (Quit: Mook) 06:44:21 <-- Rym has quit (Ping timeout) 07:32:58 --> mpmc has joined #instantbird 07:53:55 --> mayanktg has joined #instantbird 07:58:17 --> gerard-majax__ has joined #instantbird 07:59:57 --> jb has joined #instantbird 08:15:50 --> sonny has joined #instantbird 08:40:52 <mayanktg> clokep: Yes I understood what flo was said, I I need was to pass the JID's of the two clients. Sorry I couldn't respond. I can now send all the three negotiations between the clients. :) 08:43:00 <mayanktg> Here's the negotiation exchange diff http://pastebin.instantbird.com/727037 08:44:45 <mayanktg> and my XMPP WIP until now. http://pastebin.instantbird.com/727038 I'm going to add media exchange 08:53:36 --> BWMerlin has joined #instantbird 09:12:04 <-- sonny has quit (Ping timeout) 09:12:42 --> Guido has joined #instantbird 09:29:11 <-- xangua has quit (Quit: Connection closed for inactivity) 09:30:08 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 09:38:42 --> aleth has joined #instantbird 09:38:42 * ChanServ sets mode +o aleth 09:52:22 --> flo-retina has joined #instantbird 09:52:23 * ChanServ sets mode +qo flo-retina flo-retina 09:52:44 <-- Guido has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 10:01:00 --> clokep has joined #instantbird 10:01:00 * ChanServ sets mode +o clokep 10:05:36 <-- aleth has quit (Ping timeout) 10:06:16 --> sonny has joined #instantbird 10:13:24 --> Armada has joined #instantbird 10:24:05 <nhnt11> Hi 10:25:25 <clokep> Hello. 10:34:26 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 10:34:33 --> nhnt11 has joined #instantbird 10:34:58 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 10:35:06 --> nhnt11 has joined #instantbird 10:52:22 <-- clokep has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 11:00:51 --> aleth has joined #instantbird 11:00:51 * ChanServ sets mode +o aleth 11:06:11 <aleth> mayanktg: In case you didn't know, a simple "conv" in the code will refer to different things in different parts of the codebase. It can be a conversation binding or a UIConv in UI-facing code, or (usually) a prplIConversation in prpl code... 11:07:40 <aleth> mayanktg: I still doubt you should be hardcoding those various ids in your code. 11:07:55 <mayanktg> aleth: Thanks. I didn't know that. 11:08:10 <mayanktg> aleth: Me too. But what should I use instead of that? 11:08:24 <aleth> mayanktg: That's what the XMPP RFCs should tell you ;) 11:09:23 <aleth> They must be generated at some point, but I don't know the details. 11:11:07 <aleth> Maybe it's just a stanza id. 11:11:08 <mayanktg> Ok. I'll try to figure it out. You are right btw, using hardcoded id's will bring conflicts. 11:39:35 --> clokep_work has joined #instantbird 11:39:35 * ChanServ sets mode +o clokep_work 11:53:02 <-- BWMerlin has quit (Quit: BWMerlin) 11:53:20 <-- sonny has quit (Ping timeout) 12:02:58 <-- aleth has quit (Ping timeout) 12:07:40 --> aleth has joined #instantbird 12:07:40 * ChanServ sets mode +o aleth 12:08:00 <clokep_work> mayanktg: So are you stuc now or still making progress? 12:13:36 <mayanktg> clokep_work: I'm making progress. I can send the stanzas . How to send exchange media after receiving the accept stanza? 12:13:47 <clokep_work> Is that a question or a statement? 12:14:22 <mayanktg> a question 12:15:53 <mayanktg> We have to use webrtc for media exchange, so after negotiation how should I call the code at conversation.xml so that stream is started? 12:16:45 <clokep_work> I think flo-retina has better thoughts on this than I do (or maybe aleth) 12:16:52 <clokep_work> (I'm also half asleep still. :-D) 12:17:40 <mayanktg> yeah ..its too morning there :D 12:18:57 <aleth> mayanktg: Speaking very generally, what we do is send a notification which the conversation binding listens to. 12:19:41 <aleth> So the prpl calls this.notifyObservers(...) and in conversation.xml you listen for the new notification in observe() 12:20:00 <mayanktg> aleth: can you show some example? 12:20:02 <mayanktg> aleth: Ok. 12:21:20 <aleth> http://mxr.mozilla.org/comm-central/source/chat/protocols/irc/irc.js#517 12:21:48 <aleth> http://mxr.mozilla.org/comm-central/source/im/content/conversation.xml#1861 12:22:27 <mayanktg> aleth: okiess :) 12:24:04 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 12:24:10 --> nhnt11 has joined #instantbird 12:26:33 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 12:26:39 --> nhnt11 has joined #instantbird 12:27:24 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 12:28:13 --> nhnt11 has joined #instantbird 12:28:21 <flo-retina> mayanktg: I'm confused by the question 12:28:34 <flo-retina> do you already have a PeerConnection instance and a SDP from it? 12:29:05 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 12:29:11 --> nhnt11 has joined #instantbird 12:30:18 <mayanktg> flo-retina: No. Currently I don't have it 12:30:41 <aleth> Oh, I thought that's what you wanted to pass to conversation.xml 12:31:24 <mayanktg> the parties can exchange "stub" media data using "stub" transport. 12:32:11 <flo-retina> what's the meaning of 'stub' in that sentence? 12:33:19 <aleth> Can we break up what is to be done into small landable patches? I'm not sure about the scope of what you're doing. 12:34:07 <mayanktg> flo-retina: XEP-0166 states about using "stub" media http://xmpp.org/extensions/xep-0166.html#howitworks 12:34:54 <aleth> I think you should understand those XMPP ids first before moving on. 12:34:55 <mayanktg> aleth: Ok. I'll have a separate patch for the /call command. 12:35:06 <clokep_work> flo-retina: What looks "broken" about the mode line? 12:35:20 <nhnt11> We were discussing an SMS prpl in #chatdev, 12:35:21 <nhnt11> 18:04:20 - clokep_work: How is an SMS one easy? This also sounds like #instantbird fodder. 12:35:21 <nhnt11> clokep_work: Android provides an API for SMSes (assuming we're talking about android) 12:36:30 <nhnt11> What I would do is instead of having an SMS prpl, write an app to forward SMSes to an XMPP account or something 12:36:47 <nhnt11> (that's what some solutions already do, DeskSMS uses Google Talk through the app engine I think) 12:37:28 <aleth> clokep_work, flo-retina: bug 954855 12:37:31 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=954855 nor, --, ---, nobody, NEW, Improve mode system messages 12:37:46 <-- sukhe has quit (Ping timeout) 12:37:51 <mayanktg> aleth: Ok. I'm unable to get where the ID's meaning has been defined. Whether we have to generate an id or use the same id as given 12:39:30 <aleth> mayanktg: Almost certainly in here http://xmpp.org/rfcs/rfc6120.html 12:40:04 <aleth> e.g. 4.7.3 12:40:29 <mayanktg> Yes. I got it 12:40:39 <aleth> There may be other ids as well, but if I can find this in a couple of seconds, so can you. 12:40:52 <aleth> I mean, the section is even called "id". 12:41:10 <nhnt11> aleth: Why is only the second promise.then(x, x) a use case for finally()? 12:41:12 --> sukhe has joined #instantbird 12:41:19 <clokep_work> nhnt11: I see. That's the cheap way of doing it. ;) 12:41:44 <nhnt11> clokep_work: What's the expensive way? 12:42:01 <nhnt11> Do you mean if the computer has a cell radio? 12:42:18 <clokep_work> nhnt11: I don't mean cheap as in cost, I mean cheap as in "cheating". :P 12:42:29 <nhnt11> clokep_work: What's the fair way? 12:42:58 <mayanktg> aleth: http://xmpp.org/rfcs/rfc6120.html#stanzas-attributes-id . 12:43:23 --> sonny has joined #instantbird 12:43:32 <clokep_work> nhnt11: It was a joke. :-\ 12:43:58 <aleth> mayanktg: OK, so if you read enough of the surrounding text until you are confident you understand it, you should be on your way. 12:44:00 <nhnt11> I get it, but I was wondering if you had another way in mind. 12:44:54 <clokep_work> nhnt11: https://code.google.com/p/purple-gammu/ 12:45:28 <nhnt11> Ah.. 12:45:42 * nhnt11 doesn't like that. I don't want to have to pair my phone or connect it whenever I want to use the prpl... 12:45:54 <aleth> nhnt11: I'm pretty sure a Promise.finally(x) should return a promise which is fulfilled/rejected if the original promise was fulfilled/rejected, independent of what x does (unless there are new errors) 12:46:53 <nhnt11> Hmm, I guess. 12:47:13 <nhnt11> (what I guess is that we don't want that behavior here) 12:48:30 <aleth> Right. 12:48:41 <aleth> Anyway, that was just a comment in passing... 12:48:46 <nhnt11> Sure. 12:50:19 <clokep_work> You asked for another solution. ;) 13:01:46 <nhnt11> aleth: How about moving LogMessage under LogConversation? 13:01:55 <aleth> That would work too. 13:02:06 <nhnt11> Makes more sense to me. 13:02:06 <aleth> or above it. 13:02:37 <nhnt11> aleth: Most object definitions in this file are below the first block that tries to create one of them. 13:02:48 <nhnt11> (Maybe s/most/all) 13:03:27 <aleth> Generally we put the consumers of certain objects under the object definitions, can we reorder things so that that is the case here too? 13:03:33 <nhnt11> Alright 13:04:04 <aleth> e.g. the actual imILogger API functions are at the bottom. 13:05:18 <aleth> Of course there's no hard rules as the goal is to make things conveniently legible. 13:05:38 <aleth> So just go with what makes most sense to you, but don't be afraid to reorder. 13:07:21 * nhnt11 is reordering 13:30:09 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 13:32:05 <nhnt11> aleth: How's this as a combined comment for DailyLogEnumerator and LogEnumerator? https://pastebin.mozilla.org/5331625 13:32:25 <nhnt11> s/array/input array./ in the last line 13:34:43 <aleth> s/maintain and enumerate/provide is simpler 13:34:47 <aleth> otherwise looks fine. 13:39:55 <nhnt11> aleth: I'm also doing s/function foo(aBar)\n{/function foo(aBar) {/ by the way. 13:40:16 <nhnt11> That wasn't very readable. I mean keeping the opening brace on the same line as the function definition 13:40:22 <aleth> OK 13:41:23 <aleth> That file was a bit of a mix of styles... 13:41:54 <clokep_work> Generally we're pretty good, but some of the files mix weird styles. 13:42:09 <clokep_work> And all the IRC code does: "} else" on the same line, which is totally my bad. :-\ 13:42:13 <clokep_work> I should fix that at some point... 13:42:22 --> nhnt11-testing has joined #instantbird 13:49:08 <mayanktg> aleth: *Regarding Id's* - We'd have to use id's which are globally unique so that it can receive response/error. it should not be hard coded in our case. Since it would bring collision if calls were made / another call received in b/w. 13:51:20 <aleth> Yes. 13:51:47 <aleth> Have you looked at how the existing code adds ids? 13:52:04 <mayanktg> aleth: *using XEP 0320* - The XEP explains how to send the SDP setup attribute. But i don't know how to generate a fingerprint for the same. 13:52:40 <aleth> Isn't that a different problem? 13:52:51 <mayanktg> aleth: Yes. It's a different thing. 13:53:32 <mayanktg> No I haven't at looked it. --> searching for it now. 13:56:56 --> flo-retina has joined #instantbird 13:56:56 * ChanServ sets mode +qo flo-retina flo-retina 13:57:02 <aleth> mayanktg: The code you attached in bug 1018060 already handles SDPs. Maybe that code would be more useful to you if you made sure you understood it? 13:57:04 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1018060 nor, --, ---, mayanktg, NEW, Voice and video call support in XMPP using WebRTC 13:57:50 <aleth> Or maybe I'm just not understanding your question the way you mean it. 13:58:29 <-- nhnt11-testing has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 13:58:59 <aleth> It might help if you had an etherpad or a bug comment where you describe in words exactly what the code has to do, from command call to established video link. 13:59:19 <aleth> Without being vague about it. 14:00:21 * nhnt11 is trying to keep track of changes 14:00:30 <nhnt11> Hooray for interdiffs! 14:00:57 <mayanktg> aleth: Ok. I'm creating an etherpad link about the same. 14:10:17 <aleth> mayanktg: If you really need to know about the SDP fingerprints, you just have to dig into the specs. XEP320 tells you the SDP format is defined in RFC4572, that will explain what the fingerprint is exactly. Probably a hash function applied to a cert of some sort. 14:13:23 <aleth> mayanktg: So I think it would help you to put together a kind of flowchart in the etherpad, of how XMPP, Jingle and WebRTC interact. 14:13:31 <mayanktg> aleth: Ok. Yes it given here http://tools.ietf.org/html/rfc4572#section-5 14:15:01 <mayanktg> aleth: Yes. I'll draw a flowchart about the idea I have regarding integrating Jingle and WebRTC. 14:19:50 <aleth> nhnt11: typo: this._entriePaths (I guess you can leave it and see if your tests pick it up ;) ) 14:20:06 <nhnt11> :'( 14:20:15 * nhnt11 removed the s and added Paths 14:26:12 <-- nhnt11 has quit (Ping timeout) 14:27:14 <-- Armada has quit (Ping timeout) 14:27:24 --> Armada has joined #instantbird 14:28:04 --> iamjayakumars has joined #instantbird 14:29:36 --> rosonline has joined #instantbird 14:33:30 <-- aleth has quit (Ping timeout) 14:35:53 <-- sukhe has quit (Ping timeout) 14:37:22 --> aleth has joined #instantbird 14:37:22 * ChanServ sets mode +o aleth 14:39:25 --> sukhe has joined #instantbird 14:45:52 --> nhnt11 has joined #instantbird 14:53:02 <nhnt11> aleth: Want me to post the new patch with s/entrie/entry/ or wait for comments? 14:55:56 <aleth> nhnt11: Put up a new patch if you think you'll forget otherwise, because I'm going to wait with this review until the tests catch up. 14:56:06 <nhnt11> Ah, okay 14:57:47 <aleth> Even if there was anything wrong, I probably wouldn't spot it right now anyway after having looked at it so often recently ;) 14:58:21 <nhnt11> Yeah 14:58:22 <mayanktg> aleth: I have written about how I have understood it so far regarding the implementation. Please look at it https://etherpad.mozilla.org/Ib-Webrtc-XMPP and comment whenever you have doubts. 15:02:29 <aleth> ^^ flo-retina 15:03:24 --> mayanktg-ph has joined #instantbird 15:03:45 <flo-retina> aleth: in meetings. 15:04:25 <-- nhnt11 has quit (Ping timeout) 15:05:47 --> nhnt11 has joined #instantbird 15:06:10 <nhnt11> 20:33:33 * nhnt11 thinks the ^^ emoticon really wants to be ^_^ 15:07:51 <-- nhnt11 has quit (Ping timeout) 15:10:21 --> nhnt11 has joined #instantbird 15:12:41 --> mconley has joined #instantbird 15:13:49 <-- nhnt11 has quit (Connection reset by peer) 15:15:14 --> nhnt11 has joined #instantbird 15:16:58 <-- nhnt11 has quit (Ping timeout) 15:18:12 --> nhnt11 has joined #instantbird 15:19:00 --> Rym has joined #instantbird 15:19:54 <-- nhnt11 has quit (Ping timeout) 15:21:48 --> nhnt11 has joined #instantbird 15:26:54 <-- nhnt11 has quit (Ping timeout) 15:28:04 --> nhnt11 has joined #instantbird 15:29:50 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 15:29:54 --> mpmc has joined #instantbird 15:34:19 <nhnt11> aleth: I'm writing a test to ensure queued operations execute in the order that they are queued 15:34:37 <nhnt11> I'm wondering if it is important to cover all the possibilities of resolution/rejection for each promise 15:35:03 <nhnt11> i.e. If I queue A and B, test all the cases - A fail, B pass, A pass B pass, A pass B fail, A fail B fail 15:36:14 <aleth> Is it more work to do so? ie. can you just loop over the possibilites? 15:36:36 <nhnt11> aleth: currently writing a helper function to do the actual test, then I'll call it with all the combinations 15:40:42 * nhnt11 is using then(x, x) a few more times... ugly :( 15:42:21 <-- nhnt11 has quit (Connection reset by peer) 15:44:44 --> nhnt11 has joined #instantbird 15:44:59 <nhnt11> 21:11:33 - nhnt11: aleth: Would it be okay do define Promise.prototype.finally in the test? 15:44:59 <nhnt11> 21:11:40 - nhnt11: To avoid calling then(x, x) multiple times 15:45:21 <nhnt11> or Promise.prototype.onComplete or something 15:45:45 <aleth> No. 15:46:10 <aleth> That kind of thing is really fragile. Do you want to have to add a test to test your test? 15:46:35 <nhnt11> aleth: I don't want a "real" finally, just a helper for then(x, x) 15:46:49 <aleth> What you can do is define helper functions, i.e. onComplete: (p,x) => p.then(x,x) or something like that 15:46:56 <nhnt11> okay. 15:46:59 <nhnt11> That works. 15:47:00 <nhnt11> Thanks. 15:47:06 <aleth> But extending the prototype of default objects is bad. 15:47:11 <nhnt11> Alright 15:47:17 <nhnt11> (Why?) 15:47:32 <nhnt11> Unpredictability? 15:48:31 <aleth> That, and it's confusing. If you need to extend things the right way to do it is via a Proxy or object.create inheritance. 15:50:12 <nhnt11> ok 15:53:48 <aleth> One problem is for example: assume eventually a Promise.finally lands but behaves slightly differently in edge cases. 15:55:03 <nhnt11> aleth: If we defined it in the test, wouldn't our definition override the one that landed? 15:55:26 <aleth> Do you consider that a plus? 15:55:33 <nhnt11> Nope 15:55:47 <nhnt11> It would be very confusing 15:56:02 <nhnt11> Just saying the test wouldn't break or behave anomalously 15:56:29 * nhnt11 isn't trying to argue in favor of overriding the prototype, sorry 15:58:35 <aleth> I think the word for this kind of thing is "monkey patching" ;) 15:59:57 * clokep_work prefers "duck punching" 16:00:06 <aleth> heh, never heard that one. 16:00:09 <nhnt11> "Duck punching" wut 16:00:19 <-- gerard-majax__ has quit (Ping timeout) 16:00:30 * nhnt11 cannot get the image of a duck getting punched out of his head now 16:03:03 * nhnt11 just discovered "duck typing" 16:05:19 * flo-retina would really like a better UX around joining IRC rooms with passwords 16:07:23 --> CaptainCalliope has joined #instantbird 16:13:06 <-- iamjayakumars has quit (Connection reset by peer) 16:13:44 <-- sonny has quit (Ping timeout) 16:17:27 --> iamjayakumars has joined #instantbird 16:18:31 <aleth> flo-retina: Now we open the tab early it should be possible to display a password entry field there if joining fails. 16:18:43 <flo-retina> yeah 16:19:16 <flo-retina> if joining fails and a password is requested (we have an error code telling us that, right?), we should be able to request the password in the conversation window 16:19:31 <aleth> Right. 16:20:15 <aleth> Certainly doable now, just a bit of work to get all the pieces in place. 16:22:28 <clokep_work> flo-retina: I was just thinking this the other day! :) 16:23:28 <flo-retina> :) 16:32:40 <clokep_work> Ah, is the tree back open!? 16:32:42 <clokep_work> No. :( 16:33:01 <flo-retina> we are still not building on Windows, nor on Linux ;) 16:35:51 <clokep_work> Yeah. 16:37:53 --> gerard-majax__ has joined #instantbird 16:40:23 --> Mook_as has joined #instantbird 16:41:40 --> sonny has joined #instantbird 16:43:15 <-- gerard-majax__ has quit (Ping timeout) 16:43:40 <-- mpmc has left #instantbird () 16:50:08 --> gerard-majax__ has joined #instantbird 17:03:12 <-- mayanktg-ph has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 17:03:19 <-- gerard-majax__ has quit (Ping timeout) 17:03:41 <-- jb has quit (Ping timeout) 17:03:57 --> gerard-majax__ has joined #instantbird 17:06:27 <-- Rym has quit (Ping timeout) 17:06:45 <-- gerard-majax__ has quit (Ping timeout) 17:07:43 --> mpmc has joined #instantbird 17:08:08 --> Rym has joined #instantbird 17:12:12 <-- rosonline has quit (Ping timeout) 17:22:00 <-- mconley has quit (Input/output error) 17:54:19 <-- iamjayakumars has quit (Quit: ) 17:55:56 <-- sonny has quit (Ping timeout) 17:59:54 <clokep_work> nhnt11, mayanktg: You guys chugging away still? 18:00:03 * clokep_work is just going to keep IMing you when I haven't heard anything in a while. :P 18:00:24 <nhnt11> clokep_work: Took a break to get myself some hot chocolate, back on it now. 18:00:34 <clokep_work> (o_O) 18:00:41 <clokep_work> That's like last on my list of things I'd want to drink right now! 18:00:44 <clokep_work> It's very war mhere. 18:00:54 <mayanktg> clokep_work: I was on etherpad chatting with aleth :P 18:01:25 * clokep_work wants that etherpad prpl. ;) 18:01:27 <clokep_work> WHich pad is this? 18:01:37 <mayanktg> https://etherpad.mozilla.org/Ib-Webrtc-XMPP 18:05:38 * flo-retina isn't sure what's going on in that pad 18:06:24 <aleth> Chat that should really have been here, as it turns out. 18:06:52 <-- mayanktg has quit (Ping timeout) 18:07:34 --> mayanktg has joined #instantbird 18:11:43 * nhnt11 sighs 18:11:58 <nhnt11> |TypeError: Assert.equal is not a function| and I've no idea why... 18:12:13 <aleth> dump(Assert) gives? 18:13:43 <nhnt11> http://pastebin.instantbird.com/727466 18:13:46 <aleth> Shouldn't you be using your own assert object? i.e. assert = new Assert 18:14:18 <nhnt11> Well it was working before... 18:14:35 <aleth> Well if it was working before... ;) 18:14:51 * nhnt11 is very very confused 18:15:53 <nhnt11> aleth: Btw, would you rather I used do_check_* instead? 18:16:12 <aleth> I don't mind what you use. Whatever you think is best... 18:16:16 <nhnt11> Alright 18:16:43 * clokep_work is just a dinosaur. ;) 18:18:02 <nhnt11> clokep_work, aleth: Fyi do_check_* is deprecated in gecko 32 18:18:12 <nhnt11> So I'm going to use assert 18:18:31 <-- nhnt11 has quit (Input/output error) 18:18:31 <aleth> Heh. Really? 18:18:35 --> nhnt11 has joined #instantbird 18:18:49 <nhnt11> Yeah 18:18:57 <nhnt11> https://developer.mozilla.org/en-US/docs/Mozilla/QA/Writing_xpcshell-based_unit_tests#Assertions_and_logging 18:19:15 <aleth> As long as that doesn't break all our existing tests ;) 18:19:30 * clokep_work wonders how they "tell" people about this stuff. 18:19:42 <aleth> Eventually all your tests fail? 18:19:42 * nhnt11 could have sworn Assert.foo was working and his tests were passing at one point 18:19:56 <nhnt11> Now I have to rewrite all of these... 18:20:06 <clokep_work> FInd & replace? 18:20:18 <nhnt11> well, not rewrite but figure out whether to have one Assert object or create new ones... 18:21:00 <aleth> Hopefully one per file. 18:22:28 <flo-retina> the debate about replacing do_check_* is still ongoing on dev-platform 18:22:52 <nhnt11> Aha! 18:22:56 <nhnt11> https://hg.mozilla.org/mozilla-central/rev/47db23835754 18:23:05 <nhnt11> That lets you use Assert.equal and so on... 18:23:11 <aleth> Huh, that's recent. 18:23:20 <nhnt11> I'm wondering why mine stopped working 18:23:36 <nhnt11> er, s/mine/it/ and s/working/working for me/ 18:23:56 <Mook_as> Yeah, the deprecation notice jumped the gun a little 18:24:27 * clokep_work wonders how they test Assert. ;) 18:24:27 <nhnt11> Interesting! 18:24:43 <aleth> Maybe you can just use equal()... 18:24:44 <nhnt11> Looks like it used to WFM before because I was importing Assert.jsm 18:24:57 <nhnt11> But now it's not working because... i'm importing Assert.jms 18:24:58 <nhnt11> jsm* 18:24:59 <nhnt11> :D 18:25:07 <aleth> :D 18:25:26 * nhnt11 updated his tree very recently 18:26:12 <nhnt11> Yup 18:26:19 <nhnt11> removing the import for Assert.jsm fixes it :) 18:26:26 <nhnt11> Yay, so I'm not crazy 18:27:00 <aleth> yeah, you should be able to drop the Assert altogether mostly, https://hg.mozilla.org/mozilla-central/rev/47db23835754#l2.147 18:27:18 <nhnt11> Nice! 18:27:44 <nhnt11> Indeed. 18:28:02 --> mconley has joined #instantbird 18:30:00 * nhnt11 's tests passed... can't be a good sign 18:30:49 <clokep_work> SHIP IT! :) 18:31:08 * nhnt11 forgot to do add_task on a couple of tests 18:31:19 <aleth> UNSHIP IT! :) 18:31:22 <nhnt11> Ah, |TypeError: JSON is undefined|. Much more like it.. 18:31:29 <nhnt11> :S 18:31:33 * clokep_work wonders what an unship is. :-S 18:31:43 <clokep_work> What? (o_O) JSON is a global. 18:32:07 <nhnt11> clokep_work: https://images.vesseltracker.com/images/vessels/midres/Un-Marmara-228891.jpg 18:32:09 <nhnt11> scnr 18:33:34 * nhnt11 has no idea why JSON wouldn't be available 18:33:41 <-- Rym has quit (Ping timeout) 18:37:27 <nhnt11> I wonder if JSON is not available from the scope of a Promise... 18:37:36 <nhnt11> (when running an xpcshell test) 18:37:48 * nhnt11 adds dump(JSON) 18:38:15 <nhnt11> "[object JSON]" looks okay.. 18:39:56 <nhnt11> Wow 18:40:10 <nhnt11> I did a dump(Object.keys(JSON)) and I got "JSON is not an object" 18:43:00 <nhnt11> Alright, so Object.keys(JSON) is printing "" 18:43:05 * nhnt11 does research 18:43:08 <aleth> That sounds right. 18:43:12 <clokep_work> It's not an object. 18:43:17 <clokep_work> It's a special global object. 18:44:58 <nhnt11> The full error: https://pastebin.mozilla.org/5333795 18:45:08 <nhnt11> I just saw AsyncShutdown in the last error 18:45:34 <nhnt11> last line* 18:46:24 * nhnt11 is even more confused now 18:46:40 <nhnt11> I added a dump above the offending line, and the dump is working 18:46:41 <nhnt11> BUT 18:46:49 <nhnt11> I'm getting TypeError: dump is not a function 18:47:02 <Mook_as> maybe your global went away? 18:47:29 <-- aleth has quit (Ping timeout) 18:48:57 <nhnt11> This is really weird 18:49:10 <nhnt11> I added a dump(JSON.stringify({test: "test"})); above the offending line 18:49:22 <nhnt11> And it's getting dumped just fine. Yet, "JSON is undefined" 18:49:46 <clokep_work> So I tried fixing that issue with the server password for IRC...and couldn't figure out how a prpl would recover a password from the login manager. :( Any thoughts? 18:49:50 <nhnt11> (This time, no "dump is not a function") 18:50:36 <nhnt11> Oh, the error thrown is because there is a JSON in the dump, so it throws there. 18:51:24 --> gerard-majax__ has joined #instantbird 18:51:24 <nhnt11> Ah, possibility: These dumps are happening in two different calls to the function 18:51:26 <nhnt11> And the first time, it runs fine 18:59:20 * nhnt11 doesn't get it 19:00:05 <nhnt11> I think I'm missing a yield somewhere 19:00:13 <nhnt11> And so there's a promise I'm not waiting on 19:00:26 <nhnt11> And some other code is throwing, causing the globals to be "removed" or whatever 19:00:29 <nhnt11> And the still-running promise then fails 19:00:30 <-- mconley has quit (Input/output error) 19:01:38 <nhnt11> Ah!!!! 19:01:57 * nhnt11 shakes his head vigorously 19:02:44 <nhnt11> aleth: The reason we need to return a promise from logMessage, is because it's required for tests :] 19:03:26 <clokep_work> nhnt11: That definitely needs a comment. ;) 19:03:27 * nhnt11 added that return specifically because he predicted this, but then forgot about it. 19:03:30 <nhnt11> Yeah 19:05:17 <clokep_work> Comments! 19:08:53 --> sonny has joined #instantbird 19:12:40 <nhnt11> Tests are good :) 19:12:42 * nhnt11 found a bug 19:17:57 <flo-retina> :) 19:31:37 * nhnt11 thinks all of his tests are passing 19:31:44 <nhnt11> And actually passing... not false positives :) 19:33:04 <-- sonny has quit (Ping timeout) 19:33:36 --> mconley has joined #instantbird 19:43:55 <nhnt11> brb 19:44:24 <nhnt11> flo-retina: Do you want me to add tests for reading text logs? 19:44:36 <flo-retina> why not? 19:44:49 <nhnt11> no reason. I'll do it. 19:44:51 --> Rym has joined #instantbird 19:46:28 <nhnt11> Writing* text logs rather. 19:46:40 <nhnt11> (reading them isn't done in logger.js) 19:47:26 * nhnt11 has no clue how a text log looks 19:47:35 <nhnt11> brb 19:50:04 <flo-retina> oh, I missed the word "text" in your question 19:50:40 * flo-retina was advocating for *removing* text log writing support, and couldn't care less if it's tested or not 19:50:44 <flo-retina> nhnt11: ^ 19:51:16 <flo-retina> nhnt11: text logs aren't really parsable :-/ 19:54:47 --> sonny has joined #instantbird 19:56:47 <nhnt11> flo-retina: Okay then. I was thinking write one or two messages, have a constant string with the expected file constants and compare... (yuck) 19:57:18 <nhnt11> I've already got a working test for writing a log and then reading it, by the way. 19:57:48 * nhnt11 will upload a patch soon 19:57:50 <flo-retina> you mean JSON this time, right? 19:57:52 <nhnt11> Yes. 19:58:04 * flo-retina uploaded another set of photos: http://queze.net/goinfre/mamie/stdizier2014/anciennes/ 20:00:01 <nhnt11> brb again 20:18:23 --> rosonline has joined #instantbird 20:22:42 <nhnt11> re 20:23:56 <nhnt11> flo-retina: Is there any reason to use mxr over dxr? 20:24:21 <flo-retina> I haven't tried dxr in a while 20:25:06 * nhnt11 has been using it almost exclusively lately 20:25:28 <nhnt11> Is there a difference other than pretty UI? 20:26:05 <nhnt11> "DXR is a semantically-aware successor to MXR." that answers my question I guess 20:29:46 <-- rosonline has quit (Client exited) 20:33:08 --> rosonline has joined #instantbird 20:43:15 <nhnt11> Ah, I just realized I can do promise.then(foo).catch(bar) instead of promise.then(foo, bar) 20:43:18 <nhnt11> Looks a bit nicer :) 20:44:36 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 20:48:57 --> EionRobb has joined #instantbird 20:49:00 <-- rosonline has quit (Ping timeout) 21:02:03 <nhnt11> Yay, gloda already returns promises 21:02:26 <nhnt11> Actually idk 21:02:38 <clokep_work> nhnt11: They're probably different promises somehow. ;) 21:02:45 <nhnt11> Yeah 21:02:59 <nhnt11> I saw yield foo, but that may work for workers too (I have no idea how workers work) 21:04:40 <flo-retina> since when are there workers in gloda? 21:05:16 <flo-retina> they are probably all fake workers, I think gloda is all on the main thread. 21:05:16 <nhnt11> flo-retina: Well I saw "_worker_indexIMConversation" so.. 21:05:48 <flo-retina> that's likely just something a gloda job scheduler somewhere keeps calling until it stops yielding ;) 21:06:07 <nhnt11> flo-retina: Would those yields work with Promises? /me is hopeful 21:06:23 * nhnt11 doubts it 21:06:41 <nhnt11> I'm trying to figure out what aCallbackHandle.pushAndGo returns 21:07:27 <clokep_work> It might if you wrap it in a generator? 21:07:55 <nhnt11> clokep_work: Well yield promise would return the promise and continue when called again, but the calling function would need to wait until the promise resolves 21:08:07 <nhnt11> I have no idea about the behavior of the calling function so.. 21:08:43 <nhnt11> I can't find a way to just wait until a Promise resolves :-/ 21:09:21 <nhnt11> i.e. if an API is made async using promises, it looks like all consumers need to be made async too, and if that consumer is itself an API, well... 21:09:58 * nhnt11 will ask on #maildev 21:10:04 <-- Armada has quit (Connection reset by peer) 21:11:24 <clokep_work> Can't you just yield it in a loop? 21:12:17 <nhnt11> Hmm 21:15:47 <clokep_work> You probably shouldn't listen to me though. :-D 21:17:33 <-- nhnt11 has quit (Ping timeout) 21:17:52 <-- gerard-majax__ has quit (Ping timeout) 21:22:12 --> nhnt11-phone has joined #instantbird 21:22:18 <nhnt11-phone> My internet died :S 21:22:39 <nhnt11-phone> Bah, I'll finish this tomorrow then. 21:23:01 <nhnt11-phone> Good night. 21:23:08 --> nhnt11 has joined #instantbird 21:23:16 <nhnt11> Ah, never mind, it's back.. 21:24:56 <-- nhnt11-phone has quit (Ping timeout) 21:25:18 --> jb has joined #instantbird 21:31:39 <clokep_work> nhnt11: flo-retina should know that code pretty well, hg blame says he wrote it. ;) 21:31:55 <nhnt11> Maybe I should wait till tomorrow then :) 21:32:12 <clokep_work> nhnt11: Maybe spend a few minutes trying to have a good specific question to ask him? 21:32:21 <nhnt11> Ah 21:32:28 <nhnt11> I think I found a way to do it 21:32:31 <clokep_work> :) 21:35:09 <-- clokep_work has quit (Ping timeout) 21:39:45 <nhnt11> Heh, I could use clokep's multiple-patch-exporter at the moment 21:39:49 * nhnt11 just exported 4 patches 21:42:44 <-- flo-retina has quit (Ping timeout) 21:46:51 * nhnt11 is sending some reviews aleth's way 21:50:20 <-- jb has quit (Ping timeout) 21:54:25 <-- CaptainCalliope has quit (Ping timeout) 21:55:12 --> CaptainCalliope has joined #instantbird 21:59:45 <nhnt11> Good night. 22:09:39 <-- CaptainCalliope has quit (Quit: CaptainCalliope) 22:19:30 <-- mconley has quit (Input/output error) 22:52:07 --> rosonline has joined #instantbird 23:18:24 --> clokep has joined #instantbird 23:18:24 * ChanServ sets mode +o clokep